- AI Dev - 인공지능 개발자 모임
- 정보공유
- 챗봇 딥러닝
ChatGPT는 코딩을 작성하는 능력도 있습니다. 하지만 전체 코드를 한 번에 생성하면 code hallucination 때문에 대부분 실행이 안되곤 합니다. ChatDev는 이를 해결하기 위해 CoT처럼 전체 업무를 단계별로 나누었습니다.
먼저 실제 개발처럼 디자인, 코딩, 테스트, 문서화로 구분했습니다. 또한 CEO, CTO, CPO, Programmer, Designer, Reviewer, Tester 등의 페르소나를 부여하여 LLM으로 각각 역할을 지정합니다. 그리고 Chat Chain이라는 방식으로 서로 대화를 통해 협업하여 최종 제품을 개발합니다. 디자이너는 text2img 모델로 실제 이미지를 생성하고 프로그래머가 이를 코드에 적용합니다.
다양한 프로그램을 작성했는데 39~359 라인, 평균 131 라인의 코드를 만들었습니다. 86%의 코드가 실행이 가능했습니다. 14%의 오류 중 절반은 ChatGPT의 맥스 토큰이 넘어가서 발생한 것이었습니다. 나머지는 함수의 버전이 다르거나 라이브러리 의존성(dependency) 문제였습니다.
생성 에이전트가 나온지 몇 달 되지 않았는데, 벌써 비슷한 방식의 응용분야가 새롭게 등장하고 있습니다. 핵심은 멀티 에이전트 협업(multi-agent collaboration)입니다. 제가 대학원 때인 2000년대 초반에도 멀티 에이전트가 유행이었습니다. 서로 협력하여 동작하는 축구 로봇들이 대표적이었죠. 하지만 당시에는 이를 구현하기가 매우 까다로웠습니다. 에이전트끼리 통신하기 위한 규약을 사람이 모두 설계해야 했으니까요. 룰베이스 AI처럼 한계에 부딪칠 수밖에 없었습니다.
지금은 LLM이 그 문제를 단번에 해결했습니다. LLM끼리 대화를 통해 서로 정보를 주고받으면 됩니다. 앞으로 LLM은 단독으로 동작하기 보다는 이렇게 여러 LLM이 역할을 분담하여 협업하는 방식으로 발전할 것입니다. 사람들처럼 AI끼리 서로 의논하고 도우면서 말이죠. LLM도 하나가 아니라 다양한 종류의 LLM들을 섞어서 쓰는게 더 효과적일지 모릅니다. AutoGPT, 생성 에이전트, ChatDev, 그 다음은 또 무엇이 나올까요.
< Communicative Agents for Software Development >
- https://arxiv.org/abs/2307.07924