Elasticsearch에서 A2A 프로토콜과 MCP를 사용하여 LLM 에이전트 뉴스룸 만들기: 2부

에이전트 협업을 위한 A2A 프로토콜과 Elasticsearch의 도구 액세스를 위한 MCP를 사용해 특화된 하이브리드 LLM 에이전트 뉴스룸을 구축하는 방법을 알아보세요.

Agent Builder는 현재 기술 미리보기 버전으로 제공됩니다. Elastic Cloud 체험판으로 시작한 뒤, Agent Builder 문서를 여기에서 확인하세요.

A2A 및 MCP: 작동 중인 코드

이 글은 동일한 에이전트 내에서 A2A와 MCP 아키텍처를 모두 구현하여 두 프레임워크의 고유한 이점을 제대로 활용할 수 있는 이점을 설명한 "Elasticsearch에서 A2A 프로토콜과 MCP를 사용하여 LLM 에이전트 뉴스룸 만들기!" 글의 후속 글입니다. 직접 데모를 실행하려는 경우 저장소를 사용할 수 있습니다.

뉴스룸 에이전트가 A2A와 MCP를 사용하여 뉴스 기사를 제작하기 위해 어떻게 협업하는지 살펴보겠습니다. 에이전트가 작동하는 모습을 볼 수 있는 리포지토리는 여기에서 확인할 수 있습니다.

1단계: 스토리 과제

뉴스 책임자 (클라이언트 역할)가 스토리를 할당합니다:

2단계: 리포터가 리서치 요청

리포터 에이전트는 배경 정보가 필요하다는 것을 인식하고 A2A를 통해 리포터 에이전트에게 위임합니다:

3단계: 리포터가 아카이브 에이전트에게 기록 컨텍스트를 요청합니다.

리포터 에이전트는 역사적 맥락이 스토리를 강화할 수 있다는 것을 알고 있습니다. A2A를 통해 (Elastic의 A2A 에이전트로 구동되는) 아카이브 에이전트에 위임하여 뉴스룸의 Elasticsearch 기반 기사 아카이브를 검색합니다:

4단계: 아카이브 에이전트가 MCP와 함께 Elastic A2A 에이전트 사용

아카이브 에이전트는 Elastic의 A2A 에이전트를 사용하며, 이 에이전트는 다시 MCP를 사용해 Elasticsearch 도구에 액세스합니다. 이는 A2A가 에이전트 협업을 지원하는 동시에 MCP가 툴 액세스를 제공하는 하이브리드 아키텍처를 보여줍니다:

아카이브 에이전트는 Elastic의 A2A 에이전트로부터 포괄적인 기록 데이터를 받아 리포터에게 반환합니다:

이 단계에서는 Elastic의 A2A 에이전트가 뉴스룸 워크플로우에 어떻게 통합되는지 보여드립니다. Archive 에이전트(뉴스룸 전용 에이전트)는 Elastic의 A2A 에이전트(타사 전문가)와 협력하여 Elasticsearch의 강력한 검색 및 분석 기능을 활용합니다. Elastic의 에이전트는 내부적으로 MCP를 사용하여 Elasticsearch 도구에 액세스하므로 에이전트 조정(A2A)과 도구 액세스(MCP)가 깔끔하게 분리되어 있습니다.

5단계: 연구자가 MCP 서버 사용

연구원 에이전트는 여러 MCP 서버에 액세스하여 정보를 수집합니다:

6단계: 연구원이 리포터에게 데이터를 반환합니다.

리서처 에이전트는 A2A를 통해 종합적인 리서치를 다시 보냅니다:

7단계: 기자가 기사 작성

리포터 에이전트는 리서치 데이터와 자체 LLM 기능을 사용하여 기사를 작성합니다. 글을 작성하는 동안 리포터는 스타일과 템플릿을 위해 MCP 서버를 사용합니다:

8단계: 낮은 신뢰도로 인한 재조사 트리거

리포터 에이전트가 초안을 평가한 결과 한 클레임의 신뢰도가 낮다는 것을 발견했습니다. 연구원 에이전트에게 또 다른 요청을 보냅니다:

연구원은 사실 확인 MCP 서버를 사용하여 클레임을 확인하고 업데이트된 정보를 반환합니다:

9단계: 리포터가 수정하여 편집자에게 제출합니다.

리포터는 확인된 사실을 통합하고 A2A를 통해 완성된 초안을 편집 에이전트에게 보냅니다:

10단계: MCP 도구를 사용한 편집자 리뷰

편집자 에이전트는 여러 MCP 서버를 사용하여 문서를 검토합니다:

편집자가 글을 승인하고 앞으로 보냅니다:

11단계: CI/CD를 통해 게시자 게시

마지막으로 프린터 에이전트는 CMS 및 CI/CD 파이프라인을 위한 MCP 서버를 사용하여 승인된 문서를 게시합니다:

게시자는 A2A를 통해 게시를 확인합니다:

다음은 위에서 설명한 것과 동일한 에이전트를 사용하여 첨부된 리포지토리에 있는 A2A 워크플로우의 전체 시퀀스입니다.

#에서To액션프로토콜설명
1사용자뉴스 수석스토리 할당HTTP POST사용자가 스토리 주제와 각도를 제출합니다.
2뉴스 수석내부스토리 만들기-고유 ID로 스토리 레코드 생성
3뉴스 수석리포터위임자 할당A2AA2A 프로토콜을 통해 스토리 할당 전송
4리포터내부할당 수락-내부적으로 스토어 할당
5리포터MCP 서버개요 생성MCP/HTTP기사 개요 및 연구 질문 생성
6a리포터연구원연구 요청A2A질문 보내기(6b와 병행)
6b리포터아카이브아카이브 검색A2A JSONRPC과거 기사 검색(6a와 병행)
7연구원MCP 서버연구 질문MCP/HTTPMCP를 통해 Anthropic을 사용하여 질문에 답하기
8연구원리포터리서치 반환A2A연구 답변 반환
9아카이브Elasticsearch검색 색인ES REST API뉴스_아카이브 인덱스 쿼리
10아카이브리포터아카이브 반환A2A JSONRPC과거 검색 결과 반환
11리포터MCP 서버문서 생성MCP/HTTP리서치/아카이브 컨텍스트가 포함된 문서 생성
12리포터내부저장 초안-내부적으로 초안 저장
13리포터뉴스 수석초안 제출A2A완성된 초안 제출
14뉴스 수석내부업데이트 스토리-초안 저장, "draft_submitted로 상태 업데이트"
15뉴스 수석편집기초안 검토A2A검토를 위해 편집기로 자동 라우팅
16편집기MCP 서버기사 검토MCP/HTTPMCP를 통해 Anthropic을 사용하여 콘텐츠 분석
17편집기뉴스 수석반품 검토A2A편집 피드백 및 제안을 보냅니다.
18뉴스 수석내부스토어 리뷰-편집자 피드백 저장
19뉴스 수석리포터편집 적용A2A리포터에게 리뷰 피드백 전달
20리포터MCP 서버편집 적용MCP/HTTP피드백에 따라 문서 수정
21리포터내부업데이트 초안-수정 사항이 있는 초안 업데이트
22리포터뉴스 수석수정된 반환A2A수정된 문서 반환
23뉴스 수석내부업데이트 스토리-스토어 수정 초안, 상태 "수정됨"
24뉴스 수석게시자기사 게시A2A게시자에게 자동 라우팅
25게시자MCP 서버태그 생성MCP/HTTP태그 및 카테고리 만들기
26게시자Elasticsearch색인 문서ES REST API기사를 뉴스_아카이브 인덱스에 색인화
27게시자파일 시스템마크다운 저장파일 I/O.md로 문서 저장 아티클의 파일
28게시자뉴스 수석게시 확인A2A성공 상태 반환
29뉴스 수석내부업데이트 스토리-스토리 상태를 "게시됨으로 업데이트"

결론

A2A와 MCP는 모두 최신 증강-LLM 인프라 패러다임에서 중요한 역할을 담당하고 있습니다. A2A는 복잡한 멀티 에이전트 시스템을 위한 유연성을 제공하지만 잠재적으로 휴대성이 떨어지고 운영 복잡성이 높아질 수 있습니다. MCP는 멀티에이전트 오케스트레이션을 처리하도록 설계되지는 않았지만 구현 및 유지 관리가 더 간편한 도구 통합을 위한 표준화된 접근 방식을 제공합니다.

선택은 이분법적이지 않습니다. 뉴스룸의 예시를 통해 알 수 있듯이, 가장 정교하고 효과적인 LLM 지원 시스템은 에이전트가 A2A 프로토콜을 통해 조정하고 전문화하면서 MCP 서버를 통해 도구와 리소스에 액세스하는 두 가지 접근 방식을 결합하는 경우가 많습니다. 이 하이브리드 아키텍처는 MCP의 표준화 및 에코시스템의 장점과 함께 멀티 에이전트 시스템의 조직적 이점을 제공합니다. 이는 선택의 여지가 전혀 없을 수도 있음을 시사합니다. 두 가지를 모두 표준 접근 방식으로 사용하기만 하면 됩니다.

특정 사용 사례에 적합한 결과를 만들기 위해 두 솔루션을 가장 잘 조합하여 테스트하고 결정하는 것은 개발자 또는 아키텍트의 몫입니다. 각 접근 방식의 강점, 한계, 적절한 적용 사례를 이해하면 보다 효과적이고 유지 관리가 용이하며 확장 가능한 AI 시스템을 구축할 수 있습니다.

디지털 뉴스룸, 고객 서비스 플랫폼, 리서치 어시스턴트 또는 기타 LLM 기반 애플리케이션을 구축하는 경우, 조정 요구 사항(A2A)과 도구 액세스 요구 사항(MCP)을 신중하게 고려하면 성공의 길로 들어설 수 있습니다.

추가 리소스

관련 콘텐츠

최첨단 검색 환경을 구축할 준비가 되셨나요?

충분히 고급화된 검색은 한 사람의 노력만으로는 달성할 수 없습니다. Elasticsearch는 여러분과 마찬가지로 검색에 대한 열정을 가진 데이터 과학자, ML 운영팀, 엔지니어 등 많은 사람들이 지원합니다. 서로 연결하고 협력하여 원하는 결과를 얻을 수 있는 마법 같은 검색 환경을 구축해 보세요.

직접 사용해 보세요