논문 리뷰 METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORK


이 논문에서 말하는 META Programming 이란?

  • 프로그래밍을 위한 프로그래밍을 메타 프로그래밍이라고 함.
  • 여기서는 다중 Agent 가 서로의 역할을 가지고 협업을 하면서 문제를 해결해나가는데, 이렇게 Agent 가 해결해나갈 수 있도록 프로그래밍을 하는 걸 Meta Programming 이라고 함.

 

MetaGPT 는 Meta Programming 을 위한 프레임워크임.

  • 서로 간의 Agent 에 다양한 역할(Role) 을 부여한다. (product managers, developers, and QA engineers 등) 각각의 역할을 가진 Agent 가 사람의 협업을 모방해서 주어진 문제를 처리하는거임.
  • 이전에도 채팅 기반의 다중 에이전트 시스템이 있었지만 할루시네이션의 문제로 일관성이 떨어지는 경향이 있었다고 함. 여기서는 이걸 좀 해결한 프레임워크임.

 

Standardized Operating Procedures (SOPs) 를 통해서 Agent 협업을 위해 작업 절차를 세움:

  • SOPs 는 조직이나 팀이 일관되고 효율적으로 작업을 수행할 수 있도록 하는 작업 절차임.
  • SOPs 에서 중간 결과물에 대한 표준을 지정해 놓음으로써 작업 처리의 일관성을 향상 시킴.
  • SOPs 를 통해서 복잡한 작업을 하위 작업으로 나눠서 역할을 가진 Agent 들이 효율적으로 처리할 수 있게도 해준다.

 

SOPs 를 활용한 워크 플로우 예시는 다음과 같을거임.

  • 1) 프로젝트 시작 단계:
    • Agent 의 역할: Project Manager
    • Agent 의 작업: 프로젝트 목표 설정, 요구사항 수집, 초기 계획 수립
    • SOP:
      • 1) 프로젝트 목표를 정의하고 문서화한다
      • 2) 요구사항을 수집한다.
      • 3) 프로젝트 계획을 수립한다.
  • 2) 설계 단계:
    • Agent 역할: 시스템 설계자
    • Agent 의 작업: 시스템 아키텍처 설계
    • SOP:
      • 1) 요구사항을 바탕으로 시스템을 설계한다.
      • 2) 각 모듈의 기능과 인터페이스를 정의한다.
      • 3) 사용할 기술 스택을 결정하고 문서화한다.
  • 3) 개발 단계:
    • Agnet 의 역할: 개발자
    • 작업: 코드 작성, 모듈 개발, 구현
    • SOP:
      • 1) 모듈별로 코딩 작업을 한다.
  • 4) 테스트 단계
    • Agent 의 역할: QA 엔지니어
    • 작업: 테스트
    • SOP:
      • 1) 각 모듈에 대해서 단위 테스트를 작성하고 실행한다.
      • 2) 통합 테스트를 수행한다.
      • 3) 버그를 기록한다.
      • 4) 성능을 측정한다.
  • 5) 배포 단계:
    • Agnet 의 역할: 배포 관리자
    • 작업: 배포 준비, 실제 배포
    • SOP:
      • 배포 환경을 준비하고 필요한 설정을 한다.
      • 코드를 배포한다.

 

SOPs 의 각 작업 단계의 결과물로 인해서 최종적인 작업 수행이 성공할 확률은 높아질거임.

 

 

Conclusion

SOPs 라는 절차를 통해서 Agent 간의 협업을 한다는 건 꽤 괜찮게 잘 수행될 것 같음. 원칙 대로 절차 대로 하는 것만으로도 대부분의 문제는 해결 가능하지 않을까.

 

그렇지만 항상 계획대로 되지 않고 장애물을 만나긴 할거임. 이것들을 인간이 잘 해결만 해주면 알아서 잘 수행되지 않을까? 간단한 문제부터 시작해서, 점점 복잡한 문제로.

+ Recent posts