들어가며
2025년을 기점으로 AI 업계의 화두가 "더 똑똑한 모델"에서 "자율적으로 행동하는 에이전트"로 옮겨가고 있다. 기존 AI가 질문에 답하는 백과사전이었다면, AI 에이전트는 목표를 이해하고 계획을 세워 직접 실행하는 유능한 비서에 가깝다. "제주도 2박 3일 여행 예약해줘"라고 말하면 항공권 검색, 숙소 비교, 결제까지 알아서 처리하는 시스템이다.
Google Cloud의 2026년 트렌드 리포트에 따르면, 2026년에는 모든 직원이 자신의 AI 에이전트 팀을 관리하는 감독자가 될 것이며, 에이전트가 기업의 역할, 워크플로우, 비즈니스 가치를 근본적으로 재정의할 것이라 전망한다. 도요타는 이미 멀티 에이전트 시스템으로 연간 10,000시간 이상을 절감했고, 전자상거래 API 프로젝트에서는 버그 70% 감소, 리팩토링 시간 75% 단축이라는 성과를 거두고 있다.
이 글에서는 AI 에이전트의 핵심 개념부터 Anthropic이 제시하는 5가지 설계 패턴, 멀티 에이전트 아키텍처의 실전 구현, 프레임워크 선택 가이드까지 종합적으로 다룬다.
1. 에이전트 vs 워크플로우: 핵심 구분
Anthropic이 수십 개 팀과 협업하며 발견한 가장 중요한 구분은 워크플로우와 에이전트의 차이다.
- 워크플로우(Workflow): LLM과 도구가 미리 정의된 코드 경로를 따라 동작하는 시스템. 개발자가 흐름을 설계하고, LLM은 각 단계에서 주어진 역할만 수행한다. 예측 가능하고 일관성이 높다.
- 에이전트(Agent): LLM이 동적으로 자신의 프로세스와 도구 사용을 결정하는 시스템. LLM이 스스로 다음 단계를 판단하고 실행한다. 유연하지만 예측이 어렵다.
| 구분 | 기존 AI | 워크플로우 | 에이전트 |
|---|---|---|---|
| 방식 | 질문에 답변 생성 | 정해진 순서대로 실행 | 스스로 계획하고 실행 |
| 결과물 | 텍스트, 이미지 | 정의된 작업의 결과물 | 목표 달성까지의 전체 결과 |
| 제어권 | 사용자 | 개발자 | LLM |
| 상호작용 | 1회성 문답 | 순차 파이프라인 | 목표 달성까지 지속 |
Anthropic의 핵심 조언: 가능한 가장 단순한 해결책부터 시작하라. 에이전트 시스템은 더 나은 성과를 낼 수 있지만, 지연 시간과 비용이 증가한다. 많은 경우 단일 LLM 호출 + RAG만으로도 충분하다. 워크플로우는 잘 정의된 반복 작업에, 에이전트는 유연한 판단이 필요한 복잡한 작업에 적합하다.
2. 에이전트의 기본 빌딩 블록: 증강 LLM
모든 에이전트 시스템의 기초는 **증강 LLM(Augmented LLM)**이다. 일반 LLM에 세 가지 핵심 기능을 결합한 것으로, 이것이 제대로 작동해야 그 위에 복잡한 패턴을 쌓을 수 있다.
1) 검색(Retrieval) 외부 지식 베이스에서 관련 정보를 가져와 LLM의 컨텍스트에 추가한다. RAG(Retrieval-Augmented Generation)가 대표적이다. LLM의 학습 데이터에 없는 최신 정보나 도메인 특화 지식을 활용할 수 있게 해준다.
2) 도구(Tools) 코드 실행, API 호출, 데이터베이스 조회, 파일 읽기/쓰기 등 외부 시스템과 상호작용하는 기능이다. 현재 모델들은 적절한 도구를 스스로 선택하고 필요한 파라미터를 생성할 수 있다. Anthropic의 MCP(Model Context Protocol)를 통해 서드파티 도구 생태계와 표준화된 방식으로 통합할 수 있다.
3) 메모리(Memory) 이전 대화, 작업 결과, 사용자 선호도 등을 저장하고 참조하는 기능이다. 단기 메모리(현재 세션의 대화 히스토리)와 장기 메모리(세션 간 지속되는 정보)로 나뉜다.
Anthropic은 구현 시 두 가지에 집중할 것을 권장한다:
- 특정 사용 사례에 맞게 이 기능들을 맞춤화하는 것
- LLM에 쉽고 잘 문서화된 인터페이스를 제공하는 것
도구의 설명이 애매하면 LLM이 제대로 활용하지 못한다. 도구의 입출력 스펙이 명확할수록 에이전트 성능이 올라간다.
3. Anthropic이 제시하는 5가지 핵심 워크플로우 패턴
Anthropic은 실제 프로덕션에서 검증된 5가지 워크플로우 패턴을 소개한다. 단순한 것에서 복잡한 것 순서로 정리했다.
3-1. 프롬프트 체인 (Prompt Chaining)
작업을 일련의 단계로 분해하여, 각 LLM 호출이 이전 호출의 출력을 처리하는 방식이다. 중간에 프로그래밍 체크를 넣어 프로세스가 정상 궤도에 있는지 확인할 수 있다.
핵심 원리: 지연 시간을 대가로 정확도를 높인다. 하나의 복잡한 작업을 여러 개의 쉬운 작업으로 나누면 각 단계의 성공률이 올라간다.
실전 예시:
- 마케팅 카피 생성 → 다른 언어로 번역
- 문서 개요 작성 → 개요가 기준을 충족하는지 검증 → 개요 기반으로 본문 작성
- 코드 생성 → 코드 리뷰 → 테스트 코드 작성
사용 시점: 작업을 고정된 하위 단계로 깔끔하게 분해할 수 있을 때.
3-2. 라우팅 (Routing)
입력을 분류하고 각 유형에 맞는 전문화된 프로세스로 보내는 방식이다. 관심사를 분리하여 각 경로에 최적화된 프롬프트를 사용할 수 있다.
핵심 원리: 한 프롬프트로 모든 유형의 입력을 처리하면, 한 유형을 최적화할 때 다른 유형의 성능이 떨어질 수 있다. 라우팅으로 이를 방지한다.
실전 예시:
- 고객 서비스: 일반 질문 / 환불 요청 / 기술 지원을 각각 다른 프로세스로 분기
- 모델 선택: 쉬운 질문은 Claude Haiku (저비용)로, 어려운 질문은 Claude Sonnet (고성능)으로 라우팅하여 비용 최적화
- 코드 분석: 언어별로 다른 분석 파이프라인으로 분기
사용 시점: 별도로 처리하는 것이 더 나은 명확한 카테고리가 있고, 분류를 정확히 수행할 수 있을 때.
3-3. 병렬화 (Parallelization)
여러 LLM을 동시에 실행하고 결과를 프로그래밍적으로 합치는 방식이다. 두 가지 변형이 있다:
- 섹셔닝(Sectioning): 작업을 독립적인 하위 작업으로 나눠 병렬 실행. 예를 들어 하나의 LLM은 사용자 쿼리를 처리하고, 다른 LLM은 부적절한 콘텐츠를 스크리닝하는 가드레일 역할을 맡는다. 같은 LLM이 두 역할을 동시에 하는 것보다 성능이 좋다.
- 투표(Voting): 같은 작업을 여러 번 실행해 다양한 결과를 얻는다. 코드 취약점 리뷰에서 여러 프롬프트가 각각 검토하고 플래그를 세우는 것이 대표적이다.
사용 시점: 여러 관점이 필요하거나, 독립적인 하위 작업을 속도를 위해 병렬 처리할 수 있을 때. 복잡한 작업에서 각 고려사항을 별도의 LLM 호출로 처리하면 집중도가 높아져 전체 성능이 올라간다.
3-4. 오케스트레이터-워커 (Orchestrator-Workers)
중앙 LLM(오케스트레이터)이 작업을 동적으로 분해하여 워커 LLM에 위임하고, 결과를 종합하는 방식이다.
병렬화와의 핵심 차이: 병렬화는 하위 작업이 미리 정의되지만, 오케스트레이터-워커에서는 오케스트레이터가 입력에 따라 하위 작업을 동적으로 결정한다. 코딩 작업을 예로 들면, 변경할 파일의 수와 각 파일의 변경 내용은 요청에 따라 달라지므로 미리 고정할 수 없다.
실전 예시:
- 여러 파일을 동시에 수정하는 코딩 작업 (Claude Code가 이 패턴을 사용)
- 여러 소스에서 정보를 수집하고 분석하는 리서치 작업
- 대규모 문서를 섹션별로 나눠 동시에 번역하는 작업
3-5. 평가자-최적화 (Evaluator-Optimizer)
하나의 LLM이 결과를 생성하고, 다른 LLM이 평가와 피드백을 제공하는 반복 루프다. 인간 작가가 글을 쓰고 → 교정하고 → 다시 쓰는 과정과 유사하다.
사용 시점: 명확한 평가 기준이 있고, 반복 개선이 측정 가능한 가치를 제공할 때. 두 가지 좋은 징후가 있다:
- 인간이 피드백을 줬을 때 LLM 결과가 명확히 향상됨
- LLM이 스스로 그런 수준의 피드백을 생성할 수 있음
실전 예시:
- 문학 번역에서 번역 LLM과 편집 LLM이 반복적으로 품질을 개선
- 코드 생성 후 테스트 실행 → 실패하면 에러 분석 후 재생성
4. 멀티 에이전트 아키텍처: 실전 구현
단일 에이전트의 한계는 명확하다: 컨텍스트 창 제한(하나의 AI가 모든 것을 기억할 수 없음), 전문성 부족(모든 도메인에 능통할 수 없음), 병렬 처리 불가능(한 번에 하나의 작업만 수행). 이를 극복하기 위해 멀티 에이전트 시스템이 등장했다.
4가지 멀티 에이전트 협업 패턴
AWS의 가이드에서 제시하는 4가지 핵심 패턴:
1) 도구형 에이전트 (Agents as Tools) 상위 에이전트(매니저)가 하위 전문 에이전트를 도구처럼 호출하는 구조다. 하위 에이전트는 여행 추천, 코드 실행, 데이터 분석 등 각각 특화된 기능을 맡는다. 역할 분담이 명확하고 유지보수가 쉬운 대신, 오케스트레이터의 복잡성이 높아지고 하위 에이전트 하나가 실패하면 전체 품질이 저하될 수 있다.
2) 스웜형 협업 (Swarm Agents) 중앙 통제 없이 동료 에이전트들이 서로 정보를 교환하며 집단 지성으로 문제를 해결한다. 브레인스토밍, 비평, 요약 등의 역할을 수행하며 반복적 상호작용으로 답을 수렴한다. 다양한 시각이 필요한 창의적 작업이나 분석 보고서 작성에 효과적이다.
3) 그래프 기반 네트워크 (Agent Graphs) 에이전트 간 연결 관계를 그래프로 정의해 실행 순서와 데이터 흐름을 명시적으로 제어한다. 상위 플래너가 중간 에이전트를 거쳐 하위 에이전트에게 작업을 분산하고 결과를 수집한다. 보안 제어와 감사 추적이 중요한 기업 환경에 적합하다.
4) 워크플로우 패턴 (Agent Workflows) 순차적 또는 병렬 작업 흐름을 정해진 절차로 분기/병합하며 실행하는 파이프라인이다. 에이전트 간 상태 전달, 단계별 오류 처리 등 세밀한 제어가 가능하다. 문서 처리 자동화, 금융 분석, 콘텐츠 생성 파이프라인에 자주 활용된다.
실전 사례: 5개 전문 에이전트로 풀스택 앱 구축
풀스택 앱 개발을 위한 구체적인 멀티 에이전트 구성 사례:
Architecture Agent — 시스템 아키텍처 설계, 데이터베이스 스키마 정의, 기술 스택 선정, 컴포넌트 간 인터페이스를 결정한다. "React + TypeScript 프론트엔드, Node.js 백엔드, PostgreSQL + Redis" 같은 구체적인 설계도를 출력한다.
Coding Agent — Architecture Agent의 설계를 실제 코드로 구현한다. 비즈니스 로직, API 엔드포인트, 프론트엔드 컴포넌트를 작성한다. 전문 개발자 대상 연구에서 구현 시간 35% 단축, 결함률 27% 감소 성과를 보였다.
Testing Agent — 유닛 테스트, 통합 테스트, E2E 테스트를 자동 생성한다. Coding Agent가 작성한 코드의 엣지 케이스와 예외 상황을 검증한다.
Security Agent — 코드의 보안 취약점을 분석한다. SQL 인젝션, XSS, 인증 우회 등 OWASP Top 10 취약점을 자동으로 탐지하고 수정안을 제안한다.
DevOps Agent — CI/CD 파이프라인 구성, Docker 설정, 클라우드 배포 설정을 담당한다. Coding Agent가 코드를 작성하면 DevOps Agent가 자동으로 배포 환경을 구성한다.
이 5개 에이전트의 오케스트레이션 흐름:
Architecture → Coding → (Testing + Security 병렬) → DevOps → 배포
5. 프레임워크 선택 가이드
에이전트 프레임워크 시장은 아직 승자가 없는 레이스에 가깝다. 각 프레임워크의 강점과 한계를 이해하고 목적에 맞게 선택해야 한다.
Anthropic의 원칙: LLM API를 직접 사용하는 것부터 시작하라. 많은 패턴이 몇 줄의 코드로 구현 가능하다. 프레임워크는 편의를 제공하지만, 추상화 계층이 기본 프롬프트와 응답을 가려 디버깅을 어렵게 만들고, 단순한 설정이면 충분한데 불필요한 복잡성을 더하는 유혹을 줄 수 있다. 프레임워크를 쓰더라도 반드시 내부 동작을 이해해야 한다 — 내부 구조에 대한 잘못된 가정이 가장 흔한 에러 원인이다.
Crew AI — 빠른 프로토타이핑의 최강자
"에이전트 + 도구 + 작업"을 블록처럼 조합하는 프롬프트 중심 개발. 20분 안에 작동하는 에이전트 팀을 만들 수 있을 정도로 진입장벽이 낮다. POC(개념 증명)과 데모에 최적화되어 있지만, 구조적 유연성이 부족해 틀을 벗어난 시도를 하면 난관에 부딪힌다. 내부 동작이 '마법'처럼 숨겨져 있어 커스터마이징이 어렵다.
Autogen (Microsoft) — .NET 개발자의 유일한 선택지
에이전트를 채팅방 참가자처럼 연결하는 그룹 채팅 아키텍처. Python뿐 아니라 .NET 환경을 지원하는 거의 유일한 프레임워크다. Microsoft 기술 스택(C#)과 자연스럽게 통합되지만, 아키텍처가 다소 구식이고 Studio는 버그가 많으며 Core API는 과도하게 복잡하다.
OpenAI Agents SDK — 프로덕션 배포에 최적화
메인 에이전트 - 서브 에이전트 계층 구조에 가드레일, 메모리, 로깅, 관찰 가능성 등 운영 환경 필수 기능이 내장되어 있다. 웹 검색, 코드 실행 등을 한 줄 코드로 활성화 가능하고, 실시간 음성 기반 에이전트 구현이 가능하다. 단, OpenAI 생태계에 종속된다.
Google ADK — 배터리 포함형 올인원
다양한 프레임워크의 장점을 모아둔 느낌. 내장 웹 UI, 테스트 자동화, REST API 변환, Google Cloud와 원활한 통합이 특징이다. Vertex AI 기반 완전 관리형 배포가 가능하고 100+ 커넥터를 지원하지만, 프레임워크 규모가 크고 학습 곡선이 있으며, Google 특유의 서비스 중단 리스크가 존재한다.
LangGraph — 자유도와 제어의 끝판왕
에이전트 구조를 그래프(노드+엣지)로 표현한다. 다른 프레임워크가 레고 블록이라면 LangGraph는 점토를 제공한다 — 사실상 모든 아키텍처를 구현할 수 있다. JP Morgan, Uber 등 대기업에서도 활용 중이다. 다만 학습 곡선이 높고, 그래프 사고 방식에 익숙해져야 한다.
권장 학습 경로
- Crew AI로 시작해 에이전트 개념을 빠르게 체험
- OpenAI Agents SDK 또는 Google ADK로 실제 제품을 만들어보며 프로덕션 감각 익히기
- LangGraph로 졸업하여 복잡한 커스텀 아키텍처를 직접 설계
하나의 프레임워크에 묶이지 말고 framework-agnostic 전략을 유지하는 것이 중요하다.
6. 에이전트 간 통신 프로토콜: MCP와 A2A
에이전트가 늘어나면서 "어떻게 소통하게 할 것인가"가 핵심 과제가 됐다.
MCP (Model Context Protocol)
Anthropic이 2024년 도입한 프로토콜로, AI 모델이 외부 도구, 데이터, 서비스와 표준화된 방식으로 연결되게 해준다. USB-C가 다양한 기기를 하나의 포트로 연결하듯, MCP는 AI 모델이 다양한 외부 시스템에 하나의 프로토콜로 접근할 수 있게 한다. 서드파티 MCP 서버 생태계가 빠르게 성장하고 있어, 한 번 구현으로 다양한 도구를 즉시 활용할 수 있다.
A2A (Agent-to-Agent Protocol)
Google이 발표한 프로토콜로, 서로 다른 조직에서 개발된 에이전트 간 통신을 위한 최초의 오픈 표준이다. JSON-RPC 2.0과 HTTP(S) 기반으로 구축되어 있다. "우리 회사의 고객서비스 AI와 재고관리 AI가 서로 대화할 수 있다면?" — A2A가 이 질문에 답한다.
비유하면: MCP는 에이전트가 도구를 사용하는 방법(에이전트 → 외부 시스템), A2A는 에이전트끼리 대화하는 방법(에이전트 ↔ 에이전트)이다. 둘은 보완 관계이며, 함께 사용될 때 진정한 에이전트 생태계가 완성된다.
7. 실전 조언: 현장에서 배운 교훈들
수십 개 팀의 사례에서 도출된 핵심 교훈들:
단순하게 시작하라. Anthropic이 협업한 팀 중 가장 성공적인 구현은 복잡한 프레임워크가 아니라 단순하고 조합 가능한 패턴을 사용했다. 필요가 확인된 후에 복잡도를 높여라.
도구 설계에 투자하라. 에이전트 성능의 상당 부분은 도구의 설계 품질에 달려있다. 도구 설명이 애매하면 LLM이 언제 어떻게 써야 하는지 판단하지 못한다. 도구의 입력/출력 스펙을 문서화하듯 명확하게 작성하라.
실패를 전제로 설계하라. 에이전트는 반드시 실패한다. 중요한 것은 실패 시 우아하게 복구하거나, 사람에게 에스컬레이션하는 메커니즘이다. 사람이 승인하는 체크포인트를 두는 것이 현실적이고 안전하다.
관찰 가능성을 확보하라. 에이전트가 어떤 판단을 내렸고 왜 그런 행동을 했는지 추적할 수 있어야 한다. 블랙박스 에이전트는 프로덕션에서 위험하다. 매 단계의 입력, 출력, 결정 근거를 로깅하라.
컨텍스트 관리에 신경 써라. 에이전트에게 너무 많은 컨텍스트를 주면 오히려 성능이 떨어진다. 각 단계에서 필요한 최소한의 정보만 정확하게 전달하는 것이 핵심이다.
마무리
AI 에이전트 엔지니어링은 아직 초기 단계이지만, 발전 속도는 매우 빠르다. 핵심은 화려한 프레임워크가 아니라 문제에 맞는 적절한 복잡도를 선택하는 것이다.
단일 LLM 호출 → 프롬프트 체인 → 라우팅 → 병렬화 → 오케스트레이터-워커 → 자율 에이전트 순으로, 복잡도는 필요에 따라 점진적으로 높여라. 가장 단순한 방법이 한계에 부딪혔을 때만 다음 단계로 넘어가면 된다.
2026년이 되면 에이전트는 더 이상 실험적 기술이 아니라 기업 운영의 핵심 인프라가 될 것이다. 지금이 설계 원칙과 패턴을 익히고, 실제로 만들어보며 감을 잡기에 가장 좋은 시점이다.