ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Paper Tasting] ChatGPT로 SW 회사를 만들 수 있다고?
    Paper Tasting 2023. 9. 19. 22:46
    • Motive: AI가 서로 협업하여 복잡한 과정을 거쳐야 할 수 있는 일을 하게 만드는 것은 AI를 연구하는 이들에게 꿈과 같은 일이다. ChatGPT로 대표되는 LLM은 이런 지적 능력을 보여주었고, 이 지적 능력을 한단계 더 끌어 올리는 연구가 활발히 이루어 지고 있다. 이를 가능하게 하는 ChatGPT를 이용한 Role Playing의 방법을 이 논문이 보여주고 있다.
    • 논문 제목: [2023] Communicative Agents for Software Development
    • Arxiv 주소: https://arxiv.org/abs/2307.07924
    • 주요 내용 및 평가
      • 앞서 소개한 LLM의 성능을 높이는 방법의 종합판격인 논문. 다양한 역할을 분담한 LLM Agent의 집단(ChatDev)을 만들고, 이들간의 협업 방식을 정의하여 이들이 서로 대화하고 검증하고, 대화의 내용을 요약해가며 하나의 목표(여기서는 Software)를 달성해 나가는 방법을 보여준 논문.
      • 이 논문의 핵심 은 LLM Agent의 협업 체계를 만드는 방식을 제시한 점에 있다. LLM Agent의 역할을 분담시킬 뿐 아니라 일을 진행 시키기 위한 단계를 구성하고 각 단계에 맞는 task-oriented role-play를 구현한 것이다.
      • LLM Multi-agent system을 만드는 일은 communication protocol을 정의하는 것과 interaction dynamics를 최적화하는 것이다.
      • 아직은 가능성일 뿐이고 제한도 많지만 LLM으로 Multi-agent를 구현할 생각이라면 꼭 봐야할 논문 중 하나이다.
    • 기타 참고 사항
      • 이 논문에서 Software 구현에 필요한 LLM Agent들의 개발 방식을 Waterfall model을 채택하였다. 따라서 designing, coding, testing, documenting의 단계를 거치도록 하였으며, 프롬프트를 통해 Agent들이 각 단계에서 해야할 일들과 규칙을 지키도록 하였다.
      • 수행할 작업을 구체적으로 기술하고, Agent간에 상호 검증을 수행하는 것으로 Hallucination을 줄일 수 있다.
      • 이 논문에서 Agent들이 수행한 작업이 SW 개발이므로, 디버깅을 위해 interpreter의 피드백 메시지도 SW 개선 작업에 활용하였다. 즉, 실질적 결과물 창출을 위해서는 LLM만으로는 안되고 외부 모듈과의 연동과정이 필수적일 수 있다.
      • Agent간의 협업에 있어 명령을 내리는 쪽(instructor)과 수행하는 쪽(assistant)를 명확히 구분해야 한다. 예를 들어 프로그램 수정 작업을 할 때 Programmer는 instructor이고, Reviewer는 assistant이다.
      • Role-playing을 통해 각 단계의 목적을 달성하기 위해 고도의 프롬프트 설계가 들어간다. 해야할 일과 역할에 대한 상세한 정의는 물론, 대화 종료 조건이나 하지 말아야 할 행동 등도 Agent들의 프롬프트에 잘 정의되어 있어야 한다.
      • 자신(pseudo self)과의 대화를 통해 그동안 오간 대화를 요약하는 과정인 Self-reflection을 집어 넣었다. 이를 통해 대화가 어느 정도 진척이 되었을 때 결론을 낼 수 있도록 유도하였다.
      • Agent간의 대화 과정에 SW 개발의 Client인 사람의 개입도 가능하다. 이부분도 참 재미있는 점이다.
      • 만든 SW는 오목과 같이 단순한 것이었지만, 이는 Token 길이의 한계일 수도 있다고 언급하고 있다. 이 Token길이의 한계로 인해 Agent간에 오가는 대화의 횟수가 제한되어 긴 대화가 필요한 일은 할 수가 없다.
      • Agent간에 구체적인 대화가 오갈 수록 대화의 turn수가 길어진다.
      • ChatDev를 실행할 때마다 다른 산출물이 나온다고 한다. 결과물의 엄밀한 통제는 아직 어려운 듯. 창의적인 결과물이 필요한 일에 적합할 것 같다.
Designed by Tistory.