-
-
이것이 멀티 에이전트다 - 싱글 에이전트부터 멀티 에이전트까지, MCP와 A2A로 구현하는 에이전트 시스템 개발 | Cursor 최신 버전 반영, 9가지 실습 프로젝트 수록
서지영 지음 / 한빛미디어 / 2026년 6월
평점 :
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.
『이것이 멀티 에이전트다』를 읽고 실습하면서 가장 크게 든 생각은 “익숙한 것으로 새것을 배운다”는 감각이었다. 책은 LLM에서 출발해 RAG, 에이전트, 멀티 에이전트로 사고를 확장하게 만든다. 단순히 프롬프트를 잘 쓰는 수준을 넘어, 검색과 평가, 도구 호출, 상태 전달, 에이전트 간 협업, 오케스트레이션까지 하나의 시스템으로 바라보게 한다는 점이 인상적이었다.
최근에는 CLI 기반 AI 도구를 사용하면서 hooks, sub agents, 자동화된 명령 실행 같은 기능적 접근에 관심이 많이 쏠려 있었다. 그런데 이 책을 보면서 그보다 한 단계 아래에 있는 구조를 다시 보게 되었다. MCP, A2A, RAG, Vector DB, AgentContext, 오케스트레이터 같은 요소들은 “에이전트가 똑똑하게 처리한다”는 막연한 설명을 구체적인 시스템 설계의 언어로 바꿔준다. 누가 상태를 들고 있고, 누가 검색을 담당하며, 누가 평가하고, 누가 최종 응답을 만들고, 이 전체 흐름을 누가 조율하는지 생각하게 된 것이다.
특히 오케스트레이터 개념이 마음에 들었다. 멀티 에이전트라고 하면 여러 에이전트가 각자 알아서 대화하며 문제를 해결하는 장면을 떠올리기 쉽지만, 실제 서비스를 만든다고 생각하면 자유도보다 제어 가능성이 중요하다. 검색 에이전트, 평가 에이전트, 답변 생성 에이전트, 보고서 생성 에이전트처럼 역할을 나누고, 그 사이의 흐름을 조율하는 구조가 있어야 한다. 책의 실습들은 이런 역할 분리와 워크플로우 설계를 반복적으로 보여준다. 약관 기반 질의응답, 음성 Q&A, 병렬 검색, 반복 평가, 뉴스 기반 종목 영향 평가, 이상 거래 탐지, 여행 플래너까지 사례는 다양하지만 결국 핵심은 비슷하다. 하나의 거대한 프롬프트가 아니라, 책임이 분리된 작은 단위들이 연결되어 하나의 시스템을 이룬다는 점이다.

이 흐름을 따라가다 보니 실제 서비스 아키텍처에 대한 생각도 자연스럽게 이어졌다. 멀티 에이전트 시스템을 로컬 실습이나 데모 수준으로만 볼 것이 아니라, MSA나 컨테이너 기반 구조와 연결해 보면 더 깔끔한 접근이 가능할 것 같다. 각 에이전트를 독립된 서비스처럼 두고, MCP나 A2A를 통해 도구 호출과 에이전트 간 통신을 구성한다면 유지보수성과 확장성도 좋아질 수 있다. 물론 구현하다 보면 시행착오도 생기겠지만, 서비스로 만들려면 결국 이런 구조적 사고가 필요하다고 느꼈다.
실습 자체는 주제를 따라가기 좋게 구성되어 있었다. 영업 데이터 분석과 시각화, 개인정보 탐지와 마스킹, 약관 기반 질의응답, Whisper 기반 음성 Q&A, 병렬 검색, 반복 평가, 뉴스 기반 종목 영향 평가, 이상 거래 탐지, 여행 플래너로 이어지는 예제들은 에이전트를 단순한 답변 생성기가 아니라 작업 수행 단위로 바라보게 한다. 뒤로 갈수록 검색, 평가, 개선, 보고서 생성, 알림 같은 책임이 세분화되는데, 이 흐름을 따라가다 보면 “멀티 에이전트”가 단순히 에이전트 수를 늘리는 일이 아니라 워크플로우를 설계하는 일이라는 점이 분명해진다.

다만 실습을 따라가면서 아쉬운 점도 있었다. 전체적으로 OpenAI 의존성이 강하다는 느낌을 받았다. 물론 입문자나 실습 안정성을 고려하면 가장 무난한 선택일 수 있다. 하지만 요즘은 Groq, NIM, Gemini, Gemma 같은 대안도 있고, 로컬 모델이나 오픈 모델을 섞어 쓰는 경우도 많다. 벡터 DB 역시 전용 벡터 데이터베이스뿐 아니라 PostgreSQL 기반 pgvector 같은 선택지도 충분히 현실적이다. 책이 모든 조합을 다룰 수는 없겠지만, 모델과 인프라 선택지를 조금 더 열어두었다면 실무 확장성을 고민하는 독자 입장에서는 더 좋았을 것 같다.
또 하나의 아쉬움은 구현 스택을 내 방식으로 조금 더 모던하게 가져가 보고 싶다는 점이었다. 예를 들어 패키지 관리는 uv로 정리하고, 시각화는 Plotly 기반으로 더 인터랙티브하게 구성해보고 싶다. 에이전트 워크플로우도 LangChain이나 LangGraph로 다시 구현해보면 책에서 배운 구조를 다른 방식으로 검증할 수 있을 것 같다. 특히 LangGraph의 상태 기반 그래프 구조는 오케스트레이터, 반복 평가, 조건 분기, 에이전트 간 상태 전달을 표현하기에 잘 맞아 보인다. Spring AI로도 같은 접근을 시도해보면 Java/Spring 기반의 엔터프라이즈 서비스 안에서 RAG와 멀티 에이전트 구조를 어떻게 녹일 수 있을지 확인할 수 있을 것이다.
소스 코드 제공 방식에 대해서도 약간의 생각이 남았다. 압축 소스 파일에 거의 모든 파일이 포함되어 있는 방식은 따라 하기에는 편하지만, 한편으로는 독자가 구조를 직접 만들어가며 이해할 여지를 줄이기도 한다. 처음에는 내 방식대로 변환하면서 실습을 진행했지만, 뒤로 갈수록 귀찮아져서 제공된 구조에 맞춰 따라가게 되었다. 그래도 이 과정 자체가 나름의 코드 에이전트 활용 연습처럼 느껴졌다. 주어진 코드를 해석하고, 내 환경에 맞게 바꾸고, 일부는 내가 선호하는 방식으로 정리해 보는 과정이 책의 본문만큼이나 학습이 되었다.

결국 이 책에서 얻은 가장 큰 수확은 특정 라이브러리 사용법보다 사고의 확장이었다. LLM을 호출하는 코드에서 출발해, RAG로 지식을 연결하고, 에이전트로 작업을 위임하고, 멀티 에이전트와 오케스트레이터로 시스템을 설계하는 방향으로 생각이 넓어졌다. 이전에는 AI 도구의 편의 기능이나 CLI 자동화에 매몰되어 있었다면, 이제는 그 아래에 있는 구조와 프로토콜, 데이터 흐름을 함께 보게 되었다.
『이것이 멀티 에이전트다』는 멀티 에이전트를 마법처럼 포장하기보다는, 여러 실습을 통해 하나씩 분해해 보여주는 책이다. 익숙한 개념들에서 출발하지만, 읽고 나면 그것들을 내 방식으로 다시 조합해보고 싶어진다. 그래서 이 책은 “새로운 것을 알려준 책”이라기보다, 이미 알고 있던 것들과 막연히 흩어져 있던 관심사를 하나의 구조로 다시 보게 만든 책에 가깝다. 그리고 그 점이 가장 좋았다.

#멀티에이전트 #AI에이전트 #생성형AI #LLM #RAG #MCP #A2A #벡터DB #임베딩 #오케스트레이터 #LangChain #LangGraph #SpringAI #OpenAI #ClaudeAI #Gemini #pgvector #파이썬 #개발자 #한빛미디어 #이것이멀티에이전트다