[목 차]
[01부] 에이전틱 패러다임: AI, 도구에서 주체로
▣ 01장: 새로운 패러다임의 등장 - 에이전틱 AI
1.1 똑똑하지만 수동적인 도구: 생성형 AI의 한계
1.2 지능을 넘어 행동으로: AI 에이전트의 정의와 본질
1.3 왜 지금이 에이전틱 AI 시대인가?
__첫 번째 동력: LLM 기반의 범용 추론 엔진
__두 번째 동력: API 생태계의 성숙과 도구 활용
__세 번째 동력: 사용자 요구의 변화와 업무 위임
▣ 02장: AI 에이전트 시스템의 설계 원리
2.1 AI 에이전트의 핵심 컴포넌트
__LLML: 전략 수립과 추론 엔진
__LLM의 핵심 추론 기능
__메모리: 지식의 축적과 문맥의 유지
__도구: 외부 세계와의 상호작용 및 실행 엔진
2.2 계층형 아키텍처: 단순 실행에서 복잡한 추론까지
__인지 계층: 환경 데이터 수집 및 해석
__추론 계층: 전략적 사고의 중추
__메모리 계층: 맥락의 유지와 지식의 인출
__행동 계층: 외부 세계와의 상호 작용
__성찰 계층: 사후 평가 및 자기 개선
2.3 에이전틱 워크플로: 작업의 흐름을 설계하는 법
__계획: LLM의 추론을 통한 전략 수립
__행동: LLM의 판단에 따른 도구 호출
__성찰: LLM의 자기 비판과 루프 완성
2.4 디자인 패턴: 자율성을 구현하는 설계 공식
__계획 패턴: 복잡한 목표를 하위 태스크로 구조화
__도구 사용 패턴: LLM의 한계를 넘어서는 외부 기능 연동
__자기 성찰 패턴: 결과의 무결성을 위한 검증 루프
__멀티 에이전트 협업 패턴: 역할 분담과 집단 지성의 구현
2.5 싱글 에이전트 vs 멀티 에이전트
__싱글 에이전트: 집중된 지능의 효율과 한계
__멀티 에이전트: 전문화와 협업이 만드는 시너지
[02부] 핵심 메커니즘: 에이전트의 뇌, 기억, 그리고 손발
▣ 03장: 에이전트의 두뇌 - 추론 엔진
3.1 추론 엔진으로서의 LLM과 그 역량
__환경 인지: 다양한 형태의 데이터 수집 및 해석
__추론 및 의사 결정: 주어진 맥락과 최종 목표 분석
__실행 및 소통을 위한 출력 생성
3.2 CoT(Chain of Thought): 사고의 연쇄를 이끌어내는 법
3.3 ReAct 프레임워크: 추론과 행동의 유기적 결합
3.4 성찰: 스스로 피드백하고 개선하는 지능
▣ 04장: 에이전트의 기억과 지식 - Memory & Knowledge
4.1 에이전트 메모리의 계층 구조와 작동 원리
__단기 메모리: 에이전트의 실시간 작업 메모장
__장기 메모리: 에이전트의 지속적인 지식 창고
4.2 단기 메모리: 컨텍스트 관리와 실시간 최적화
4.3 장기 메모리: 데이터베이스를 활용한 지식 저장
__Docker를 이용한 PostgreSQL 환경 구축
__필수 패키지 및 드라이버 설치
__데이터베이스 구조 설계
__정보 추출용 프롬프트 설계
__PostgreSQL 데이터 업데이트 로직
__통합 실행 흐름: “기억의 동기화”
▣ 05장: 에이전트의 손과 발 - 도구 활용
5.1 도구호출: 언어 모델의 한계를 넘는 도구 호출의 본질
__1. 도구(Tool)
__2. 함수 호출(Function Calling)
__3. 도구 호출(Tool Calling)
__1단계: 도구(함수) 정의
__2단계: LLM의 판단과 요청(도구 호출)
__3단계: 애플리케이션의 실행
__4단계: 결과 전달 및 최종 답변
5.2 코드 실행: 도구를 넘어 직접 문제를 해결하는 메커니즘
▣ 06장: 에이전트 기능의 확장과 심화
6.1 MCP(Model Context Protocol): 에이전트 연결의 새로운 표준
__리소스(Resources): 읽을 수 있는 정보(콘텐츠)를 제공
__리소스 목록 조회: resources/list
__리소스 읽기: resources/read
__도구(Tools): 실행 가능한 함수(행동)를 제공
__도구 목록 조회: tools/list
__도구 호출: tools/call (get_weather_forecast)
__도구 호출: tools/call (search_flights)
__프롬프트(Prompt): 재사용 가능한 프롬프트 템플릿(대화/작업양식) 제공
__프롬프트 나열: prompts/list
__프롬프트 가져오기 및 인자 주입: prompts/get
__도구를 통한 동적 데이터 접근
__리소스를 통한 논리적 판단 근거
__프롬프트를 통한 작업 최적화
__Node.js 및 npm 설치
__MCP 서버 선행 실행
__MCP Inspector 실행
__SSE 연결 설정 (Connect)
__MCP Inspector를 활용한 3단계 테스트
__OpenAI 모델을 MCP 호스트로 구현하기
__호스트의 작동 원리와 흐름
__MCP 서버 준비: weather_server.py (Stdio 모드)
__MCP 호스트 구현: 대화의 루프 완성하기
6.2 A2A(Agent-to-Agent): 에이전트 간 협업과 통신
__A2A 협업의 실무적 메커니즘: 계획에서 상태 관리까지
__사전 설치
__서버 구축: Weather Agent
__서버 실행
__에이전트 카드(Well-known JSON) 확인
__출력 결과(예시)
__클라이언트 구축: User Agent
6.3 에이전트 스킬: 에이전트에게 업무 절차를 가르치는 법
6.4 하네스 엔지니어링: 장기 자율 작업을 위한 관리 프레임워크
__프로젝트 구조
__스킬 정의(SKILL.md)
__하네스 엔지니어링 로직 구현(main_harness.py)
[03부] 프레임워크 실전: Google ADK를 활용한 에이전트 구축
▣ 07장: Google ADK로 시작하는 에이전트 개발
7.1 Google ADK 개요: 에이전트를 위한 새로운 운영체제
7.2 왜 ADK인가? 에이전트 구축의 효율 극대화
7.3 핵심 아키텍처와 구성 요소 훑어보기
__작업 수행의 기본 단위: 에이전트
__두뇌 컴포넌트: 모델과 계획
__손발 컴포넌트: 도구와 코드 실행
__기억과 산출물: 세션, 메모리, 아티팩트
__운영 및 신뢰성: 추적, 평가, 배포
__지휘자: 오케스트레이션
7.4 Hello, Agent! 나만의 첫 에이전트 만들기
__Google ADK 설치 및 환경 구성
__첫 번째 ADK 프로젝트 생성
__agent.py 코드 분석
__CLI로 실행하기
__웹 인터페이스를 통해 실행하기
__실행 결과 및 접속
__웹 UI의 주요 구성 및 활용
__직접 확인해 보기
__“Hello, Agent!” 수정하기 (Instruction Engineering)
__변경된 에이전트 확인하기
▣ 08장: 지능적 행동 설계: 지식과 행동의 결합
8.1 두뇌 연결: LLM 모델 등록 및 최적화 관리
__방법 1: 간편하게 문자열로 지정하기
__방법 2: 객체로 정밀하게 제어하기
__방법 3: 타사 모델 연결하기(LiteLLM)
8.2 구조 설계: 에이전트 프레임워크 심층 분석
__두뇌형 에이전트: LlmAgent
__감독형 에이전트: WorkflowAgent
__CustomAgent (개발자 정의 에이전트)
8.3 기능 구현: 복잡한 도구(Tools)를 능숙하게 다루는 법
__Prebuilt Tool(내장 도구): 즉시 사용 가능한 강력한 감각
__Custom Tool(Function Tool): 맞춤형 비즈니스 로직의 손발
__OpenAPI Tool: 거대한 외부 생태계와의 연결
__Code Execution(코드 실행): 논리적 오류를 잡는 연산 샌드박스
__MCP Tool(시스템 연결): 에이전트 생태계의 새로운 표준
__Prebuilt Tool: 즉시 사용 가능한 강력한 도구
__Prebuilt Tool의 가치와 동작 원리
__Custom Tool(Function Tool): “맞춤형 비즈니스 로직의 손발”
__OpenAPI Tool: 거대한 외부 생태계와의 연결
__Code Execution(코드 실행): 논리적 오류를 잡는 연산 샌드박스
__로컬 환경의 가장 빠른 시작: BuiltInCodeExecutor 실습
__사전 준비 및 도구 초기화
__로컬 환경의 완벽한 격리: Docker 기반 샌드박스 구축 실습
__사전 준비 (Prerequisites)
__ContainerCodeExecutor 초기화 및 에이전트 연동
__클라우드 환경의 매니지드 샌드박스: AgentEngine 기반 코드 실행
__실습 전 사전 준비
__MCP Tool(시스템 연결): “에이전트 생태계의 새로운 표준”
8.4 동적 계획: 플래너를 활용한 능동적 작업 수립
__BuiltInPlanner: 모델의 본능을 깨우는 내장형 플래너
__작동 원리: 보이지 않는 손
__PlanReActPlanner: 사고의 전 과정을 설계하는 명시적 플래너
▣ 09장: 맥락 유지와 결과물 관리
9.1 세션과 메모리: 대화의 흐름과 맥락을 유지하는 법
__수동적 기억: Events 로그 활용하기
__능동적 기억: State 메모장 활용하기
__사전 준비: 세션 기능이 추가된 코드 준비
__실습 전 사전 준비
__세션 영속성 검증 시나리오
9.2 효율적인 메모리 관리와 최적화 기법
__InMemoryMemoryService: 로컬에서 기억력 테스트하기
__VertexAiMemoryBankService: 클라우드 기반의 영구적 장기 기억
__실습 전 사전 준비
9.3 아티팩트: 작업 결과물을 체계적으로 관리하는 노하우
▣ 10장: 에이전트 운영 - 평가와 관측(Observability)
10.1 평가: 에이전트 평가 프레임워크
__트래젝터리(Trajectory): 정답보다 중요한 ‘풀이 과정’
__최종 응답 품질(Response Quality): 사용자가 받는 성적표
__테스트 파일(*.test.json): 가볍고 빠른 단위 테스트
__이발셋(*.evalset.json): 깊이 있는 통합 테스트
__빠른 검증을 위한 단위 테스트: 테스트 파일
__실전 시뮬레이션을 위한 통합 테스트: 이발셋(Evalset)
__EvalConfig 작성 예시 (sample_config.json)
10.2 관측 가능성: 에이전트의 사고 과정을 추적하고 디버깅하기
__로깅(Logging): 사고의 기록
__INFO 레벨 실행(adk web --log_level=INFO)
__DEBUG 레벨 실행(adk web --log_level=DEBUG)
__데이터 통합을 위한 사전 준비
▣ 11장: 에이전트 협업의 확장 - A2A(Agent to Agent)
11.1 ADK의 A2A 아키텍처와 구성 요소
11.2 에이전트 노출하기: A2AServer (Exposing)
__[사전 준비] A2A 모듈 설치
__에이전트 구현 (remote_weather_agent/agent.py)
__AgentSkill: 전문 분야의 구체적 정의
__AgentCard: 에이전트의 종합 명세서
11.3 에이전트 연결하기: RemoteA2aAgent(Consuming)
[04부] 실전 프로젝트: 상상을 현실로 만드는 에이전트
▣ 12장: 실전 프로젝트 - 나만의 AI 리서치 분석가 구축
12.1 프로젝트 정의: 최신 정보 수집 및 리포트 자동 생성 프로세스
12.2 플래너 에이전트: 사용자 요청 분석과 리서치 전략 수립
12.3 리서처 에이전트 구현: 뉴스 및 웹 데이터 스크래핑 자동화
12.4 작가 에이전트: 정보 요약과 구조화된 리포트 출력
12.5 오케스트레이터 에이전트: 전체 파이프라인 연결