[AI Agent] Multi Agent Preview (7주차)

Tool/Capability, Execution Pattern, Agent Archetype 관점에서 Agentic AI Design Pattern을 정리합니다

[AI Agent] Multi Agent Preview (7주차)
Photo by Bernd 📷 Dittrich / Unsplash

개요

AI Agent를 설계하기 위한 중요한 구분을 알아보고 계획을 세워봤는데요. 7주차부터 본격적으로 엔지니어링에 들어가보겠습니다. Multi Agent라고 7주차 내용을 만들었지만 구성하는 방식은 Single Agent와 크게 다르지 않기에 묶어서 정리하겠습니다.

Agentic AI design pattern

구성 요소를 하나하나 알아보겠습니다.

Agentic Design Patterns
Agentic Design Patterns 👉 🧠 ✅ I’m excited to share that my new book, “Agentic Design Patterns: A Hands-On Guide to Intelligent AI Agents,” is officially out! 👉 🧠 ✅ In a field moving at lightning speed, this book focuses on the durable, fundamental patterns that are becoming the foundation of…

AI Agent의 구성 요소

위 문서의 AI Agent 읽어보시면

Tool / Capability
  -> Agent가 할 수 있는 일

Execution Pattern
  -> 그 일을 어떤 순서와 조건으로 수행하는지

Agent Archetype
  -> tool과 pattern을 묶어 만든 역할

Multi-Agent
  -> 여러 archetype을 조합해 협업시키는 구조

Tool / Capability 구성 요소

Agent가 일반 LLM 호출과 달라지는 가장 큰 지점은 Tool입니다. LLM은 다음 행동을 결정하지만 실제 행동은 tool이 수행합니다.

Framework에서 Tool Calling / Function Calling이라고 합니다. Tool을 Prompt에 입력하고 모델을 호출하는 방식입니다. 모델이 직접 함수를 수행하고 결과를 받는게 아닌, 함수는 실행명만 전달받고 수행은 서버에서 실행됩니다.

AI Agent의 실행 깊이에 따라 서버가 다운되는 경우도 빈번합니다.
User request
-> LLM이 필요한 tool 판단
-> tool name + arguments 생성
-> runtime이 tool 실행
-> observation 반환
-> LLM이 다음 행동 또는 최종 답변 결정
Models - Docs by LangChain

OpenAI Agents SDK 기준으로도 tool은 여러 종류로 나뉩니다.

  • 거의 대부분의 AI Agent 패턴에서 사용되는 패턴입니다.
Capability 설명 대표 Agent 유형
Web Search 최신 웹 정보 검색 Researcher, News Analyst
File Search / Retrieval 문서, 벡터 저장소, 사내 자료 검색 RAG Agent, Knowledge Assistant
Code Interpreter sandbox에서 코드 실행 Data Analyst, Code Interpreter Agent
Computer Use / Browser GUI나 웹 화면 조작 Browser Operator, 업무 자동화 Agent
Function Calling 사내 API, DB, 계산 함수 호출 Customer Support, Booking Agent
MCP 여러 tool과 data source를 표준 방식으로 연결 IDE Agent, Enterprise Agent
Agents as Tools 다른 Agent를 callable tool처럼 사용 Orchestrator, Manager Agent

하지만 주의해야할 점은 Tool 자체가 Agent를 만드는게 아닙니다. 항상 같은 순서로 tool을 호출하면 Workflow입니다. 관찰 결과에 따라 LLM이 다음 tool을 선택하고 반복하면 Agent에 가까워집니다.

Workflow:
입력 -> 검색 -> 요약 -> 검증 -> 답변

Agent:
입력 -> 검색이 필요한가? -> 어떤 검색을 할까?
     -> 결과가 부족한가? -> 다른 tool을 쓸까?
     -> 이제 답해도 되는가?

2. 실행 패턴

Tool을 붙였다면 다음 질문은 실행 흐름입니다. 다양한 패턴이 존재하는데요. 단순한 프롬프트 기반의 처리부터 장기간의 반복 수행 에이전트까지 존재합니다.

패턴 핵심 적합한 경우
Prompt Chaining LLM 호출을 단계별로 연결 단계가 명확한 문서 처리
Routing 입력을 분류해 적절한 경로로 보냄 문의 유형, 문서 유형, task 유형이 나뉨
Parallelization 여러 작업을 동시에 실행 후 합침 독립 검토, 다중 출처 검색
ReAct 생각 -> 행동 -> 관찰 반복 tool 결과에 따라 다음 행동이 바뀌는 경우
Plan-and-Execute 먼저 계획하고 단계별 실행 긴 리서치, 보고서 작성, 코드 수정
Reflection / Evaluator 생성 결과를 평가하고 개선 글쓰기, 코드 리뷰, 품질 개선
Orchestrator-Workers 중앙 조율자가 하위 작업을 분배 파일 여러 개 수정, 리서치 분업
Graph / State Machine 상태와 전이를 명시적으로 관리 persistence, HITL, recovery가 필요한 업무
Agent-to-Agent (A2A) Protocol
A model-driven approach to building AI agents in just a few lines of code.

3. Agent Archetype

 실제로 자주 등장하는 Agent 유형을 보면 이해가 쉬워집니다.

Researcher Agent

Researcher Agent는 여러 출처를 조사하고 요약/추출한 뒤 근거를 남겨 답변하는 Agent입니다.

항목 내용
목표 사용자의 질문에 대해 근거 있는 조사 결과 제공
주요 tool web search, file search, browser, retrieval
실행 패턴 ReAct, Plan-and-Execute, Routing
산출물 출처 목록, 요약, 비교표, 결론
리스크 출처 hallucination, 오래된 정보, 편향된 검색, citation mismatch

Claude.ai ChatGPT, Gemini를 보면 확인할 수 있죠.

Building Deep Research: How we Achieved State of the Art
A Blog post by Tavily on Hugging Face

Researcher Agent는 단순 RAG와 다릅니다.

RAG는 보통 정해진 문서 집합에서 검색 후 답변합니다. Researcher Agent는 검색 결과가 부족하면 다른 source를 찾고, 여러 문서를 비교하고, 상충되는 내용을 표시해야 합니다.

그리고 RAG에서 추출된 정보들로 다음 키워드를 생성해내는 방식이죠

질문
-> 검색 계획 수립
-> source A 검색
-> source B 검색
-> 상충 내용 확인
-> 추가 검색 여부 판단
-> 근거와 함께 답변

Code Interpreter / Data Analyst Agent

Code Interpreter는 Agent에게 계산과 실행 능력을 주는 capability입니다. Data Analyst Agent 또는 Code Interpreter Agent라고 볼 수 있습니다.

항목 내용
목표 데이터 분석, 계산, 파일 처리, 차트 생성
주요 tool sandboxed Python, file upload, chart generation
실행 패턴 write code -> run -> observe -> fix -> rerun
산출물 계산 결과, 표, 그래프, 변환 파일
리스크 잘못된 코드, resource 과다 사용, 파일 권한, 결과 검증 부족

OpenAI Code Interpreter 문서는 모델이 sandbox 환경에서 Python을 작성하고 실행해 데이터 분석, 수학, 파일 처리, 그래프 생성을 수행할 수 있다고 설명합니다.

Code Interpreter | OpenAI API
Allow models to write and run Python to solve problems.

중요한 점은 "코드를 생성한다"보다 "실행 결과를 관찰하고 다시 고친다"입니다.

질문: CSV에서 월별 매출 추이를 분석해줘
-> 파일 구조 확인
-> Python 코드 작성
-> 실행
-> 오류 발생 시 수정
-> 통계 계산
-> 그래프 생성
-> 해석 제공

특히 엔지니어에게 Text To SQL, 로그 분석에 유용합니다. 모든 데이터를 넣는게 아닌 AI Agent가 스키마만 확인해서 쿼리를 실행하고 실행 결과만 분석하는거죠. 모든 데이터를 받기에는 컨텍스트 제한으로 인한 대규모 분석을 수행하기 어렵습니다.

ai-engineering-group/src/20260304-Bedrock-AgentCore-Hands-On/bedrock-agentcore-code-interpreter/workshop.ipynb at main · awskrug/ai-engineering-group
AWSKRUG AIEngineering Group. Contribute to awskrug/ai-engineering-group development by creating an account on GitHub.

Coding Agent

Coding Agent는 Code Interpreter와 비슷해 보이지만 다릅니다. Code Interpreter는 sandbox 안에서 코드를 실행해 문제를 풉니다. Coding Agent는 실제 코드베이스를 읽고 수정하고 테스트합니다.

Claude Code, Codex, Cursor 등 워낙 유명한 유형들 중 하나입니다.

항목 Code Interpreter Coding Agent
주된 환경 sandbox 실제 repository
주요 작업 계산, 분석, 파일 처리 코드 수정, 테스트, 리팩터링
위험 잘못된 계산, resource 사용 기존 코드 파손, test 실패, dependency 변경
필요한 장치 sandbox, timeout diff, test, git status, human review

Coding Agent의 경우엔 필수적으로 변경 범위와 검증 방법이 설계되었습니다.

Explore -> Plan -> Implement -> Commit

요구사항 확인
-> 관련 파일 탐색
-> 수정 계획
-> 코드 변경
-> 테스트 실행
-> diff 요약
-> 필요 시 human review
Agent loop: prompt enters, Claude evaluates, branches to tool calls or final answer

Orchestrator Agent

Orchestrator는 직접 모든 일을 하지 않고, 요청을 분해해 적절한 tool, workflow, agent에 맡깁니다. 주로 챗봇에서 다양한 Tool, 혹은 Agents간 연결을 위해 사용합니다.

항목 내용
목표 작업 분해, routing, 결과 합성
주요 tool subagent 호출, workflow 호출, router, task queue
실행 패턴 Orchestrator-Workers, Router, Plan-and-Execute
산출물 통합 결과, 실행 계획, 하위 작업 결과 요약
리스크 과도한 분해, 비용 증가, 책임 경계 불명확

Orchestrator는 Multi-Agent의 입구처럼 보이지만, 반드시 Multi-Agent는 아닙니다.

단일 Agent Orchestration:
Manager LLM이 search_tool, code_tool, eval_tool을 순서대로 호출

Multi-Agent Orchestration:
Manager Agent가 Research Agent, Code Agent, Review Agent를 호출

정리

모든 AI Agent가 똑같은 구조를 따라가는 것은 아닙니다. 목적에 따라, 사용 사례에 따라 로직이 다른 것처럼 구성 요소도 모두 다릅니다.

Reference