본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
AI 에이전트 오케스트레이션 패턴

개념·설계

오케스트레이션 개념과 지형도핵심 아키텍처 패턴에이전트 설계 원칙

도구·프로토콜

도구(Tool) 설계 패턴MCP와 에이전트 간 프로토콜

조율·상태

통신과 핸드오프상태 관리와 메모리 시스템라우팅과 디스패치

안정성·운영

에러 처리와 복구 전략평가와 테스트프로덕션 운영 패턴

실전

실전 아키텍처 사례프레임워크 비교와 선택

부록

검증 리포트업데이트 내역
핸드북›AI 에이전트 오케스트레이션 패턴›에이전트 설계 원칙

에이전트 설계 원칙

멀티에이전트 시스템에서 각 agent의 단일 책임, 입출력 계약, 도구 권한, 모델 선택 기준을 분리해 실패를 격리하고 운영 가능한 경계를 설계하는 방법을 정리합니다.

핵심 요약

  • 좋은 agent는 "똑똑한 프롬프트"가 아니라 단일 책임, 계약 우선, 권한 최소화, 모델 전략 분리라는 4가지 원칙으로 설계합니다.
  • 도구 권한·입력 컨텍스트·출력 형식·실패 격리 중 둘 이상이 다르면 agent를 분리할 가치가 큽니다.
  • 계약에 goal, inputs, constraints, tools, output schema, escalation rule을 구조화해두면 orchestrator가 상태 전이를 기준으로 다음 동작을 정합니다.
  • 모델은 책임 뒤에 붙는 선택지입니다. 라우터는 저렴한 모델, evaluator는 일관성 높은 structured output 모델로 역할에 맞춥니다.
  • 되돌리기 어렵거나 규제 리스크가 큰 작업에는 human gate를 계약의 escalation rule에 넣습니다.

좋은 agent는 "똑똑한 프롬프트"가 아니라 좁은 책임, 명확한 계약, 제한된 권한으로 정의됩니다. 오케스트레이션이 복잡해질수록 agent 설계에서는 기능 목록보다 경계 정의가 더 중요합니다.

설계 원칙 4가지

원칙의미실무 판단 기준
단일 책임agent마다 한 가지 주요 결과에 집중하나의 산출물을 한 문장으로 정의 가능
계약 우선입력, 출력, 실패 형태를 먼저 정의자연어가 아니라 구조화된 인터페이스 사용
권한 최소화필요한 tool만 제공read와 write를 기본적으로 분리
모델 전략 분리agent의 책임과 모델 선택을 분리고가 모델은 필요한 agent에만 사용

agent 경계와 계약 흐름

agent를 나누는 기준

agent를 역할 이름으로 나누지 말고 다음 질문으로 경계를 정합니다.

  1. 서로 다른 도구 권한이 필요한가
  2. 입력 컨텍스트가 완전히 다른가
  3. 출력 형식과 성공 기준이 다른가
  4. 실패했을 때 격리해야 하는가

이 네 가지 중 둘 이상이 Yes면 분리할 가치가 큽니다.

권장 계약 구조

항목예시설명
goalrefund policy answer이 turn에서 해결해야 할 목표
inputs고객 질문, 계정 상태, 정책 버전실행에 필요한 구조화 입력
constraints환불 확정 금지, 정책 근거 필수금지 사항과 안전 경계
toolssearch_policy, lookup_order허용된 capability
output schema분류, 답변 초안, 근거 목록downstream이 바로 쓸 수 있는 형태
escalation rule정책 불일치 시 human handoff실패 처리 기준

예시: agent 계약 스키마

type SupportResolution = {
  classification: 'faq' | 'billing' | 'refund' | 'escalate'
  answerDraft: string
  evidence: Array<{ source: string; quote: string }>
  confidence: number
  nextAction: 'respond' | 'request-human-review'
}

type SupportAgentInput = {
  userMessage: string
  orderId?: string
  locale: 'ko' | 'en'
  policyVersion: string
}

이 수준으로 계약을 정의하면 orchestrator는 모델 출력이 아니라 시스템 상태 전이를 기준으로 다음 동작을 정합니다.

프롬프트와 tool의 분리

프롬프트는 "어떻게 판단할 것인가"를, tool은 "무엇을 실행할 수 있는가"를 정의합니다. 둘이 섞이면 테스트하기도 재사용하기도 어려워집니다.

나쁜 예왜 문제인가더 나은 방식
프롬프트 안에 API 파라미터 규칙을 장문으로 설명계약이 코드 밖에 흩어짐tool schema로 이동
프롬프트가 data retrieval 세부를 모두 지시model이 retrieval 경로까지 떠맡음retrieval tool과 정책 분리
도메인 지식과 행동 정책이 하나의 system prompt에 섞임변경 영향이 큼prompt 레이어 분리

모델 선택 전략

agent 유형권장 모델 특성이유
라우터/분류기빠르고 저렴한 모델대량 처리와 짧은 출력
리서처/플래너긴 컨텍스트와 추론 안정성탐색과 계획 품질 중요
실행 agenttool calling 안정성외부 시스템 조작 신뢰성 중요
evaluator일관성과 structured outputpass/fail 기준 유지 필요

모델은 "책임" 뒤에 붙는 선택지입니다. agent 경계가 불분명한 채로 모델만 바꿔서는 품질 문제가 풀리지 않습니다.

사람 승인 경계 설계

agent 계약에는 escalation rule을 넣습니다. 되돌리기 어려운 작업, 규제 리스크가 큰 작업, 모델 confidence만으로 정당화하기 어려운 작업에는 human gate를 둡니다.

Handoff의 상세 설계는 에이전트 간 통신 챕터를 참조하세요.

흔한 실패 모드

실패 모드원인예방책
만능 agent화책임이 너무 넓음capability가 아니라 결과물 기준으로 분리
handoff 후 정보 손실입력 계약이 약함goal, constraints, evidence를 구조화 전달
tool 남용모든 tool을 한 agent에 제공toolbox를 capability 단위로 분리
모델 교체 시 품질 붕괴프롬프트가 모델 특성에 과적합output schema와 eval 세트를 고정

에이전트 설계 템플릿

### Agent Name
- Goal:
- Inputs:
- Allowed Tools:
- Output Schema:
- Escalation Rule:
- Observability Fields:
- Eval Dataset:

문서를 이렇게 남겨두면 새 agent를 추가할 때도 "왜 존재하는가"를 빠르게 판단합니다.

ADR 스타일 결론

Decision

agent는 역할명이 아니라 책임 경계로 설계합니다. 각 agent는 좁은 목표, 제한된 tool, 구조화된 입력과 출력을 갖고, 사람 승인과 실패 처리 규칙을 계약에 담습니다.

실무 체크리스트

  • 이 agent의 목표를 한 문장으로 설명할 수 있는가
  • 입력과 출력이 구조화되어 있는가
  • 허용된 tool이 최소 권한 원칙을 따르는가
  • 실패 시 human handoff 기준이 있는가
  • 모델 교체 후에도 유지되는 eval 세트가 있는가

다음에 읽을 장

  • 도구(Tool) 설계 패턴
  • 통신과 핸드오프
  • 평가와 테스트

관련 문서

Ch5. agent.ts, 모델, 컴팩션

엔터프라이즈 Eve 에이전트 개발 · defineAgent 설정을 모델 라우팅, 출력 스키마, 컴팩션, experimental flag 관점에서 운영 기준으로 해석한다.

에러 처리와 복구 전략

재시도/폴백/서킷브레이커, 에이전트 실패 격리, Human-in-the-Loop, 부분 실패 복구

Ch3. 보안 아키텍처

AI 보안·컴플라이언스 운영 · 게이트웨이·Policy Engine·오케스트레이터·도구 샌드박스로 신뢰경계를 분리하고 Attack Surface Score로 공격 표면을 관리하는 AI 보안 아키텍처 설계

고객지원 에이전트 아키텍처

Vercel 엔터프라이즈 AI 플랫폼 · 고객-facing 챗/지원 에이전트를 AI SDK, AI Gateway, MCP, escalation 구조로 설계하는 방법을 정리합니다.

통신과 핸드오프

메시지 전달 방식, 공유 상태 vs 메시지 패싱, 핸드오프 프로토콜, 컨텍스트 압축

핵심 아키텍처 패턴

Routing, Parallelization, Pipeline, Orchestrator-Workers, Evaluator-Optimizer, Hierarchical, DAG 7개 패턴 비교

도구(Tool) 설계 패턴

Function calling 스키마, read/write/compute 분류, 에러 반환 규약, toolbox 패턴

On this page

설계 원칙 4가지agent 경계와 계약 흐름agent를 나누는 기준권장 계약 구조예시: agent 계약 스키마프롬프트와 tool의 분리모델 선택 전략사람 승인 경계 설계흔한 실패 모드에이전트 설계 템플릿ADR 스타일 결론실무 체크리스트다음에 읽을 장