NEW
밑바닥부터 따라하면서 배우는 클로드 코드 완전 정복
28,000원
초급
AI 에이전트 개발 완벽 입문
도서 소개
AI 에이전트 시대를 준비하는 가장 실용적인 안내서!
이 책은 AI에 입문하고자 하는 누구나 손쉽게 AI 에이전트의 세계에 자연스럽게 발을 들일 수 있도록 구성했습니다. 단순히 사용법을 따라 하는 데 그치지 않고, RAG, 펑션 콜링, 랭그래프, CrewAI, smolagents의 동작 원리를 이해하는 데 필요한 기초 지식부터 충실히 다루고 있습니다. 또한 MCP와 A2A를 활용한 에이전트 연동, n8n을 활용한 노코드 자동화, 클로드 코드 기반의 바이브 코딩, 오픈클로를 이용한 자율형 AI 비서 구축까지, 지금 현장에서 실제로 쓰이는 기술들을 하나의 흐름으로 익힐 수 있습니다. 이 책을 읽고 나면 여러분이 원하는 AI 에이전트를 스스로 설계하고 구현할 수 있을 것입니다.
★ 이 책에서 다루는 내용 ★
- AI 에이전트의 기초 및 에이전트 시스템 구축 패턴
- 랭체인을 활용한 검색 증강 생성(RAG) 구현
- ReAct와 펑션 콜링 에이전트
- 랭그래프를 활용한 에이전트 워크플로우 설계
- CrewAI를 통한 에이전트 협업 구조 구축
- smolagents를 활용한 에이전트 구축
- A2A(Agent-to-Agent) 프로토콜
- n8n을 이용한 워크플로우 자동화
- MCP(Model Context Protocol)
- 클로드 코드를 활용한 바이브 코딩
- 오픈클로를 이용한 AI 비서 만들기
도서 소개

저자 소개
에디 유
IT 대기업 현업에서 RAG와 에이전트 관련 업무를 주로 수행하고 있습니다. LLM 기반 서비스 개발에 관심이 많으며, 특히 요즘은 에이전트의 추론 능력 고도화를 위한 파인튜닝에 집중하고 있습니다.
김대규
자연어 처리 분야의 AI 리서치 엔지니어로, LLM 기반 생성형 모델, RAG, 에이전트 시스템에 주로 관심이 있습니다. 복합 질의 처리, 지식 활용 최적화, 상호작용 기반 응답 설계 등 실전 응용에 초점을 맞춘 연구 및 구현 경험을 쌓아왔습니다. 기술적 깊이와 실무 적용 가능성을 함께 고려하는, 균형 잡힌 접근을 지향합니다.
조경아
금융권 IT 현업에서 기업 관점의 지식 체계 구축과 에이전트 기반 시스템 설계를 수행하고 있습니다. 최근에는 AI 에이전트 설계에 집중하고 있으며, AI를 통해 조직의 의사결정을 효과적으로 지원하는 구조를 만드는 데 관심이 있습니다.
김현지
동아일보와 채널A에서 산업·경제 기자로 활동한 경험을 살려 경제·경영 전문 AI 챗봇 ‘애스크비즈(AskBiz)’와 AI영상분석 및 글자료 자동변환 시스템을 기획·개발했습니다. IT 기술 발전에 따른 커뮤니케이션 방식의 변화, AI가 우리 삶에 미칠 영향 전반에 관심이 많습니다.
목차
- ▣ 01장: AI 에이전트
- 1.1 AI 에이전트의 진화
- 1.2 AI 에이전트는 언제 필요할까?
- 1.3 AI 에이전트 사례
- __1.3.1 AI 브라우저 에이전트
- __1.3.2 코딩 에이전트
- __1.3.3 문서 및 슬라이드 작성 에이전트
- 1.4 에이전틱 아키텍처
- __1.4.1 AI 에이전트 요소
- __1.4.2 에이전틱 아키텍처 유형
- __1.4.3 에이전트 설계 패턴
- 1.5 에이전트 시스템
- __1.5.1 멀티 에이전트 시스템
- 1.6 개발 환경 구축
- __1.6.1 윈도우에서 파이썬 설치하기
- __1.6.2 프로젝트 폴더 만들기
- __1.6.3 비주얼 스튜디오 코드 설치하기
- __1.6.4 API 키 발급받기
- ▣ 02장: RAG
- 2.1 실습 환경 구축하기
- __2.1.1 프로젝트 폴더 생성하기
- __2.1.2 가상 환경 생성하기
- __2.1.3 VSCode에서 프로젝트 폴더 선택하기
- 2.2 RAGRetrieval-Augmented Generation 이해하기
- __2.2.1 텍스트 임베딩
- __2.2.2 코사인 유사도
- __2.2.3 OpenAI의 Embedding API
- __2.2.4 RAG를 이용한 챗봇의 구조
- 2.3 문서를 자르는 청킹 전략
- __2.3.1 길이로 분할하는 RecursiveCharacterTextSplitter
- __2.3.2 의미로 분할하는 SemanticChunker
- 2.4 다양한 PDF Loader
- __2.4.1 PyPDFLoader
- __2.4.2 PyMuPDFLoader
- __2.4.3 PDFPlumberLoader
- 2.5 벡터 데이터베이스
- __2.5.1 크로마
- __2.5.2 파이스
- 2.6 PDF로 답변하는 RAG 챗봇 구현하기
- ▣ 03장: ReAct와 펑션 콜링 에이전트
- 3.1 실습 환경 구축하기
- __3.1.1 프로젝트 폴더 생성하기
- __3.1.2 가상 환경 생성하기
- __3.1.3 VSCode에서 프로젝트 폴더 선택하기
- 3.2 ReAct를 이용한 RAG 에이전트
- __3.2.1 환경 설정 및 필수 라이브러리 설치
- __3.2.2 실습 데이터 다운로드
- __3.2.3 벡터 데이터베이스 저장소
- __3.2.4 ReAct 에이전트용 도구 생성
- __3.2.5 ReAct 에이전트를 위한 프롬프트 작성
- __3.2.6 프롬프트 렌더링 구현 함수
- __3.2.7 LLM 초기화 및 ReAct 파서 구현
- __3.2.8 ReAct 실행 루프 구현
- __3.2.9 에이전트 실행
- __3.2.10 에이전트 웹 데모
- 3.3 펑션 콜링 에이전트
- __3.3.1 환경 설정 및 필수 라이브러리
- __3.3.2 실습 데이터 준비
- __3.3.3 에이전트 도구 정의
- __3.3.4 에이전트 생성
- __3.3.5 에이전트 웹 데모
- ▣ 04장: 랭그래프
- 4.1 랭그래프란?
- 4.2 설치 및 환경 설정
- __4.2.1 API 키 로드
- 4.3 상태, 노드, 엣지
- __4.3.1 랭그래프 핵심 모듈 로딩
- __4.3.2 상태
- __4.3.3 노드(Node)
- __4.3.4 엣지
- __4.3.5 그래프 컴파일 및 시각화
- 4.4 도구(Tool)
- __4.4.1 Tavily 도구 활용
- 4.5 메모리 기능
- __4.5.1 랭그래프 체크포인터
- 4.6 사람 개입 기능
- __4.6.1 interrupt() 함수란?
- 4.7 상태 사용자 정의하기
- 4.8 과거로 돌아가기: 시간 여행 기능
- __4.8.1 왜 시간 이동이 필요한가?
- 4.9 랭그래프 에이전트 아키텍처
- __4.9.1 랭그래프 에이전트 구조
- __4.9.2 에이전트와 워크플로우 실습
- 4.10 랭그래프 실전 프로젝트
- __4.10.1 멀티 에이전트로 경제 데이터 시각화
- __4.10.2 멀티 에이전트로 경제 데이터 보고서 작성
- ▣ 05장: CrewAI
- 5.1 CrewAI란?
- 5.2 설치 및 환경 설정
- 5.3 CrewAI의 기본 구성 요소와 작동 원리
- 5.4 에이전트
- 5.5 작업(Task)
- 5.6 크루(Crew)
- 5.7 도구(Tools)
- __5.7.1 RAG Tool
- __5.7.2 SerperDev Tool
- __5.7.3 커스텀 도구 만들기
- 5.8 지식(Knowledge)
- __5.8.1 StringKnowledgeSource
- __5.8.2 PDFKnowledgeSource
- __5.8.3 KnowledgeConfig
- 5.9 추론(Reasoning)
- 5.10 계획(Planning)
- 5.11 CLI로 CrewAI Flow 프로젝트 생성하기
- __5.11.1 CLI(Command Line Interface)
- __5.11.2 Flow 생성
- 5.12 CrewAI 실전 프로젝트: 주식 분석 에이전트 시스템 구축
- ▣ 06장: smolagents
- 6.1 smolagents에서의 ReAct 구현
- 6.2 실습 환경 구축하기
- __6.2.1 프로젝트 폴더 생성하기
- __6.2.2 가상 환경 생성하기
- __6.2.3 VSCode에서 프로젝트 폴더 선택하기
- 6.3 스스로 웹을 탐색하는 에이전트
- __6.3.1 환경 설정 및 필수 라이브러리 설치
- __6.3.2 정보 탐색 에이전트
- __6.3.3 외부 패키지 연동하기
- 6.4 데이터 분석 에이전트
- __6.4.1 환경 설정 및 필수 라이브러리 설치
- __6.4.2 타이타닉 생존자 데이터 분석
- __6.4.3 머신러닝 학습하기
- ▣ 07장: A2A(Agent-to-Agent) 프로토콜
- 7.1 A2A란 무엇인가?
- 7.2 A2A의 발전 과정
- 7.3 A2A의 핵심 구성 요소
- __7.3.1 에이전트 카드(Agent Card)
- __7.3.2 태스크(Task)
- __7.3.3 메시지(Message)
- __7.3.4 파트(Part)
- __7.3.5 복합 파트 활용 예시
- __7.3.6 아티팩트(Artifact)
- 7.4 A2A 파이썬 SDK로 에이전트 구축하기
- __7.4.1 환경 설정 및 SDK 설치
- __7.4.2 Agent Executor 이해하기
- __7.4.3 Hello World 에이전트 구현
- __7.4.4 서버 설정 및 실행
- __7.4.5 클라이언트로 서버와 상호작용
- __7.4.6 정리
- 7.5 멀티 에이전트 협업 시스템 구축
- __7.5.1 멀티 에이전트 시스템 설계
- __7.5.2 분석 에이전트 구현
- __7.5.3 응답 에이전트 구현
- __7.5.4 코디네이터 구현
- __7.5.5 전체 시스템 실행 및 테스트
- __7.5.6 정리 및 확장 방향
- 7.6 A2A와 MCP의 통합
- __7.6.1 A2A와 MCP의 역할 비교
- __7.6.2 언제 A2A를, 언제 MCP를 사용하는가?
- __7.6.3 실습: MCP 도구를 활용하는 A2A 에이전트
- ▣ 08장: n8n
- 8.1 개발 환경 구축하기
- __8.1.1 프로젝트 폴더 생성하기
- __8.1.2 가상 환경 생성하기
- __8.1.3 로컬 PC에 n8n 설치하기
- 8.2 n8n 작동 방식 이해하기
- __8.2.1 노드
- __8.2.2 워크플로우 설정
- __8.2.3 노드의 설정
- __8.2.4 [실습] n8n으로 AI 챗봇 만들기
- 8.3 [실습] 삼성전자 사업 보고서로 RAG 챗봇 만들기
- __8.3.1 데이터 다운로드 및 벡터스토어 API 키 발급받기
- __8.3.2 데이터 인덱싱 워크플로우 설정
- __8.3.3 챗봇 설정
- 8.4 [실습] 구글 시트 데이터 분석 및 시각화하기
- __8.4.1 데이터 수집과 구글 시트 변환
- __8.4.2 n8n과 구글 시트 연동하기
- __8.4.3 구글 시트 데이터 필터링하기
- __8.4.4 데이터 칼럼값 재정렬
- __8.4.5 구글 시트 데이터 기반 챗봇 만들기
- __8.4.6 퀵차트로 시각화하기
- ▣ 09장: MCP
- 9.1 MCP란?
- 9.2 MCP의 핵심 구성 요소
- 9.3 MCP의 확장성 혁신
- 9.4 MCP 아키텍처
- 9.5 MCP 생태계의 현재와 미래
- 9.6 MCP 개발 환경 구축하기
- __9.6.1 프로젝트 폴더 생성하기
- __9.6.2 가상 환경 생성하기
- 9.7 MCP 서버
- __9.7.1 어댑터를 활용한 툴 등록
- __9.7.2 MCP 인스펙터
- __9.7.3 메시지 형식
- __9.7.4 문서 검색 에이전트 MCP 실습
- 9.8 MCP 클라이언트
- 9.9 날씨 에이전트 실습
- __9.9.1 OpenWeatherMap API 키 발급받기
- __9.9.2 도시명 추출하기
- __9.9.3 OpenWeatherMap API 연동
- __9.9.4 MCP 도구 등록 및 서버 실행
- __9.9.5 MCP 클라이언트 구현하기: 날씨 질문하기
- __9.9.6 정리
- ▣ 10장: 바이브 코딩
- 10.1 개발 환경 구축하기
- 10.2 [실습1] 간단한 게임 만들기
- __10.2.1 덧셈뺄셈 게임 만들기
- __10.2.2 단계별 접근으로 복잡한 기능 구현하기
- __10.2.3 단일 HTML 파일로 빌드하기
- __10.2.4 마크다운 파일 만들어 저장하기
- 10.3 [실습2] 멀티 에이전트 여행 플래너 개발하기
- __10.3.1 프로젝트 구조 설정
- __10.3.2 3개의 에이전트 협업 시스템 만들기
- ▣ 11장: 오픈클로
- 11.1 오픈클로란?
- __11.1.1 환경 구성 및 인프라 배포
- __11.1.2 설치 및 실행
- 11.2 기본 사용법 및 운영 전략
- 11.3 오픈클로와 노션 연결
- 11.4 크론을 활용한 정보 자동 수집 실습
- ▣ 부록: AI 브라우저
- A.1 퍼플렉시티 코멧
- __A.1.1 코멧 설치 및 설정
- __A.1.2 영상 요약하기
- __A.1.3 멀티탭 컨텍스트 분석하기
- __A.1.4 이메일 요약과 답변, 특정 내용 검색하기
- __A.1.5 논문 읽고 요약하기
- __A.1.6 항공권 등 상품, 서비스 가격 비교
- __A.1.7 쇼핑 도우미
- __A.1.8 웹페이지의 내용을 추출해 구조화하기
- __A.1.9 음성 인식 기능과 유용한 프롬프트 모음
예제 코드
정오표
-
49쪽, 본문 2번째 줄
다음과 같은
12개의 패키지를 설치합니다.==>
다음과 같은
14개의 패키지를 설치합니다. -
49쪽, 불릿 목록의 5번째 항목
- langchain-text-
splitter: 랭체인에서 긴 문서를
==
- langchain-text-
splitters: 랭체인에서 긴 문서를
- langchain-text-
-
49쪽, 불릿 목록의 11번째 항목을 삭제(7번째 항목과 중복)
- langchain-community: 2.4절 ‘다양한 PDF Loader’에서 다양한 PDF Loader를 실습하기 위한 패키지
==>
(삭제)
-
59쪽, 페이지 하단 예제 코드
urllib.request.urlretrieve("https://raw.githubusercontent.com/lovit/soynlp/master/tutorials/2016-10-20.txt", filename="2016-10-20.txt")==>
urllib.request.urlretrieve("https://raw.githubusercontent.com/lovit/soynlp/refs/heads/master/tutorials/2016-10-20.txt", filename="2026-10-20.txt") -
71쪽, 2번째 코드 블록
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2023_%EB%B6%81%ED%95%9C%EC%9D%B8%EA%B6%8C%EB%B3%B4%EA%B3%A0%EC%84%9C.pdf")==>
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2023_%EB%B6%81%ED%95%9C%EC%9D%B8%EA%B6%8C%EB%B3%B4%EA%B3%A0%EC%84%9C.pdf", "2023_북한인권보고서.pdf") -
77쪽, 2번째 코드 블록
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2023_%EB%B6%81%ED%95%9C%EC%9D%B8%EA%B6%8C%EB%B3%B4%EA%B3%A0%EC%84%9C.pdf")==>
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2023_%EB%B6%81%ED%95%9C%EC%9D%B8%EA%B6%8C%EB%B3%B4%EA%B3%A0%EC%84%9C.pdf", "2023_북한인권보고서.pdf") -
85쪽, 3번째 코드 블록
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2020_%EA%B2%BD%EC%A0%9C%EA%B8%88%EC%9C%B5%EC%9A%A9%EC%96%B4%20700%EC%84%A0_%EA%B2%8C%EC%8B%9C.pdf")==>
urllib.request.urlretrieve("https://raw.githubusercontent.com/ai-agent-kr/agent-tutorial/main/Ch02/2023_%EB%B6%81%ED%95%9C%EC%9D%B8%EA%B6%8C%EB%B3%B4%EA%B3%A0%EC%84%9C.pdf", "2023_북한인권보고서.pdf") -
102쪽, 코드 블록의 13번째 줄
chat_history.append((message, bot_message))==>
chat_history.append({"role": "user", "content": message}) chat_history.append({"role": "assistant", "content": bot_message}) -
105쪽, 본문 7번째 줄
다음과 같은
12개의 패키지를 설치합니다.==>
다음과 같은
10개의 패키지를 설치합니다. -
105쪽, 불릿 목록의 4번째 항목
- langchain-text-
splitter: 랭체인에서 긴 문서를
==
- langchain-text-
splitters: 랭체인에서 긴 문서를
- langchain-text-
-
108쪽, 코드 블록의 4번째 줄
import requests==>
import json import requests -
107쪽, 본문 밑에서 11번째 줄
ReAcT방법론을 통해==>
ReAct방법론을 통해 -
107쪽, 본문 밑에서 9번째 줄
이번 절에서는
ReAcT기반의==>
이번 절에서는
ReAct기반의 -
113쪽, 본문 첫 번째 줄
ReACT에이전트가 활용할 수 있는==>
ReAct에이전트가 활용할 수 있는 -
115쪽, 본문 밑에서 4번째 줄
ReAcT에이전트에 등록한 도구에==>
ReAct에이전트에 등록한 도구에 -
128쪽, 본문 밑에서 2번째 줄
이제 사용자가 편리하게
ReACT에이전트와==>
이제 사용자가 편리하게
ReAct에이전트와 -
132쪽, 코드 블록의 3번째 줄
gr.Markdown("# ReACT 에이전트")==>
gr.Markdown("# ReAct 에이전트") -
133쪽, 코드 블록의 첫 번째 줄
logs = gr.Textbox(label="ReACT 실행 로그", lines=25, max_lines=25)==>
logs = gr.Textbox(label="ReAct 실행 로그", lines=25, max_lines=25) -
133쪽, 본문 5번째 줄
큰 제목인 "#
ReACT에이전트"와==>
큰 제목인 "#
ReAct에이전트"와 -
133쪽, 본문 밑에서 3번째 줄
오른쪽 영역에는 gr.Textbox(label="
ReACT실행 로그",==>
오른쪽 영역에는 gr.Textbox(label="
ReAct실행 로그",