책소개
만들면서 배우면, AI 에이전트 구현이 쉬워진다!단계별 싱글·멀티 에이전트 설계부터 RAG·MCP·A2A 구현을 하나의 흐름으로25가지 에이전트로 이론부터 실전 설계 역량까지 완성하는 “AI 에이전트 교과서”*저자 유튜브 특별 강의 영상, 독자 Q&A 채널 제공*랭체인 · 랭그래프 v1 기반 실습AI 에이전트를 실제 업무에 적용하려면 어떤 구조를 선택할지 스스로 판단할 수 있어야 한다. 이 책은 LLM의 의사결정 원리부터 싱글·멀티 에이전트 설계, RAG·MCP·A2A까지를 하나의 흐름으로 연결해, AI 에이전트를 처음 배우는 개발자도 실습을 통해 단계별 구현을 완주하도록 돕는다.사내 FAQ 응답, 보고서 작성, 문서 검색, MCP 서버 연동, A2A 기반 오케스트레이터 등 현업에서 바로 활용할 수 있는 25가지 에이전트를 직접 구현한다. 이를 통해 상황에 적합한 아키텍처를 선택하는 기준을 익히고, 구현 능력과 설계 감각을 함께 키울 수 있다. 또한 랭그래프를 중심으로 에이전트의 상태·흐름·협업 구조를 설계하는 과정을 통해, AI 에이전트를 ‘만드는 수준’을 넘어 ‘설계하고 구현하는 수준’으로 끌어올린다. 이 책과 함께 스스로 에이전트 구조를 설계하고 확장할 수 있는 개발자로 한 단계 올라서보자.
목차
| Part 01 | AI 에이전트의 개념과 원리Chapter 01 LLM 기반 의사결정 구조와 에이전트 동작 방식1.1 AI 에이전트의 두뇌, 거대 언어 모델의 이해1.2 LLM을 기반으로 의사결정하다1.3 LLM이 다음 행동을 결정하다1.4 LLM 기반 에이전트 시스템, 이런 구조로 설계된다____1.4.1 작업의 단계를 미리 지정한 에이전트 구조____1.4.2 작업의 단계를 동적으로 처리하는 자율 에이전트 구조Chapter 02 AI 에이전트를 구성하는 3가지 핵심 요소2.1 에이전트의 추론 능력: ReAct와 Reflection____2.1.1 ReAct____2.1.2 Reflection2.2 에이전트의 외부 지식 활용: 도구 호출2.3 에이전트의 기억력: 메모리2.4 ReAct 기반 LLM 에이전트Chapter 03 목적에 따른 에이전트 아키텍처 설계 기준3.1 싱글 에이전트____3.1.1 싱글 에이전트의 정의____3.1.2 싱글 에이전트의 대표적 예시3.2 멀티 에이전트3.3 어떤 에이전트를 설계해야 할까____3.3.1 싱글 에이전트로 충분한 경우 3.3.2 멀티 에이전트가 필요한 경우| Part 02 | 랭그래프로 구현하는 AI 에이전트Chapter 04 에이전트 개발 환경 구축4.1 비주얼 스튜디오 코드 환경 설정하기____4.1.1 [실습] VS Code 설치하기____4.1.2 [실습] 프로젝트 폴더 생성하기4.2 아나콘다 및 가상 환경 설정하기____4.2.1 [실습] 아나콘다 설치하기____4.2.2 [실습] 아나콘다 가상 환경 구성하기4.3 환경변수 설정하기____4.3.1 [실습] .env 파일로 환경변수 저장하기____4.3.2 [실습] python-dotenv으로 환경변수 불러오기4.4 LLM 사용하기____4.4.1 [실습] OpenAI API 사용하기____4.4.2 [실습] 랭체인으로 OpenAI LLM 호출하기Chapter 05 랭그래프 기반 에이전트 설계5.1 왜 랭그래프인가____5.1.1 랭그래프의 특징____5.1.2 랭그래프를 사용해야 하는 이유5.2 랭그래프 기본 개념 이해하고 적용하기____5.2.1 [실습] 그래프의 상태 정의하기____5.2.2 [실습] 그래프의 상태에 리듀서 함수 추가하기____5.2.3 [실습] 그래프의 실행 단위, 노드 추가하기____5.2.4 [실습] 그래프의 실행 경로, 엣지 추가하기____5.2.5 [실습] 그래프에 조건부 엣지 추가하기5.3 랭그래프로 에이전트 설계하고 구현하기____5.3.1 [실습] 답변을 생성하는 기본 그래프 구현하기____5.3.2 [실습] 조건이 추가된 그래프 구현하기Chapter 06 싱글 에이전트 구현6.1 도구를 호출하는 에이전트 이해하기6.2 웹 검색 에이전트 만들기____6.2.1 [실습] 타빌리 서치 사용법 익히기____6.2.2 [실습] 랭체인에서 도구 호출 사용하기____6.2.3 [실습] 랭그래프로 에이전트 그래프 생성하기____6.2.4 [실습] 최신 정보 검색하고 답변 받아보기____6.2.5 [실습] 랭그래프 서버 실행하고 랭그래프 스튜디오 사용하기6.3 코딩 에이전트 만들기____6.3.1 [실습] 사용자 도구 정의하기____6.3.2 [실습] 코드 실행 도구 만들기____6.3.3 [실습] 파일을 저장하는 도구 만들기6.4 create_agent 상세 구조 이해하기____6.4.1 create_agent 개요 이해하기____6.4.2 주요 파라미터 이해하기____6.4.3 [실습] 미들웨어 추가하기____6.4.4 [실습] 구조화 출력 정의하기6.5 RAG를 위한 에이전트 만들기____6.5.1 RAG란____6.5.2 [실습] 벡터 데이터베이스의 이해와 사용하기____6.5.3 [실습] 문서 검색과 답변을 위한 도구 정의하기____6.5.4 [실습] 랭그래프로 에이전트 생성하기____6.5.5 [실습] 문서를 기반으로 질문하고 답변 받아보기| Part 03 | 멀티 에이전트 설계와 메모리 시스템 구현Chapter 07 멀티 에이전트 구현7.1 멀티 에이전트 유형 소개____7.1.1 네트워크 패턴 아키텍처____7.1.2 슈퍼바이저 패턴 아키텍처____7.1.3 계층형 패턴 아키텍처____7.1.4 사용자 커스텀7.2 핸드오프를 위한 기능 살펴보기____7.2.1 [실습] 핸드오프의 개념과 Command 사용법 익히기____7.2.2 [실습] 조건에 따른 Command 사용법 알아보기7.3 정보 검색을 기반으로 차트를 그려주는 에이전트 #네트워크 패턴____7.3.1 각 에이전트의 소통 방식 정의하기____7.3.2 [실습] 멀티 에이전트 그래프 만들기____7.3.3 [실습] 정보 검색 에이전트 만들기____7.3.4 [실습] 차트 생성 에이전트 만들기____7.3.5 [실습] 정보 검색과 차트 생성 요청하고 답변 받아보기7.4 웹페이지를 요약해서 데이터베이스에 저장하는 에이전트 #슈퍼바이저____7.4.1 슈퍼바이저 패턴 멀티 에이전트 적용하기____7.4.2 [실습] 웹 분석 에이전트 만들기____7.4.3 [실습] DB 관리를 위한 환경 설정하기____7.4.4 [실습] DB 관리 에이전트 만들기____7.4.5 [실습] 슈퍼바이저 에이전트 그래프 구축하기____7.4.6 [실습] 웹페이지 분석저장검색하기7.5 최신 문서 검색 + 내부 DB 검색 + 템플릿 답변 3중 멀티 에이전트 #슈퍼바이저____7.5.1 각 에이전트를 도구로 호출하는 슈퍼바이저 패턴____7.5.2 [실습] 슈퍼바이저 에이전트 그래프 생성하기____7.5.3 [실습] 에이전트로 작업을 핸드오프하는 도구 생성하기____7.5.4 [실습] 최신 검색 에이전트 만들기____7.5.5 [실습] 내부 검색 에이전트 만들기____7.5.6 [실습] FAQ 답변 에이전트 만들기____7.5.7 [실습] 다양한 케이스에 대응하는 멀티 에이전트 챗봇 테스트하기7.6 자료 조사 전문가 + 문서 작성 전문가 에이전트 #플래닝 기반 슈퍼바이저____7.6.1 [실습] 전체 에이전트 구조 이해하고 구현하기____7.6.2 [실습] 작업의 계획을 수립하는 에이전트 만들기____7.6.3 [실습] 슈퍼바이저 에이전트 만들기____7.6.4 [실습] 자료 조사 에이전트 만들기____7.6.5 [실습] 보고서 작성 에이전트 만들기____7.6.6 [실습] 알아서 자료 조사하고 보고서 자동 작성하기Chapter 08 에이전트 메모리 설계와 개인화 구현8.1 AI 에이전트에서 메모리의 역할____8.1.1 단기 메모리와 장기 메모리8.2 대화 맥락을 이해하는 에이전트____8.2.1 [실습] 랭그래프에서 단기 메모리 사용하기____8.2.2 [실습] 챗봇에 단기 메모리 적용하기8.3 단기 메모리를 관리하는 방법____8.3.1 [실습] 메시지 트리밍 활용하기____8.3.2 [실습] 메시지 요약 활용하기8.4 누적된 사용자 메모리를 기반으로 맞춤 조언을 제공하는 에이전트____8.4.1 [실습] 랭그래프에서 장기 메모리 사용하기____8.4.2 [실습] 사용자 정보를 조회하는 도구 생성하기____8.4.3 [실습] 사용자 정보를 저장하는 도구 생성하기____8.4.4 [실습] 사용자의 카테고리별 정보를 검색하는 도구 생성하기____8.4.5 [실습] 맞춤형 조언 에이전트 만들기____8.4.6 [실습] 사용자의 현재 상황을 바탕으로 조언받기| Part 04 | 프로토콜 기반 에이전트 확장 전략Chapter 09 MCP 기반 외부 도구 연동9.1 MCP란____9.1.1 MCP 개념____9.1.2 MCP의 3계층 아키텍처____9.1.3 MCP 파이썬 SDK9.2 MCP 기능이 들어간 에이전트 서비스____9.2.1 MCP 기능 탑재 에이전트 서비스____9.2.2 MCP 서버 마켓플레이스9.3 MCP 서버 구축하기____9.3.1 Langchain-MCP-Adapters 기반 MCP 구현 흐름 이해하기____9.3.2 [실습] 사용자의 정보를 읽는 도구 정의하기____9.3.3 [실습] 일기를 저장하는 도구 정의하기____9.3.4 [실습] 에이전트 프롬프트 작성하기9.4 MCP 클라이언트 구축하기: 랭그래프____9.4.1 [실습] 에이전트가 포함된 MCP 클라이언트 구축하기____9.4.2 [실습] 에이전트와 대화를 통해 일기 작성하기9.5 랭그래프에서 MCP 기반 멀티 에이전트 구현하기____9.5.1 [실습] 파일 탐색 및 저장 MCP 서버 구축하기____9.5.2 [실습] 멀티 서버 클라이언트 구축하기____9.5.3 [실습] 슈퍼바이저 에이전트 만들기____9.5.4 [실습] 웹 검색과 파일 탐색 요청하기Chapter 10 A2A 기반 에이전트 상호운용10.1 A2A란____10.1.1 A2A 개념____10.1.2 MCP vs A2A____10.1.3 A2A 파이썬 SDK10.2 A2A의 구성 요소와 동작 흐름 이해하기____10.2.1 A2A의 주요 참여자____10.2.2 A2A의 동작 방식____10.2.3 A2A 구성 요소별 특징10.3 A2A의 기본 사용법 이해하기____10.3.1 에이전트 기능 설명하기____10.3.2 [실습] 에이전트 실행기 구현하기____10.3.3 [실습] 에이전트 서버 구축하기____10.3.4 [실습] A2A 클라이언트 구축하기____10.3.5 [실습] 서버 실행하고 응답받기10.4 MCP와 A2A를 활용한 멀티 에이전트 구축하기____10.4.1 [실습] 랭그래프 에이전트: 로직 구현하기____10.4.2 [실습] 랭그래프 에이전트: 실행기 구현하기____10.4.3 [실습] 랭그래프 에이전트: 서버 구현하기____10.4.4 [실습] MCP 에이전트: 로직 구현하기____10.4.5 [실습] MCP 에이전트: 실행기 구현하기____10.4.6 [실습] MCP 에이전트: 서버 구현하기____10.4.7 [실습] 에이전트 오케스트레이터 구현하기____10.4.8 [실습] 에이전트 서버 실행하고 다중 질문 응답받기| Part 05 | 멀티 에이전트 실전 프로젝트Chapter 11 웹 검색 RAG 파일 관리 범용 멀티 에이전트11.1 오케스트레이터 기반 멀티 에이전트 설계____11.1.1 범용 에이전트를 위한 멀티 에이전트 설계하기11.2 파일 관리를 위한 에이전트____11.2.1 [실습] 구글 드라이브 API 사용하기____11.2.2 [실습] 파일 관리를 위한 구글 드라이브 클라이언트 구현하기____11.2.3 [실습] 파일 관리 에이전트 만들기____11.2.4 [실습] A2A 실행기 만들기____11.2.5 [실습] 파일 관리 에이전트 실행을 위한 A2A 서버 만들기11.3 문서 저장검색 에이전트____11.3.1 [실습] 문서 정보 저장을 위한 수파베이스 구축하기____11.3.2 [실습] 문서 저장검색 에이전트 만들기____11.3.3 [실습] 에이전트 그래프 최종 형태 만들기____11.3.4 [실습] A2A 실행기 만들기____11.3.5 [실습] 문서 저장검색 에이전트 실행을 위한 A2A 서버 만들기11.4 웹 검색 에이전트____11.4.1 [실습] 타빌리 MCP 서버 기반 에이전트 만들기____11.4.2 [실습] A2A 실행기 만들기____11.4.3 [실습] 웹 검색 에이전트 실행을 위한 A2A 서버 만들기11.5 오케스트레이터 에이전트____11.5.1 [실습] 다중 작업을 위임하는 오케스트레이터 에이전트 만들기____11.5.2 [실습] A2A 실행기 만들기____11.5.3 [실습] 오케스트레이터 에이전트 실행을 위한 A2A 서버 만들기11.6 오케스트레이터 기반 멀티 에이전트 시스템 서버 구동 및 작업 실행____11.6.1 [실습] 4종 에이전트 서버 모두 실행하기____11.6.2 [실습] 에이전트 테스트를 위한 코드 만들기____11.6.3 [실습] 다중 작업 요청하고 결과물 확인하기