Mastra와 A2A 프로토콜 — TypeScript로 에이전트끼리 대화하는 법

Mastra와 A2A 프로토콜 — TypeScript로 에이전트끼리 대화하는 법

Mastra와 A2A 프로토콜 — TypeScript로 에이전트끼리 대화하는 법

요즘 AI 에이전트를 만들 때 파이썬 대신 타입스크립트를 써야 한다는 이야기가 왜 이렇게 많이 들릴까요? 그동안 에이전트 개발은 무겁고 복잡한 파이썬 프레임워크가 기본으로 여겨졌지만, 최근 웹 생태계를 중심으로 판도가 흔들리고 있습니다. 깃허브 스타 2만 2천 개를 넘기며 급부상한 프레임워크 마스트라(Mastra)와 구글이 주도하고 리눅스 재단에 기부한 에이전트 간 소통 표준인 A2A(Agent-to-Agent) 프로토콜 v1.0.0이 만나면서, 더 가볍고 유기적인 타입스크립트 기반의 에이전트 협업 생태계가 마침내 열리고 있습니다.

Mastra: TypeScript 개발자를 위한 촘촘한 워크플로우 엔진

Mastra는 TypeScript 환경에서 가장 직관적이고 강력한 에이전트 프레임워크로 자리 잡았습니다. 복잡한 제어 흐름을 순차 실행(.then), 조건 분기(.branch), 병렬 처리(.parallel)처럼 그래프 기반의 명확한 코드로 설계할 수 있는 게 가장 큰 매력입니다.

이 과정은 장난감 기차놀이에 조립식 레일을 까는 것과 아주 비슷합니다. 기차가 안전하게 달릴 수 있도록 선로를 요리조리 조립해 연결하는 것처럼, 개발자는 에이전트가 움직일 길을 선언적으로 그려주기만 하면 됩니다. 덕분에 여러 갈래로 나뉘는 복잡한 AI 추론 루틴과 메모리 시스템도 엉키지 않고 부드럽게 흘러갑니다.

마치 프론트엔드 개발자가 상태 관리 라이브러리를 다루듯이 익숙한 방식으로 에이전트를 다룰 수 있습니다. 그동안 파이썬 기반의 무겁고 낯선 개발 환경 때문에 주저했던 수많은 웹 개발자들에게 훌륭한 대안이 되어주고 있습니다.

A2A 프로토콜: 에이전트와 에이전트가 수평적으로 소통하는 법

그동안 앤트로픽의 모델 컨텍스트 프로토콜(MCP)이 에이전트와 도구를 연결하는 '수직적인' 다리 역할을 해왔다면, A2A 프로토콜 v1.0.0은 에이전트와 에이전트가 직접 만나 대화하도록 돕는 '수평적인' 피어 투 피어(P2P) 표준입니다.

쉽게 비유하자면, MCP는 에이전트가 똑똑하게 일할 수 있도록 망치나 드라이버 같은 도구 상자를 연결해 주는 통로입니다. 반면, A2A 프로토콜은 에이전트끼리 서로의 명함을 교환하고 공동 프로젝트를 조율할 수 있는 회의실을 열어주는 표준 규격에 가깝습니다.

이 표준 덕분에 서로 다른 개발사나 환경에서 만들어진 에이전트들도 마치 인터넷 주소를 타고 들어가듯 유기적으로 대화할 수 있게 됩니다. 복잡한 연동 작업 없이도 서로의 존재를 인식하고, 표준 규격의 메시지를 주고받으며 장기적인 협업을 이어 나갈 수 있는 길이 열린 셈입니다.

Mastra와 A2A가 만나면 생기는 변화

Mastra는 A2A v1.0.0 표준을 @a2a-js/sdk를 통해 프레임워크 기본 사양으로 매끄럽게 내장했습니다. 덕분에 Mastra로 만든 에이전트를 원격 엔드포인트로 배포하는 일이 아주 간단해졌습니다.

핵심은 에이전트의 자기소개서이자 명함 역할을 하는 '에이전트 카드'를 발행하는 것입니다. 웹서버의 약속된 경로인 /.well-known/agent-card.json에 간단한 정보만 노출해 두면, 네트워크상의 다른 에이전트들이 이를 자동으로 감지하고 호출할 수 있습니다.

예를 들어, 에이전트 카드는 아래처럼 아주 직관적인 JSON 형식으로 작성됩니다.

json
{
  "schema_version": "1.0.0",
  "name": "code-reviewer-agent",
  "description": "TypeScript 코드를 분석하고 리뷰를 작성하는 에이전트",
  "endpoint": "https://api.example.com/v1/agent",
  "capabilities": ["code-analysis", "syntax-check"]
}

이렇게 등록된 에이전트는 다른 시스템에서 하위 에이전트로 즉시 영입되어 협업을 시작합니다. 이제 개발자는 거대한 인프라를 직접 쌓아 올릴 필요가 없습니다. 가볍게 작성한 에이전트들을 네트워크상에 띄우고 퍼즐 조각처럼 유기적으로 연결해 나가기만 하면 됩니다.

함께 협업하는 에이전트 네트워크를 꿈꾸며

혼자서 모든 것을 해결하는 만능 에이전트보다는 각자 잘하는 일에 집중하며 서로 대화하는 협업형 에이전트가 훨씬 강력하고 유연합니다. 가벼운 웹 생태계를 품은 마스트라와 에이전트 간 소통 표준인 A2A 프로토콜의 만남은 타입스크립트 개발자들에게 아주 매력적인 선택지가 될 것입니다. 이제 복잡한 인프라 고민은 내려놓고, 서로 손쉽게 대화하는 에이전트 네트워크를 직접 구축해 보는 것은 어떨까요?

아직 댓글이 없습니다.