업계 뉴스레터
전문가의 인사이트를 바탕으로 한 최신 기술 뉴스
Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.
구독한 뉴스레터는 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
ChatDev는 대규모 언어 모델(LLM)으로 구동되는 전문 지능형 에이전트 팀을 통해 다중 에이전트 협업을 구현하는 오픈 소스 에이전트 프레임워크입니다. 각 AI 에이전트는 소프트웨어 개발 수명 주기의 핵심 단계에서 협업을 통해 소프트웨어 애플리케이션을 자율적으로 생성하고 생산하도록 오케스트레이션되어 있습니다.
ChatDev는 조직 환경 안에서 다양한 역할을 수행하는 지능형 에이전트들을 통해 운영되는 가상 소프트웨어 회사를 시뮬레이션합니다. 이 에이전트들은 소프트웨어 개발 프로세스를 간소화하는 데 도움이 되는 기능 세미나에 참여하여, 협업할 수 있는 다중 에이전트 조직 구조를 형성합니다. ChatDev는 개발 프로세스를 설계, 코딩, 테스트, 문서화 단계로 나누는 소프트웨어 개발 수명 주기 모델로 널리 채택된 "워터폴" 모델에 AI를 적용합니다. 전문 에이전트가 협력하여 각 단계를 완료합니다.
ChatDev의 주된 목표는 맞춤 설정과 확장이 가능한 에이전틱 LLM 오케스트레이션 프레임워크를 제공하고 집단 지성을 연구하기 위한 이상적인 시나리오 역할을 하는 것입니다. 집단 지성은 복잡한 과업을 수행함에 있어 집단의 힘으로 개인을 역량을 넘어서는 효과적인 협업 방식입니다. 집단 지성을 수행하는 보편적인 방식은 개인을 목적과 이성을 가지고 행동하고 환경에 적응하는 개체로 정의합니다.1 ChatDev와 같은 에이전틱 프레임워크에서는 이러한 지능형 개체를 에이전트라고 합니다.
AI와 머신 러닝 분야의 집단 지성 애플리케이션에는 다중 에이전트 시스템(MAS)이라고 하는 집단 지성 시스템이나 프레임워크가 있습니다. MAS는 단일 에이전트의 능력이나 지식으로 역부족인 문제를 해결하기 위해 협력하는 문제 해결 개체 또는 상호 연결된 에이전트 네트워크라고 설명할 수 있습니다.2
다중 에이전트 시스템과 같은 AI 툴은 집단 지성(COIN) 설계에 대한 접근 방식입니다. COIN은 중앙 집중식 의사소통이나 제어가 최소화되거나 전혀 없는 광범위한 다중 에이전트 시스템입니다. 시스템 전체의 잠재적 기록을 평가하는 월드 유틸리티 함수가 특징입니다.3 MAS 영역은 시스템 내 에이전트들의 상호 작용과 개별 에이전트 자체의 구성을 다룹니다. MAS를 설계하는 방법은 다양하며 핵심 목표는 구성 요소의 작업을 통해 작업 전반을 완수하는 것입니다.
업계 뉴스레터
Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.
구독한 뉴스레터는 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
실제 기능하는 MAS 설계에서 가장 어려운 단계 중 하나는, 에이전트들이 전체적인 작업에 협력하도록 조정하는 것입니다.4 효과적인 협업을 위해서는 개인의 작업 해결 능력, 참여하는 개개인의 일사불란한 상호 작용이 모두 필요합니다.5 MAS 환경을 계획할 때는 다음 사항을 고려해야 합니다.
설계 과정의 이 난제에 접근하는 한 가지 방법은 다중 에이전트 협업을 통해 팀워크를 명시적으로 모델링하는 것입니다.
다중 협업 설계 패턴은 복잡한 프롬프트를 분해하고 추상화된 작업을 에이전트에 위임하여 전문적인 역할에 따라 작업을 실행합니다.7 예를 들어 ChatDev는 협업을 위한 의사소통을 촉진하기 위해 ChatChain이라는 이중 에이전트 의사소통 설계를 사용합니다.
ChatDev와 같은 프레임워크는 텍스트 생성을 위한 탁월한 자연어 처리 능력 이상으로 LLM의 기능을 확장합니다. ChatDev는 다양한 사회적 역할(예: 소프트웨어 엔지니어, 최고 기술 책임자, 최고 경영자, 디자이너, 테스터)을 가진 여러 협업 에이전트를 프롬프트하고 평가하는 오케스트레이션 기술을 통해 LLM을 다재다능한 에이전트로 포지셔닝합니다.
각 에이전트는 자신의 전문 역할을 사용하여 소프트웨어 개발 수명 주기의 핵심 단계에서 공동으로 작업합니다. 이 프로세스는 전문 역할을 맡은 에이전트들이 광범위하게 의사소통을 하며 자연어로 된 요구 사항을 이해하고 분석하는 것, 프로그래밍 언어를 사용하는 개발과 디버깅 등으로 이루어집니다. ChatChain을 이루는 단계들은 에이전트의 역할과 프롬프트에 따라 자연어와 프로그래밍 언어 모두에서 다양한 수준의 참여를 갖습니다.
ChatDev의 에이전트는 역할 수행과 시작 프롬프트를 가이드로 삼아 작업을 완료합니다. 시작 프롬프팅은 에이전트가 역할 수행을 통해 서로 메시지를 주고 받으면서 작업을 해결하게 하는 대화형 LLM 자동 프롬프팅 방법입니다.8
ChatDev는 하위 작업 단계 각각의 시작 부분에 프롬프트 엔지니어링을 적용합니다. ChatChain은 작업 해결 프로세스 정의에 뛰어나지만, 추가 프롬프트나 가드레일 없이 단순히 응답을 교환하는 에이전트는 멀티 라운드 작업 중심 의사소통에 효과적이지 않습니다. 의사소통을 생산적으로 진행하고 역할 뒤집기, 지시 반복, 가짜 응답 같은 문제를 예방하기 위해 ChatDev는 시작 프롬프팅 메커니즘을 사용합니다.
시작 프롬프팅 메커니즘은 LLM이 인스턴스화될 때 지시자와 보조자 시스템 프롬프트로 최면을 겁니다. LLM에 최면을 건다는 게 부정적으로 느껴질 수 있지만(모델을 조작하는 데 악의적으로 사용될 수 있음) 이 경우는 역할 수행 에이전트에게 효과적으로 프롬프트를 보내는 방법입니다. 프롬프트에는 LLM으로 하여금 에이전트에게 협업 역할을 수행하고 지침을 따르는 방법을 안내할 수 있도록, 유용한 작업과 역할이 지정됩니다.
각 역할에 대한 초기 프롬프트는 에이전트가 역할 뒤집기 없이 적절한 응답을 제공할 수 있도록 합니다. 시스템에서의 두 역할을 위한 프롬프트는 거의 동일하며, 현재 진행 중인 하위 작업의 개요와 목표, 특수 역할, 외부의 가용 툴, 의사소통 프로토콜, 종료 조건과 제약 조건 또는 요구 사항을 다룹니다.9 이 메커니즘은 LLM 가드레일처럼 작동하여 응답 품질을 향상시키고 인간 개입의 필요성을 줄입니다.
에이전트들 간에 협력을 위한 의사소통이 적절하게 이루어지도록, ChatDev는 ChatChain이라는 에이전트 워크플로를 도입해서 각 단계를 더 관리하기 쉬운 하위 작업으로 세분화합니다. 이 프로세스는 서로 다른 역할 간의 멀티턴 소통을 가이드해 각 하위 작업에 대한 솔루션을 제안하고 검증합니다. 에이전트는 의사소통 할루시네이션 해소라고 하는 메커니즘을 통해 관리됩니다. 이는 예상치 못한 할루시네이션을 완화하기 위한 의사소통 패턴을 말합니다. 이 메커니즘이 있으면 에이전트가 응답을 바로 하지 않고 더 자세한 정보를 요청한 다음, 세부 정보를 기반으로 소통을 이어갑니다.10
ChatDev는 역할과 환경 안에서 행동하는 개별 에이전트의 상호 작용을 연구하기 위한 브라우저 기반 시각화 도우미를 제공합니다. 이 인터페이스는 다중 에이전트 시스템 설계 자체를 조사하는 기능을 제공합니다. 사용자는 에이전트가 개별적 능력을 넘어서는 종합적 작업을 완성하기 위해 힘을 합치도록 하는 인위적인 협력 구조를 볼 수 있습니다.
ChatChain은 에이전트 워크플로를 따라 작업 해결 프로세스를 단순화하는 이중 에이전트 의사소통 설계를 따릅니다. 에이전트 설계 패턴은 소프트웨어 개발 프로세스를 디자인, 코딩, 테스트의 순차적 3단계로 나누는 것에서 시작됩니다. 코딩과 테스트 단계는 코드 작성과 완성, 코드 검토(정적 테스트), 시스템 테스트(동적 테스트)의 하위 작업으로 더 잘게 나뉩니다.
ChatChain 안에서 이루어지는 의사소통의 각 단계는 지시자 에이전트 하나와 보조자 에이전트 하나로 구성됩니다. 각 하위 작업에서 서로 다른 전문 역할(예: 검토자와 GUI 디자인 개발자)을 가진 에이전트 2개가 지시자와 보조자 역할을 각각 수행합니다. 지시자 에이전트가 작업 완료를 위한 지시를 내리면, 보조자 에이전트가 이를 따르며 적절한 솔루션으로 응답합니다.11 에이전트는 작업이 완료되거나 합의에 도달할 때까지 멀티턴 대화에 주고받습니다. 의사소통 단계에서 도출된 솔루션은 텍스트(예: 애플리케이션에서 원하는 기능에 대한 설명)부터 코드(예: 초기 소스 코드)까지 다양합니다.
이 에이전틱 워크플로는 복잡한 다중 에이전트 토폴로지를 지양하고 합의 프로세스를 효과적으로 간소화시켜 의사소통의 능률을 키웁니다.12 이 방식에서는 이전 작업의 솔루션이 다음 단계로 가는 다리 역할을 하기 때문에 하위 작업들 간의 전환이 원활하게 이루어집니다. 이 워크플로는 모든 하위 작업이 완료될 때까지 계속되고 그 과정에서 에이전트를 안내합니다. 워크플로의 체인 스타일 구조는 자연어와 프로그래밍 언어 하위 작업을 연결하여 에이전트가 무엇을 전달해야 하는지 효과적으로 안내합니다. ChatChain은 MAS 설계에서 가장 어려운 문제인 에이전틱 협력에 대한 해결안 중 하나입니다.
ChatChain은 기본 설정을 사용하여 다음 순서로 소프트웨어를 생성합니다.
LLM 할루시네이션은 모델이 부정확하거나 무의미한 아웃풋을 생성할 때 발생합니다. 코딩 할루시네이션은 프로그래밍 관련 작업을 수행하는 모델의 아웃풋에 영향을 미치는 일종의 할루시네이션입니다. ChatDev의 연구원들은 어시스턴트 기능을 수행하는 에이전트가 정확한 지시를 따르기 위해 고군분투할 때 할루시네이션이 자주 나타난다는 사실을 발견했습니다.13 보조자는 일반적으로 여러 번의 후속 상호 작용과 조정이 필요한 모호함으로 인해 지침을 준수하는 데 어려움을 겪습니다. 바람직하지 않은 아웃풋을 피하기 위해 ChatDev는 의사소통 할루시네이션 제거를 도입합니다.
의사소통에서 발생하는 할루시네이션을 해소하기 위해서는, 공식 답변이 제공되기 전에 보조자로 하여금 지시자에게 더 상세한 제안을 적극적으로 요청하도록 프롬프트합니다.14 보조자는 지시자와 비슷한 역할을 맡아서 더 많은 정보(예: 외부 종속성의 정확한 명칭, 변경 사항을 커밋할 GitHub 리포지토리)를 선제적으로 찾고, 답변을 전달하기 전에 의도적인 "역할 반전"을 수행합니다. 보조자는 지시자가 수정된 내용을 답변한 다음에 정확한 최적화를 수행합니다. 이러한 의사소통 패턴은 에이전트에게 소통 방식을 지시하여, 세분화된 정보를 교환하면서 코딩 할루시네이션을 줄입니다.
ChatDev의 Visualizer는 사용자가 실시간 로그, 재생된 로그, ChatChain을 볼 수 있는 로컬 웹 데모를 실행하는 Python 앱입니다. 각각에 대한 개별적 로그 뷰어 3개를 제공합니다.
Visualizer는 생성된 소프트웨어 애플리케이션에 대해 에이전트 간의 대화를 자연어로 표시하는 다시 보기 페이지도 제공합니다.
ChatDev의 에이전틱 디자인 패턴 개념은 복잡한 작업을 처리하는 특화된 전문 AI 에이전트를 제외하면 전문가들의 혼합체와 같습니다. 전문 에이전트들의 협업을 조정하는 데 오케스트레이션 시스템이 필요합니다.
이러한 오케스트레이션의 기반은 OpenAI의 GPT 모델과 같은 사전 학습된 트랜스포머 모델입니다.15 IBM의 granite 시리즈 같은 파운데이션 모델을 사용하여 에이전트에게 강력한 언어 기능을 제공하고 특수 기능을 부여할 수도 있습니다. 예를 들어 Granite Code는 매개변수 크기 3B~34B의 모델 제품군으로, 116개의 프로그래밍 언어를 훈련 받았습니다. 이 제품은 소프트웨어 개발에 소통형 에이전트를 사용하려는 에이전틱 프레임워크에 유용합니다. 이 글을 쓰는 시점에서 ChatDev는 OpenAI의 GPT-3.5-turbo 및 GPT-4 모델을 지원하여 지능형 에이전트를 강화합니다.
ChatDev는 다중 에이전트 협업 네트워크(MacNet)를 통해 LLM 기반 다중 에이전트 협업을 확장하는 방법을 구현하고 있습니다. MacNet은 뉴런 증가가 새로운 능력으로 이어진다는 의미의 신경 확장 법칙에서 착안했습니다.16 ChatDev는 다중 에이전트 협업에서 에이전트를 늘리는 데 적용되는 유사한 원칙을 제안합니다.
MacNet은 비순환 그래프를 사용하여 에이전트를 구조화하고 위상 순서를 통해 대화형 추론 능력을 키웁니다. 솔루션은 에이전트의 상호 작용에서 도출됩니다. 이 프로세스는 기본 모델보다 뛰어난 성능을 지속적으로 보여주어 다양한 네트워크 토폴로지에서 에이전트 간의 효율적인 협업을 촉진하고 천 개 이상의 에이전트 간의 협업을 수용합니다. 이 애플리케이션을 통해 ChatDev는 협업의 확장 법칙을 파악했습니다. 에이전트 수가 증가함에 따라 솔루션 품질이 로지스틱 성장 패턴으로 향상된다는 것이었습니다.
멀티 에이전트 시스템은 모든 능력을 단일 모델로 포함하려고 하지 않고, 여러 전문 에이전트에게 작업을 분배합니다. 에이전트는 동일한 언어 모델이나 다른 언어 모델을 사용할 수 있어 광범위한 작업을 수행할 잠재력이 있습니다.
ChatDev는 다른 LLM 기반 소프트웨어 개발 오케스트레이션 프레임워크 2개(GPT-Engineer와 MetaGPT)와 성능을 비교하는 인기 논문에서 평가를 수행했습니다. 지표의 기준은 완전성, 실행 가능성, 일관성, 품질이었습니다. ChatDev와 MetaGPT는 단일 에이전트 오케스트레이션 접근 방식인 GPT-Engineer를 능가하면서, 복잡한 작업은 단일 단계 솔루션으로 해결하기가 더 어렵다는 것을 보여주었습니다. 이 결과는, 복잡한 작업을 좀 더 관리하기 쉬운 하위 작업들로 나누면 작업을 더 효율적으로 완료할 수 있음을 보여줍니다.
ChatDev는 자연어와 프로그래밍 언어를 모두 사용하는 에이전트의 협업 의사소통 덕분에 지표에서 MetaGPT를 크게 앞질렀습니다. 효율적인 의사소통이 가능한 에이전트는, 일반적으로 수동으로 설정된 최적화 규칙과 관련있는 제한을 극복하여 하위 작업 수행을 이끌었습니다.17 이 결과는 의사소통 및 협업 에이전트를 사용하는 다중 에이전트 프레임워크가 더 다재다능하고 적응 가능한 기능을 제공한다는 것을 보여줍니다.
GPT-Engineer – 소프트웨어 애플리케이션을 구축하기 위한 단일 에이전트 오케스트레이션 프레임워크. 사용자는 AI에게 원하는 소프트웨어 기능을 갖춘 애플리케이션을 구축하도록 프롬프트하고 시스템과 소통하여 개선하거나 업데이트할 수 있습니다.18 간단한 벤치마킹 인터페이스가 포함된 시스템에 설치된 bench' 바이너리를 통해 자신의 에이전트 구현을 인기 있는 데이터 세트와 비교해 벤치마크할 수도 있습니다.
MetaGPT – 협업 소프트웨어 개체로서 작동하는 다중 에이전트 프레임워크입니다. GPT 모델에 다양한 역할을 수행하는 에이전트를 할당해서 복잡한 작업을 완수합니다. ChatDev와 마찬가지로 에이전트는 소프트웨어 기업과 비슷한 가상 환경에서 다양한 역할을 유지합니다. 또한 MetaGPT는 신중하게 오케스트레이션된 표준 운영 절차를 사용해 소프트웨어를 생성합니다.
crewAI – crewAI는 LangChain에서 작동하는 오픈 소스 다중 에이전트 프레임워크입니다. LLM 애플리케이션과 관련된 워크플로 및 작업을 처리하는 팀으로 자율 AI 에이전트들을 조직합니다. cruAI는 모든 LLM과 통합됩니다.
AutoGen – Microsoft의 오픈소스 다중 에이전트 대화 프레임워크는 파운데이션 모델의 고급 추상화를 제공합니다. AutoGen은 다중 에이전트를 사용하여 대화하고 작업을 처리하는 에이전트 기반 프레임워크입니다. 주요 기능으로는 다양한 LLM 애플리케이션을 구축하게 해주는 적응형 패턴을 사용해 다중 에이전트 대화에 참여하는, 사용자 정의 가능한 AI 에이전트가 있습니다.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.