이 튜토리얼에서는 에이전트 커뮤니케이션 프로토콜(ACP)을 사용하여 BeeAI 및 crewAI와의 실시간 에이전트 협업을 시연하는 크로스 플랫폼 AI 워크플로인 다중 에이전트를 살펴봅니다. ACP는 서로 다른 프레임워크의 에이전트가 사용자 지정 통합 논리 없이 커뮤니케이션하고 조정할 수 있도록 하는 공유 개방형 표준 메시징 계층 역할을 합니다.
ACP는 팀이 다양한 플랫폼, 도구 및 인프라에서 에이전트와 워크플로를 구축해야 하는 엔터프라이즈 AI 환경에 특히 유용합니다. ACP는 표준화된 메시징 계층을 제공함으로써 최신 엔터프라이즈 AI 시스템의 요구 사항을 충족하는 확장 가능하며 안전한 모듈식 에이전트 협업을 가능하게 합니다.
이 프로젝트는 AI 기반 에이전트가 프레임워크 사일로 간에 협업할 수 있도록 하고 연구, 콘텐츠 생성 및 피드백과 같은 능력을 통합 워크플로로 결합하여 에이전트 상호 운용성을 입증합니다.
대부분의 에이전틱 AI 프레임워크는 사용자 지정 또는 폐쇄형 시스템을 사용하여 커뮤니케이션을 처리합니다. 이 아키텍처는 특히 서로 다른 AI 시스템의 구성 요소를 결합할 때 도구 체인, 팀 또는 인프라 전반에 걸쳐 에이전트를 연결하기 어렵게 만듭니다.
ACP는 자율 에이전트가 메시지를 보내고, 받고, 해석하는 방법에 대해 표준화된 프레임워크 독립적인 메시징 형식을 도입합니다. 메시지는 일반적으로 JSON으로 구조화되어 있으며 명확하고 일관성 있게 에이전트 상호 작용을 강화하는 메타데이터를 포함합니다.
ACP는 에이전트의 내부 논리에서 커뮤니케이션을 분리함으로써 팀이 사용자 지정 통합 코드 없이도 BeeAI, CrewAI, LangChain 또는 LangGraph와 같은 AI 에이전트 프레임워크로 구축된 에이전트를 믹스 앤 매치할 수 있도록 지원합니다. 이 접근 방식은 확장성을 높이고 자동화를 단순화하며 최신 산업 표준에 부합하는 모듈식의 투명한 시스템 설계를 지원합니다.
이 튜토리얼이 끝나면 ACP의 실제 예시를 보고 다음 기술을 직접 사용해 볼 수 있습니다.
이 프로젝트는 ACP(acp-sdk를 통해)가 에코시스템 전반에 걸쳐 일관되고 관찰 가능한 협업을 간소화하는 방법을 보여주는 다중 에이전트 워크플로를 보여줍니다.
워크플로는 사용자가 URL을 제공할 때 시작됩니다. 이후에는 프레임워크에 독립적인 모듈식 전문 에이전트 시스템이 웹페이지 콘텐츠를 전문가 스타일의 비평과 함께 독창적인 결과물, 즉 오리지널 곡으로 변환합니다. 모든 구성 요소는 함께 작동하여 이러한 아웃풋을 사람이 읽을 수 있는 하나의 통합 마크다운 보고서로 결합합니다. 이 최종 결과물은 원본 데이터를 완전히 변형하여 창의적인 생성과 분석적 인사이트를 결합한 것입니다.
이 작곡 워크플로에서는 ACP를 통해 다중 에이전트인 에이전틱 AI 시스템이 시스템 전반에서 공유 커뮤니케이션 계층 역할을 하는 BeeAI와 crewAI라는 두 개의 서로 다른 프레임워크로 개발된 에이전트 간의 협업을 조정하는 방법을 설명합니다.
커뮤니케이션과 구현을 분리함으로써 시스템은 모듈식과 확장 가능성을 유지하여 프레임워크 전반에 걸쳐 에이전트를 조율하는 동시에 구조화되지 않은 웹 콘텐츠에서 응집력 있는 엔드투엔드 아웃풋을 생성할 수 있습니다.
ACP 에이전트
이 프로젝트는 4개의 전문 AI 에이전트를 사용합니다.
작곡 및 비평 프로젝트 워크플로
워크플로 전체에서 에이전트 간에 교환되는 메시지는 메타데이터로 강화된 JSON 개체로 구성됩니다. 이 메타데이터는 메시지 내용, 컨텍스트 및 예상 응답에 대한 각 에이전트의 이해를 안내합니다.
이 워크플로는 데이터 변환 및 분석 파이프라인을 조율해야 하는 모든 사용 사례에 적용할 수 있는 재사용 가능한 패턴을 보여줍니다.
ACP는 서로 다른 프레임워크로 구축된 에이전트가 표준화된 방식으로 정보를 교환할 수 있도록 하는 공통 메시징 시스템을 제공합니다. 이 개방형 프로토콜을 통해 에이전트는 사용자 지정 통합이나 내부 논리 공유 없이 상호 운용할 수 있습니다.
ACP 클라이언트(
ACP 클라이언트 워크플로 개요
함수
주요 역할
클라이언트 사용 예시:
이 프로젝트를 실행하기 위한 시스템 요구 사항은 다음과 같습니다.
시작하기 전에 필요한 도구 및 공급자 서비스에 대한 간략한 개요는 다음과 같습니다.
다음 목록에서는 워크플로에 필요한 기본 프레임워크, 플랫폼 및 API를 다룹니다.
다음 섹션에서는 환경을 설정할 수 있도록 각 도구 및 공급자를 설치, 구성 및 사용하는 방법에 대한 단계별 지침을 찾을 수 있습니다.
BeeAI와 crewAI는 모두 다양한 언어 모델 공급자와 함께 작동하도록 설계되어 다양한 환경과 사용 사례에 유연하게 대응할 수 있습니다. 이 튜토리얼에서OpenRouter는 BeeAI 에이전트의 LLM 공급자이고,Ollama는 로컬 crewAI 에이전트에 사용됩니다.
두 프레임워크는 모두 공급자에 독립적이므로 구성 설정을 업데이트하여 다른 LLM 서비스로 전환할 수 있습니다. 선택하는 LLM 공급자에 따라 설정이 다를 수 있습니다. 또한 이 튜토리얼에는 IBM watsonx.ai를 대체 클라우드 기반 공급자로 사용하기 위한 사전 구성된 옵션 설정이 포함되어 있습니다.
선호하는 LLM 공급자 및 모델을 사용할 수도 있지만, 이 튜토리얼에 표시된 구성만 테스트되었음을 유의하세요. 다른 공급자 및 모델은 추가 설정 또는 조정이 필요할 수 있습니다.
이 프로젝트에서 지원되는 세 가지 공급자에 대한 요구 사항은 다음과 같습니다.
클라우드 기반 언어 모델과 함께 사전 구성된 BeeAI 에이전트 서버를 사용하려면 OpenRouter API 키가 필요합니다.
OpenRouter를 BeeAI 에이전트의 LLM 공급자로 사용하려면 다음 단계를 따르세요.
참고: 무료 모델은 이 튜토리얼을 실행하는 시점에 따라 다를 수 있습니다. 무료 모델을 보려면 OpenRouter 무료 티어 모델 목록를 확인하세요.
Ollama를 crewAI 에이전트의 LLM 공급자로 사용하려는 경우 다음 단계를 따르세요.
IBM watsonx.ai를 crewAI 서버의 LLM 공급자로 사용하려면 다음 단계를 따르세요.
IBM watsonx.ai는 이 튜토리얼에서 crewAI 에이전트를 위한 선택적 클라우드 LLM 공급자로 사용됩니다.
AgentOps는 다중 에이전트 워크플로를 추적, 모니터링 및 시각화하는 선택적 서비스입니다.
이 프로젝트에서 AgentOps를 사용하려면 다음 단계를 따르세요.
AgentOps는 워크플로를 실행하는 데 필요하지 않지만 에이전트 활동을 모니터링하고 다중 에이전트 상호 작용을 디버깅하는 데 도움이 될 수 있습니다.
이 프로젝트를 실행하려면 https://github.com/IBM/ibmdotcom-tutorials.git를 HTTPS URL로 사용하여 GitHub 리포지토리를 복제합니다. 리포지토리 복제 방법은 GitHub 문서를 참고하세요.
이 튜토리얼은 리포지토리의 프로젝트 디렉토리에서 찾을 수 있습니다.
터미널 내부에서 이 튜토리얼의 디렉토리로 이동합니다.
이 프로젝트에서는 다중 에이전트 시스템의 각 구성 요소에 대해 3의 별도 Python 스크립트를 동시에 실행해야 합니다. 결과적으로 3개의 터미널 창이나 탭을 열어야 합니다.
현재 터미널을 열어둔 상태에서 2개의 터미널을 더 열고 3개 모두 올바른 디렉토리로 이동하는지 확인합니다(다음 단계에서 확인 가능).
IDE를 사용하시나요?
Visual Studio Code*와 같은 IDE를 사용하는 경우 터미널 분할 기능을 사용하여 여러 터미널을 나란히 관리할 수 있습니다.
그렇지 않으면 독립 실행형 터미널 창 3개를 열고 각각 적절한 하위 디렉토리로 이동합니다.
터미널 탐색
각 터미널은 다음 구성 요소 중 하나를 담당합니다.
각 구성 요소는 깨끗한 종속성 관리를 보장하기 위해 자체 가상 환경에서 실행됩니다. 이 튜토리얼에서는 Rust 기반 Python 패키지 관리자인 UV를 사용하여 환경을 관리하고 동기화합니다.
참고: 계속 진행하기 전에 Python 3.11 이상이 설치되어 있는지 확인하세요.
UV 설치
아직 설치하지 않았다면 Homebrew를 사용하여 UV를 설치합니다(macOS 및 Linux에 권장).
Windows 사용자를 위한 참고 사항: WSL(Linux용 Windows 하위 시스템)을 설치하고 WSL 터미널 내에서 Linux 지침을 따릅니다.
가상 환경 생성 및 활성화(각 터미널에서)
각 터미널(BeeAI, crewAI 및 ACP 클라이언트)에서 다음 코드를 실행합니다.
이 단계에서는
각 프로젝트 디렉토리 내부에서
이제 다음을 사용하여 각 터미널에 종속성을 설치합니다.
이 단계에서는 각 구성 요소에 대해
BeeAI가 설치된 상태에서 CLI를 사용하여 다음에서 BeeAI 플랫폼을 시작합니다.
참고: 처음 실행할 때 이 단계는 몇 분 정도 걸릴 수 있습니다.
LLM 공급자 설정(OpenRouter)
다음 명령을 실행하여 대화형 CLI를 통해 LLM 공급자 및 모델을 구성합니다.
프롬프트에 따라 OpenRouter를 선택하고 API 키와 모델 세부 정보를 입력합니다.
설정을 확인하려면 다음을 사용하세요.
이 단계에서는 구성된
을(를) 아웃풋해야 합니다. 또는 고급 사용자는 수동으로
OpenRouter용 .env 예시
BeeAI가 작동하는지 확인하려면 테스트 프롬프트를 보냅니다.
유효한 응답은 플랫폼이 활성 상태임을 확인하는 것입니다.
문제 해결
필요한 경우 플랫폼을 업데이트하거나 다시 시작할 수 있습니다.
crewAI LLM 구성 문서를 사용하여 자체 공급자를 사용자 지정할 수도 있습니다.
crewAI 에이전트 코드를 업데이트하고
파일
BeeAI와 crewAI가 모두 구성되면 해당 터미널에서 에이전트 서버를 시작합니다.
BeeAI 에이전트 서버 시작
beeai_agent_server 터미널에서:
서버가
터미널은 몇 초마다 상태 점검 핑을 기록해야 합니다.
crewai_agent_server 터미널에서
crewAI 에이전트 서버를 시작합니다.
서버가
모든 에이전트가
을(를) 실행하고 로컬에서 구축된 ACP 호환 에이전트가 BeeAI가 자동으로 인식하는지 확인합니다. BeeAI CLI를 사용하여 모든 로컬 에이전트가 등록되고 정상인지 확인합니다(이 단계는 모든 무료 터미널에서 실행할 수 있음).
다음 항목이 표시되어야 합니다.
모두 나열되고 연결할 수 있는 경우 이러한 에이전트가 성공적으로 상호 운용되었는지 확인할 수 있습니다!
acp-client 서버 전용 터미널에서(
터미널 내부에 URL을 입력하라는 메시지가 표시됩니다. 이 입력은 다중 에이전트 워크플로를 트리거합니다.
모든 에이전트와 클라이언트/서버가 실행되면 ACP 프로젝트를 시작할 준비가 된 것입니다!
참고: 대규모 언어 모델(LLM)의 아웃풋은 확률적이며 동일한 입력을 사용하더라도 워크플로를 실행할 때마다 달라질 수 있습니다.
이 튜토리얼에서는 AI 에이전트가 협업하여 데이터를 생성하고 변환할 수 있도록 엔드포인트를 노출하는 ACP 클라이언트/서버를 통해 두 개의 서로 다른 다중 에이전트 프레임워크를 연결했습니다. ACP는 에이전트 행동에서 커뮤니케이션을 분리함으로써 BeeAI, crewAI, LangChain 및 기타 에이전트 프레임워크로 구축된 에이전트가 맞춤형 통합 논리 없이 함께 작동할 수 있도록 합니다. 이 접근 방식은 모듈성, 확장성 및 상호 운용성을 개선합니다.
ACP는 에이전트가 메시지를 보내고, 받고, 해석해야 할 필요성에 따라 주도되는 개방형 이니셔티브입니다. ACP의 메시지는 일반적으로 JSON과 같은 형식으로 구조화되어 있으며 메타데이터로 강화되어 에이전트 상호 작용 전반에 걸쳐 일관성과 명확성을 보장합니다. OpenAI, Anthropic 또는 기타 AI 모델을 사용하든 ACP는 프레임워크 독립적인 상호 운용성을 지원하는 공유 메시징 계층을 제공합니다.
워크플로를 따르면 창의적이고 분석적인 에이전트가 어떻게 조화롭게 작동하여 구조화되지 않은 웹 콘텐츠를 노래, 전문적인 비평 및 통합 마크다운 보고서로 변환할 수 있는지 확인했습니다. 이 접근 방식은 원활하고 확장 가능한 유연한 다중 에이전틱 AI 시스템을 지원하는 ACP의 힘을 보여줍니다.
시스템 실험을 마치면 다음 단계에 따라 실행 중인 모든 구성 요소를 완전히 종료합니다.
1. 실행 중인 각 서버 중지
각 터미널 창에서
아웃풋이 다음과 같이 표시되어야 합니다.
2. 종료 중에 서버가 중단되는 경우
서버가 응답하지 않거나 종료 시 중단되는 경우(예:
프로세스 ID(PID) 찾기
다음 명령을 실행하여 서버 프로세스를 찾습니다.
중지하려는 프로세스의 PID를 식별합니다. 예를 들면 다음과 같습니다.
프로세스를 종료합니다. PID를 사용하여 강제로 중지합니다.
필요한 경우 각 서버에 대해 이 프로세스를 반복합니다.
ACP를 사용하여 완전한 크로스 플랫폼 다중 에이전트 시스템을 성공적으로 실행했습니다.
생성형 AI로 워크플로와 프로세스를 자동화하는 강력한 AI 어시스턴트 및 에이전트를 구축, 배포, 관리하세요.
믿을 수 있는 AI 솔루션으로 비즈니스의 미래를 설계하세요.
IBM Consulting AI 서비스는 기업이 AI 활용 방식을 재구상하여 혁신을 달성하도록 지원합니다.