Building Effective Agents · 2026.04

Agentic AI
패턴 가이드

LLM으로 실제로 동작하는 시스템을 설계할 때 쓰이는 6가지 핵심 패턴.
언제 어느 패턴을 써야 하는지, 어떻게 조합하는지, 무엇이 실패 모드인지.

8
핵심 패턴
3
Multi-agent 토폴로지
10+
실전 다이어그램

Workflow vs Agent

Workflows는 미리 정의된 경로로 LLM을 오케스트레이션합니다. 예측 가능하고 디버깅하기 쉽습니다.
Agents는 LLM이 스스로 도구와 경로를 결정합니다. 유연하지만 비용과 실패 위험이 높습니다.

대부분의 문제는 단일 LLM 호출 + RAG + 잘 쓴 프롬프트로 해결됩니다. 복잡도는 측정 가능한 성능 이득이 있을 때만 추가하세요. 이 가이드는 Anthropic의 "Building effective agents" 분류를 기반으로 합니다.

🤖
함께 보기
에이전트가 무엇이며 어떻게 진화해왔는지 개념부터 알고 싶다면 — 7단계 성숙도·Memory/RAG/Guardrails 아키텍처가 담긴 AI Agent 완벽 가이드를 보세요.
Agent 가이드 →

8가지 핵심 패턴

Input / User LLM Call Decision / Check Tool / Worker Memory / Storage Success Output Error / Exit
00
Augmented LLM — 모든 패턴의 기본 블록
Foundation

에이전틱 시스템의 가장 작은 단위. LLM + Tools + Memory + Retrieval의 조합입니다. 아래 모든 패턴은 이 기본 블록을 어떻게 여러 개 엮느냐의 문제로 환원됩니다.

🧱 Building Block · Hub & Spokes 모든 패턴의 단위 요소
🔧
Tools
function calls
web db api
💾
Memory
state
short long
🧠
LLM
reasoning core
📚
Retrieval
RAG · search
vector bm25
핵심 원리
LLM이 자기 스스로 언제/어떻게 tools/memory/retrieval을 쓸지 결정
인터페이스
Function calling · Tool use API · Retrieval augmentation
왜 중요한가
아래 모든 패턴은 이 블록을 어떻게 조합하느냐의 문제
01
Prompt Chaining
Sequential Simple

작업을 순차 단계로 쪼개서 이전 LLM의 출력이 다음 LLM의 입력이 됩니다. 중간에 게이트(검증)를 넣어 조건에 맞지 않으면 중단하거나 재시도할 수 있습니다.

📝 Sequential Pipeline 예시: 마케팅 카피 생성
📥
Brief
input
신제품 이어폰 · 20대 타겟
1
📋
Outline
LLM · structure
훅 / 특징 / CTA 구조 생성
🚦
Gate
check
길이 키워드
↩️
Retry
on fail
Outline 재생성 or 종료
pass ✓
2
✍️
Draft
LLM · write
Outline 기반 초안 작성
3
🔍
Refine
LLM · polish
문법·톤 다듬기
Copy
final
완성된 카피
언제 쓰나
작업을 고정된 단계로 명확히 쪼갤 수 있을 때
대표 예시
마케팅 카피: 아웃라인 → 초안 → 번역 → 검수
실패 모드
앞 단계 에러가 뒷 단계로 전파 → 게이트 필수
02
Routing
Classifier Simple

입력을 분류해서 적절한 전문 핸들러로 라우팅합니다. 각 핸들러가 자기 작업에만 특화되어 품질이 올라갑니다.

🧭 Classifier + Specialized Handlers 예시: 고객지원 티켓 분류
들어오는 티켓 예시
💳 "결제했는데 환불 가능한가요?"
🐛 "로그인 버튼이 안 눌려요 500 error"
❓ "계정 비밀번호 어디서 바꿔요?"
🧭
Router LLM
intent classifier
Haiku · 가볍게
💳 결제 / 환불
💰
Billing Handler
Sonnet
결제 DB 조회 · 환불 정책 인용
conf
94%
🐛 기술 / 버그
⚙️
Tech Handler
Sonnet + Tools
로그 조회 · 재현 step 요청
conf
88%
❓ 일반 / FAQ
📖
FAQ Handler
Haiku + RAG
FAQ 벡터 검색 · 간결 답변
conf
79%
언제 쓰나
입력 타입이 명확히 구분되고 각각 다른 처리가 필요할 때
대표 예시
고객지원: 환불/기술지원/일반 분류 → 전문 에이전트로
Router는 작은 모델(Haiku)로, Handler는 적절한 크기 모델로 → 비용 절감
03
Parallelization
Parallel Sectioning · Voting

작업을 병렬로 쪼개 실행 후 집계합니다. Sectioning은 독립 하위 작업 분할, Voting은 같은 작업을 여러 번 실행해 다수결.

Parallel Execution 두 가지 변형: Sectioning / Voting
1. Sectioning 독립 관점 병렬 서로 다른 관점을 동시에 검토 후 통합
📄
PR Diff
input
+124 / -87 lines
🔒
Security Review
SQL injection, XSS, auth check
🚀
Performance Review
N+1, Big-O, memory leaks
🎨
Style Review
naming, lint, readability
📊
Merged Report
aggregated
관점별 이슈 통합
2. Voting 신뢰도 향상 같은 작업 여러 번 → 다수결로 신뢰도 확보
📝
Claim
fact-check
"백신이 자폐 유발"
Run 1
🧠
FALSE · 근거: Wakefield 논문 철회
Run 2
🧠
FALSE · CDC 대규모 연구
Run 3
🧠
UNCLEAR · 정보 부족
Run 4
🧠
FALSE · 메타분석 결과
🗳️
Vote
3/4 FALSE
최종: FALSE
confidence 75%
언제 쓰나
작업이 독립적이거나 신뢰도를 높여야 할 때
대표 예시
코드 리뷰: 보안/성능/스타일 관점을 동시에 검토
장점
레이턴시 단축 + 컨텍스트 분리로 각 관점 집중
04
Orchestrator-Workers
Dynamic Advanced

중앙 Orchestrator LLM이 런타임에 하위 작업을 동적으로 분해하고 워커들에게 위임합니다. 서브태스크를 미리 정해둘 수 없는 문제에 적합합니다.

🎯 Dynamic Decomposition 예시: 코딩 에이전트의 버그 수정
👤 "로그인 API 500 에러 고쳐줘. 테스트도 통과해야 함."
📋 Shared Context
✓ auth.py:42 found
✓ test_auth.py loaded
~ edit applied
· pytest pending
🎯
Orchestrator LLM
plans & delegates
💭 "먼저 관련 파일 찾고 → 테스트 읽고 → 원인 파악 → 수정 → 검증 순으로 가자"
1
🔍
Grep Worker
find
grep "login"
→ auth.py
2
📖
Read Worker
inspect
auth.py
test_auth.py
3
✏️
Edit Worker
patch
null check
추가
4
⚙️
Bash Worker
verify
pytest -v
PR Created
done
tests: 23/23 pass
↻ 실패시 Orchestrator가 재계획
언제 쓰나
서브태스크가 런타임에 결정되고 병렬화 가능할 때
대표 예시
Claude Code의 sub-agents, 검색 에이전트
핵심 차이
Parallelization은 고정 분할, Orchestrator는 동적 분할
04+
Multi-agent Topologies — Orchestrator 확장
LangGraph Extension

Orchestrator-Workers는 Supervisor 토폴로지의 한 형태입니다. 실무에서는 제어 구조에 따라 세 가지로 나뉩니다: Supervisor(중앙 조정) · Swarm(피어 handoff) · Hierarchical(다층 구조).

🕸️ Multi-agent Control Topologies LangGraph 표준 3분류
🎯 Supervisor 중앙 집중
🎯
Super
👷
W1
👷
W2
👷
W3
중앙 supervisor가 작업을 분해하고 각 worker에게 할당. 결과를 통합.
쓰는 곳: 명확한 역할 분담 · 중앙 관리 필요 · 결과 통합
🐝 Swarm 피어 handoff
🤖
A
🤖
B
🤖
C
🤖
D
중앙 없이 에이전트끼리 서로 "너가 맡아" handoff. 전문성이 필요한 순간에 제어권 이동.
쓰는 곳: 탐색적 작업 · 다음 스텝이 중간 결과에 의존 · 동적 협업
🏛️ Hierarchical 다층
🎯
Top
🎯
A
🎯
B
👷
👷
👷
👷
여러 층의 supervisor. 상위는 팀 단위 조율, 하위는 실제 실행. 대규모 시스템 스케일링.
쓰는 곳: 대규모 다기능 시스템 · 팀 단위 전문화 · 책임 격리
Supervisor
현재 우리의 Orchestrator-Workers. 코드 에이전트, Claude Code의 sub-agents
Swarm
고객지원 multi-specialist, 다중 역할 롤플레잉, OpenAI Swarm SDK
Hierarchical
엔터프라이즈 에이전트 플랫폼 (회계·법무·고객 팀 병렬 운영)
05
Evaluator-Optimizer
Iterative Feedback Loop

한 LLM이 생성(Generator), 다른 LLM이 피드백(Evaluator). 기준을 충족할 때까지 반복해 품질을 끌어올립니다.

🔄 Generator ⇄ Evaluator Loop 예시: 기술 문서 영→한 번역
✍️
Generator
Translator LLM
피드백 반영해 재번역
"This async function..."
→ "이 비동기 함수는..."
draft feedback
🔍
Evaluator
Rubric-based
RUBRIC
☐ 전문용어 정확성
☐ 톤 일관성
☐ 자연스러운 한국어
☐ 원문 의미 보존
Iteration — 품질 점수 추이
v1
54%
"async→비동기" 용어 틀림 · 톤 불균일
v2
78%
용어 수정됨 · 3문단이 어색
v3
96% ✓
통과 · 최종 채택
언제 쓰나
정답은 없지만 품질 기준이 명확할 때
대표 예시
번역, 에세이 개선, 코드 리팩토링
주의
최대 반복 횟수(예: 3회) 제한 필수 → 무한루프 방지
06
Autonomous Agent
Autonomous High Complexity

LLM이 스스로 도구 사용과 경로를 결정합니다. 환경에서 피드백을 받고 계획을 수정하며 종료 조건까지 자율 실행. 유연하지만 비용과 실패 위험이 큽니다.

🤖 ReAct Loop · Think-Act-Observe 예시: 리서치 에이전트
👤 "2026년 LLM 벤치마크 상위 3개 모델을 표로 정리해줘"
1
🧠
Reason
Think
"벤치마크 사이트부터 찾자"
2
⚙️
Act
Tool call
web_search("LLM bench 2026")
3
👁️
Observe
Env feedback
10개 결과 · top 3 발견
4
💾
Update
Memory
step 4 저장
↻ loop · until goal met (step 4 / max 20)
📦 Available Tool Pool
🔍web_search 📄fetch_page 📊create_table 💾save_file 🧮calculator 🐍python_exec
✅ Success Exit
목표 달성 → 최종 답변 출력
🙋 Human Check-in
막힘 · 중요 결정 직전
⛔ Fail-safe
max steps · 비용 한도 초과
언제 쓰나
경로가 완전히 열려있고 자율성이 핵심 가치일 때
대표 예시
Claude Code, Computer Use, 리서치 에이전트
필수 가드레일
Max steps · 비용 한도 · Human check-in · 테스트 샌드박스
07
Human-in-the-Loop — Pause · Approve · Resume
Production-grade Safety

에이전트가 중요한 결정 직전에 일시정지하고 사람의 검토/승인/수정을 기다린 뒤 재개합니다. 자율성과 안전성의 균형을 잡는 프로덕션 1순위 패턴. LangGraph는 이를 checkpoint + interrupt로 구현합니다.

🙋 Pause → Human Review → Resume 예시: 외부 API 호출 직전 승인
🤖
Agent
running
"이메일 50명에게 발송 준비 완료"
⏸️
Pause
state saved
checkpoint #42
👤
Human Review
결정 검토
수정 가능
✓ Approve ✎ Edit ✗ Reject
▶️
Resume
continue
결정 반영 후 재개
언제 멈출까: 💸 결제·구매 📧 외부 발송 🗑️ 파괴적 작업 ⚖️ 법적 결정 🔐 권한 변경 🤔 낮은 confidence
언제 쓰나
실수의 비용이 크고 되돌릴 수 없는 모든 상황
대표 예시
코드 PR 머지 · 송금 · 이메일 발송 · 회의 예약 · 리소스 삭제
구현 핵심
상태 직렬화(checkpoint) · 비동기 대기 · 알림 · 재개 가능 메시지 큐

어떤 패턴을 써야 할까?

원칙

위로 갈수록 단순 · 저렴 · 예측 가능, 아래로 갈수록 복잡 · 비싸지만 강력. 항상 위쪽부터 시도하고, 한계에 부딪힐 때만 아래로 내려가세요.

🌲 Pattern Selection Tree 위에서 아래로 질문에 답하며 내려가세요
Q1 단일 LLM 호출로 충분한가?
YES NO
Single LLM + RAG
simplest
대부분 여기서 끝
Q2 작업 흐름이 예측 가능?
YES · 고정 NO · 동적
Q3 순차적?
📝
Prompt Chaining
if YES
🧭
Routing
if 분기
Parallelization
if 병렬
🔄
Evaluator-Optimizer
if 품질반복
Q4 자율성 수준?
🎯
Orchestrator-Workers
동적 분해
서브태스크 런타임 결정
🤖
Autonomous Agent
완전 자율
LLM이 경로도 결정

비용/레이턴시 비교

패턴 복잡도 비용 레이턴시 예측가능성
Single LLM 💰 ⚡⚡⚡ ✅✅✅
Prompt Chaining ⭐⭐ 💰💰 ⚡⚡ ✅✅✅
Routing ⭐⭐ 💰💰 ⚡⚡ ✅✅
Parallelization ⭐⭐ 💰💰💰 ⚡⚡⚡ ✅✅
Orchestrator-Workers ⭐⭐⭐ 💰💰💰
Evaluator-Optimizer ⭐⭐⭐ 💰💰💰 ✅✅
Autonomous Agent ⭐⭐⭐⭐ 💰💰💰💰
Human-in-the-Loop ⭐⭐⭐ 💰💰 🕒 (사람 대기) ✅✅✅

Multi-agent 토폴로지 선택

Orchestrator-Workers를 확장할 때 3가지 구조 중 선택 — 규모와 자율성 수준이 기준.

토폴로지 제어 구조 자율성 디버깅 적합한 규모
🎯 Supervisor 중앙 집중 낮음 쉬움 소·중
🐝 Swarm 피어 handoff 높음 어려움
🏛️ Hierarchical 다층 계층 중간 중간

실전 유즈케이스 매핑

Prompt Chaining
마케팅 카피 생성
브리프 → 아웃라인 → 초안 → 편집 → 번역. 각 단계 게이트로 품질 보장.
Routing
고객지원 자동화
환불/기술/일반 문의 분류 후 전문 핸들러로. Router는 Haiku, Handler는 Sonnet.
Parallelization
코드 리뷰 자동화
보안/성능/스타일 관점을 병렬 검토 후 통합 리포트. 관점별 전문 프롬프트.
Orchestrator-Workers
코딩 에이전트
Claude Code처럼 런타임에 Grep/Read/Edit/Bash 워커를 동적 분배.
Evaluator-Optimizer
고품질 번역
Generator가 번역, Evaluator가 용어·톤·자연스러움 평가. 최대 3회 루프.
Autonomous Agent
브라우저 자동화
Computer Use: 목표만 주고 클릭·입력·관찰을 스스로 판단.
🐝 Swarm Topology
다역할 고객지원
결제 → 기술 → 법무 상담원끼리 필요시 자율 handoff. 중앙 감독 없음.
🏛️ Hierarchical Topology
엔터프라이즈 에이전트 플랫폼
Top supervisor → 회계/법무/고객 팀 supervisor → 각 팀 워커들. 대규모 책임 격리.
Human-in-the-Loop
결제·발송 승인
에이전트가 이메일 50명 발송 직전 일시정지 → 사람 검토 → 재개. 실수 비용이 큰 모든 곳.

하이브리드 조합 예시

실무에서는 단일 패턴보다 조합이 많습니다:

  • Router → Orchestrator: 입력 타입별 라우팅 후 동적 분해
  • Chain + Evaluator: 각 단계마다 평가자로 품질 게이트
  • Agent + Parallelization: 에이전트가 병렬 서브 에이전트 호출
  • Agent + HITL: 자율 실행하되 되돌릴 수 없는 작업 직전만 승인 — 프로덕션 표준 조합
  • Hierarchical + Swarm: 상위는 계층 구조, 각 팀 내부는 swarm — 대규모 기업형 멀티에이전트
  • Orchestrator + Evaluator: 워커 결과를 평가자가 검증, 기준 미달 시 재위임

설계 원칙

🎯 Start simple. 단일 LLM 호출로 풀 수 있으면 거기서 멈추세요. 패턴을 쌓을수록 디버깅이 어려워집니다.

📏 Measure before adding complexity. 복잡도 추가가 성능 이득을 정량적으로 만드는지 확인 후 결정.

🧱 Augmented LLM이 기본 블록. 모든 패턴은 "LLM + Tools + Memory + Retrieval"을 어떻게 조합하느냐의 문제.

🚨 Autonomous Agent는 가드레일 필수. Max steps, 비용 한도, Human check-in, 샌드박스 — 네 가지를 반드시.

💡 투명성이 곧 신뢰. 에이전트가 무엇을 왜 하는지 로깅하고 보여주세요. 블랙박스는 프로덕션에서 살아남지 못합니다.

🔄 평가 주도 개발. 에이전트를 만들기 전에 평가셋부터. 이게 없으면 개선도 회귀도 탐지할 수 없습니다.

🧠 Context Engineering. 컨텍스트 윈도우에 무엇을 넣을지가 long-horizon 에이전트의 최대 병목. 어떤 메모리를 압축·요약·폐기할지 설계하세요. (Harrison Chase, 2026)

🙋 되돌릴 수 없는 작업엔 HITL. 결제·발송·삭제·권한 변경 — 자율 실행이 유혹이지만 Pause → Approve → Resume이 프로덕션 표준. 사람이 개입할 지점을 미리 설계하세요.

💾 State persistence = 에이전트의 undo. 체크포인트(checkpoint)로 모든 스텝 상태를 저장하면 실패 시 되감기, 디버깅 시 time-travel이 가능합니다.