개발 창고/Web

[AI] ChatGPT

로이제로 2023. 2. 14. 22:00
반응형

https://openai.com/blog/chatgpt/

 

ChatGPT: Optimizing Language Models for Dialogue

We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. ChatGPT is

openai.com

요즘 AI가 대신 머신러닝을 통해 개발이 가능한 시대가 오고 있습니다.

아래 같이 New chat을 클릭하고 채팅창에 "nodejs로 숫자야구게임 만들어줘"라고 입력하고 엔터 치면

대답과 함께 코딩을 시작합니다.

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

const generateRandomNumber = () => {
  const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
  const result = [];
  for (let i = 0; i < 4; i += 1) {
    const randomIndex = Math.floor(Math.random() * digits.length);
    result.push(digits.splice(randomIndex, 1)[0]);
  }
  return result;
};

const startGame = () => {
  console.log('Guess the 4-digit number:');
  const target = generateRandomNumber();
  let attempts = 0;

  const guess = (answer) => {
    attempts += 1;
    let strike = 0;
    let ball = 0;
    for (let i = 0; i < 4; i += 1) {
      for (let j = 0; j < 4; j += 1) {
        if (target[i] === answer[j]) {
          if (i === j) {
            strike += 1;
          } else {
            ball += 1;
          }
        }
      }
    }
    if (strike === 4) {
      console.log(`Congratulations! You win in ${attempts} attempts`);
      rl.close();
    } else {
      console.log(`${strike} strike(s), ${ball} ball(s)`);
      rl.question('Guess again: ', (newAnswer) => {
        guess(newAnswer.split('').map((d) => parseInt(d, 10)));
      });
    }
  };

  rl.question('Enter your guess: ', (answer) => {
    guess(answer.split('').map((d) => parseInt(d, 10)));
  });
};

startGame();

 

 한글은 영어로 질문하는 거에 비해 응답속도가 느립니다. (아무래도 한글번역하는데 시간이 드는 걸로 보입니다.)

 주로 명령을 전달할 때는 어떤 언어로 무엇을 만들지 좀 더 명확하게 전달해주어야 하는 것 같습니다. 만약 개발언어나 어떤 걸 만들지 정확하게 말해주지 않으면 아래와 같은 결과가 나오기도 합니다.

반응형