## **"Spring AI Agentic Patterns"** 시리즈 해설
이 시리즈는 AI 에이전트가 단순히 질문에 답하는 수준을 넘어, 스스로 계획을 세우고, 사용자에게 질문하고, 다른 에이전트와 협업하는 '자율적 에이전트'로 거듭나기 위한 핵심 도구와 패턴들을 다룹니다.
각 블로그 글의 핵심 내용을 요약해 해설해 드립니다.
---
### 1. Spring AI Generic Agent Skills
- **핵심 개념:** 에이전트에게 '설치형 능력치(Capability Packs)'를 부여하는 패턴입니다.
- **해설:** 에이전트의 프롬프트에 모든 지시사항을 다 넣으면 내용이 너무 길어지고 복잡해집니다. 이 패턴은 에이전트가 실행 시점에 필요한 기술(Skill)을 탐색하고, 필요할 때만 해당 기술의 명세(Markdown/YAML)를 로드하여 사용하게 합니다. 이를 통해 모델에 관계없이 이식 가능한 모듈형 기능을 구현할 수 있습니다.
### 2. Spring AI AskUserQuestionTool
- **핵심 개념:** 에이전트가 독단적으로 판단하지 않고, 모호한 부분은 사용자에게 거꾸로 질문하게 만드는 도구입니다.
- **해설:** 기존 AI는 사용자의 요청이 불분명해도 나름의 가정을 하고 답변을 내놓는 경향이 있습니다. `AskUserQuestionTool`을 사용하면 에이전트가 실행 중간에 사용자에게 "어떤 옵션을 선택하시겠습니까?" 또는 "추가 정보가 필요합니다"라고 물어볼 수 있습니다. 이를 통해 더 정확하고 신뢰할 수 있는 결과를 만들어냅니다.
### 3. Spring AI TodoWriteTool
- **핵심 개념:** 에이전트가 복잡한 작업을 수행할 때 '할 일 목록(To-Do List)'을 작성하고 관리하게 하는 패턴입니다.
- **해설:** 에이전트가 긴 작업을 하다 보면 중간 단계를 건너뛰거나 길을 잃는 경우가 많습니다. `TodoWriteTool`은 에이전트가 자신의 계획을 명시적인 리스트로 작성하고, 각 단계를 완료할 때마다 업데이트하게 강제합니다. 사용자는 에이전트가 현재 무엇을 하고 있고 다음 단계가 무엇인지 실시간으로 모니터링할 수 있습니다.
### 4. Spring AI Task Subagents
- **핵심 개념:** 하나의 거대한 에이전트 대신, 특정 업무에 특화된 '하위 에이전트(Sub-agents)'에게 일을 시키는 계층형 구조입니다.
- **해설:** '메인 에이전트(오케스트레이터)'가 전체 흐름을 관리하고, 복잡한 세부 작업은 별도의 컨텍스트를 가진 '서브 에이전트'에게 할당합니다. 서브 에이전트는 해당 작업에 최적화된 프롬프트와 도구만 가지고 독립적으로 실행되므로, 토큰 소모를 줄이고 성능을 극대화할 수 있습니다.
### 5. Spring AI Agentic Patterns: A2A Integration
- **핵심 개념:** 서로 다른 플랫폼이나 시스템에 있는 에이전트들이 통신할 수 있게 하는 **Agent2Agent(A2A) 프로토콜** 통합입니다.
- **해설:** 내가 만든 에이전트가 다른 회사의 에이전트와 협업해야 할 때 필요한 표준 규약입니다. HTTP/JSON-RPC 기반의 공개 표준을 사용하여 에이전트 간의 '능력 발견(Discovery)', '메시지 교환', '워크플로우 조정'을 가능하게 합니다. 에이전트판 '마이크로서비스 아키텍처'라고 이해하시면 쉽습니다.
---
### 요약하자면:
Spring AI는 이 시리즈를 통해 "**기술 정의(Skills)** → **사용자 소통(Ask User)** → **내부 계획(Todo)** → **조직화(Subagents)** → **외부 협업(A2A)**"로 이어지는 에이전트 개발의 표준 로드맵을 제시하고 있습니다. Java 개발자들이 복잡한 AI 에이전트를 체계적으로 구축할 수 있도록 돕는 도구 모음이라고 보시면 됩니다.
## 유튜브 해설
영상은 "Spring Office Hours: S5E04 - Spring AI Agentic Patterns with Christian Tzolov"로, Spring AI의 핵심 개발자인 Christian Tzolov가 출연하여 최근 블로그 시리즈로 연재된 에이전트 패턴(Agentic Patterns)의 배경과 실전 적용 방법을 설명하는 영상입니다.
약 1시간 10분 분량의 영상 핵심 내용을 5가지 포인트로 요약해 드립니다.
### 1. 에이전트 개발의 패러다임 변화: "Agentic RAG" [[38:18](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=2298)]
- 과거에는 사람이 미리 정보를 찾아 AI에게 넣어주는 방식(Prescriptive RAG)이었다면, 이제는 **에이전트가 스스로 판단하여 도구를 호출**하고 정보를 보충하는 '에이전트형 RAG(Agentic RAG)'로 변화하고 있음을 강조합니다.
- AI 모델은 고정된 과거 데이터만 가지고 있지만, 도구 호출(Tool Calling)을 통해 실시간 데이터와 외부 시스템에 접근함으로써 이 한계를 극복합니다.
### 2. 점진적 정보 공개 (Progressive Disclosure)와 에이전트 기술(Skills) [[42:59](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=2579)]
- 에이전트에게 처음부터 모든 도구와 지침을 다 주면 컨텍스트 창이 낭비되고 AI가 혼란을 겪습니다.
- **'에이전트 기술(Skills)'** 패턴은 필요한 순간에만 특정 기능의 명세를 로드하는 방식입니다. 이는 Anthropic의 Claude Code에서 영감을 받았으며, Spring AI를 통해 다른 모델(Gemini, OpenAI 등)에서도 동일하게 사용할 수 있도록 이식성을 높였습니다. [[49:50](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=2990)]
### 3. 주요 에이전트 도구 및 패턴 소개 [[59:08](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=3548)]
영상에서는 블로그에 소개된 핵심 도구들을 직접 언급합니다.
- **AskUserQuestionTool:** AI가 독단적으로 추측하지 않고 사용자에게 되묻게 하여 정확도를 높입니다.
- **TodoWriteTool:** 복잡한 작업 시 에이전트가 스스로 '할 일 목록'을 관리하며 길을 잃지 않게 합니다.
- **Task Subagents:** 메인 에이전트의 컨텍스트를 깨끗하게 유지하기 위해, 특정 하위 작업을 전담하는 서브 에이전트를 생성하여 실행합니다. [[01:00:38](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=3638)]
### 4. Spring AI와 다른 프레임워크(LangChain4j 등)의 차이 [[01:06:54](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=4014)]
- Christian은 Java 개발자들이 익숙한 **Spring 생태계(Spring Integration, Spring Batch 등)와의 긴밀한 통합**이 Spring AI의 최대 강점이라고 설명합니다.
- 단순히 AI 기능을 호출하는 것을 넘어, 기업용 애플리케이션의 복잡한 로직 속에 AI를 'Java답게' 녹여내는 것이 목표입니다.
### 5. Java 개발자를 위한 AI 미래 [[01:07:50](http://www.youtube.com/watch?v=_Lz-bsaV51M&t=4070)]
- 과거에는 AI/ML을 하려면 Python으로 언어를 바꿔야 했지만, 이제 Java 개발자도 Spring AI를 통해 최첨단 에이전트 기술을 동일한 수준(또는 그 이상)으로 구현할 수 있는 시대가 되었음을 역설하며 커뮤니티의 참여를 독려합니다.
## 블로그
- https://spring.io/blog/2026/01/13/spring-ai-generic-agent-skills
- https://spring.io/blog/2026/01/16/spring-ai-ask-user-question-tool
- https://spring.io/blog/2026/01/20/spring-ai-agentic-patterns-3-todowrite
- https://spring.io/blog/2026/01/27/spring-ai-agentic-patterns-4-task-subagents
- https://spring.io/blog/2026/01/29/spring-ai-agentic-patterns-a2a-integration
## 유튜브
- https://www.youtube.com/watch?v=_Lz-bsaV51M
댓글
댓글 쓰기