논문 리뷰 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 간의 협업을 한다는 건 꽤 괜찮게 잘 수행될 것 같음. 원칙 대로 절차 대로 하는 것만으로도 대부분의 문제는 해결 가능하지 않을까.
그렇지만 항상 계획대로 되지 않고 장애물을 만나긴 할거임. 이것들을 인간이 잘 해결만 해주면 알아서 잘 수행되지 않을까? 간단한 문제부터 시작해서, 점점 복잡한 문제로.
'Generative AI' 카테고리의 다른 글
Beyond RAG: Scaling long context (0) | 2024.06.21 |
---|---|
Domain-specific LLMs (0) | 2024.06.20 |
Building Agentic RAG with Llamaindex (0) | 2024.06.20 |
Functions, Tools and Agents with LangChain (0) | 2024.06.12 |
What We’ve Learned From A Year of Building with LLMs (0) | 2024.06.11 |