[AI] 에이전트와 오케스트레이션

2026. 6. 22. 21:03·Artificial Intelligence

에이전트(Agent)는 계획을 세우고, 도구를 호출하고, 여러 전문 역할 간에 협업하며, 여러 단계의 작업을 완료할 수 있을 만큼 충분한 상태를 유지하는 애플리케이션이다.

 

Agents SDK 관점에서는 모델, 지시사항, 도구, 가드레일, 핸드오프, 구조화된 출력 같은 런타임 동작을 하나로 묶는 워크플로우의 핵심 단위라고 정의할 수 있다.

 

 

오케스트레이션(Orchestration)은 여러 단계나 여러 에이전트를 어떤 순서와 조건으로 실행할지 제어하는 방식을 말한다.

 

하나의 모델 호출에 도구와 애플리케이션이 소유한 로직을 더하는 것만으로 충분하다면 Responses API를 사용해도 된다.

다만, 애플리케이션이 오케스트레이션, 도구 실행, 승인, 상태를 직접 소유해야 한다면 Agents SDK를 사용하는 편 더 적합하다.

 

우선 명확한 작업을 담당할 수 있는 가장 작은 에이전트를 정의한다.

별도의 소유권, 다른 지침, 다른 도구나 승인 정책이 필요할 때만 에이전트를 더 추가하는 것이 적합하다.

 

멀티 에이전트 워크플로우는 여러 전문가가 작업의 서로 다른 부분을 담당해야 할 때 유용하다.

워크플로우의 각 분기에서 최종적으로 사용자 화면에 표시되는 답변을 누가 소유할지 결정하는 것이 첫 번째 선택지다.

 

오케스트레이션 패턴은 다음과 같다.

 

 

핸드오프(handoffs) 는 전문가가 해당 작업 분기에서 단순히 돕는 것이 아니라, 대화를 이어 받아 직접 소유해야 할 때 사용한다. 그러면 제어권이 전문가 에이전트로 이동하게 된다.

 

 

에이전트를 도구로서 사용하는 방식은 메인 매니저가 제어권을 유지하면서 전문가를 제한된 기능으로 호출해야 할 때 사용한다. 이로써 매니저가 답변 소유권을 유지하게 된다.

 

여기서 '전문가'는 특정 업무를 맡도록 별도의 지시 사항, 도구 표면, 출력 계약, 가드레일 또는 승인 정책을 가진 특화 에이전트를 뜻하며,

'매니저'는 최종 답변의 소유권을 유지하면서, 필요할 때 다른 전문 에이전트를 도구처럼 호출하는 상위 에이전트를 뜻한다.

 

자동 확인에는 가드레일(Guardrails) 을 사용하고, 승인 결정에는 사람 검토를 사용한다.

둘을 함께 사용하면 실행이 언제 계속되고, 일시 중지되고, 중단되어야 하는지를 정의할 수 있다.

 

메인 모델이 실행되기 전에 허용되지 않는 사용자 요청을 차단할 때는 입력 가드레일을 사용한다.

최종 출력이 시스템을 벗어나기 전에 검증하거나 수정할 때는 출력 가드레일을 사용한다.

함수 도구 호출 전후의 인자나 결과를 확인할 때는 도구 가드레일을 사용한다.

 

취소, 수정, shell 명령, 민감한 MCP 작업처럼 부작용이 있는 작업 전에 Human-in-the-loop approval 메커니즘을 사용하면 사람 또는 정책이 승인하거나 거절할 때까지 실행을 일시 중지한다.

 

승인 대상 도구 호출이 발생하면 실행은 중단되고, 애플리케이션은 interruption과 재개 가능한 state를 받아 승인 또는 거절을 처리한 뒤 같은 실행을 이어간다.

 

 

에이전트 수준 가드레일은 모든 곳에서 실행되지 않는다.

입력 가드레일은 체인의 첫 번째 에이전트에 대해서만 실행되고,

출력 가드레일은 최종 출력을 만드는 에이전트에 대해서만 실행되며,

도구 가드레일은 연결된 함수 도구에서만 실행된다.

 

따라서 매니저 스타일 워크플로우에서 모든 커스텀 도구 호출 주변에 검사가 필요하다면, 입력이나 출력 가드레일에만 의존하면 안 된다. 부작용을 만들 수 있는 도구 가까이에 검증을 추가로 둬야 한다.

 

샌드박스(Sandbox)는 에이전트가 파일 조작, 명령 실행, 패키지 사용, 포트 노출 등을 수행할 수 있도록 제공되는 제어된 격리 실행 환경이다.

 

에이전트의 답변이 단순히 프롬프트 컨텍스트를 추론하는 것이 아니라, 샌드박스 작업 공간에서 수행된 작업에 의존할 때 샌드박스를 사용한다.

  • 작업에 단일 프롬프트가 아니라 문서 디렉터리가 필요한 경우
  • 에이전트가 작업을 완료하기 위해 명령, 패키지, 스크립트를 필요로 하는 경우
  • 작업이 사람 검토를 위해 일시 중지된 뒤 같은 작업 공간에서 재개되어야 하는 경우

 

워크플로우가 짧은 모델 응답만 필요로 하고 영속적인 작업 공간이 필요 없다면 Responses API를 직접 호출하거나, 샌드박스 없이 기본 Agents SDK 런타임을 사용하면 된다.

 

 

샌드박스 설계에서 중요한 점은 하네스(Harness)와 컴퓨트(Compute)를 분리하는 것이다.

 

하네스는 모델 호출, 도구 라우팅, 승인, 추적, 복구 같은 제어 평면을 맡고,

컴퓨트는 샌드박스 안에서 파일 변경, 명령 실행, 포트 노출, 스냅샷 저장 같은 실행 작업을 맡는다.

 

샌드박스 작업은 하나의 요청으로 끝나지 않을 수 있으므로,

에이전트 실행 흐름을 복원하는 RunState, 샌드박스 세션에 다시 연결하기 위한 session state, 새 작업 공간을 시드하는 snapshot을 구분해야 한다.

 

 

참고 자료

https://developers.openai.com/api/docs/guides/agents?utm_source=chatgpt.com
https://developers.openai.com/api/docs/guides/agents/define-agents?utm_source=chatgpt.com
https://developers.openai.com/api/docs/guides/agents/orchestration?utm_source=chatgpt.com
https://developers.openai.com/api/docs/guides/agents/guardrails-approvals?utm_source=chatgpt.com
https://developers.openai.com/api/docs/guides/agents/sandboxes?utm_source=chatgpt.com

'Artificial Intelligence' 카테고리의 다른 글

[AI] 모델의 도구 사용과 함수 호출  (0) 2026.06.19
[AI] 추상 모델과 프롬프팅 전략  (0) 2026.06.19
[AI] LLM의 기본 구조와 학습 및 작동 방식  (0) 2026.06.17
'Artificial Intelligence' 카테고리의 다른 글
  • [AI] 모델의 도구 사용과 함수 호출
  • [AI] 추상 모델과 프롬프팅 전략
  • [AI] LLM의 기본 구조와 학습 및 작동 방식
SikPang
SikPang
게임 개발 공부 블로그
  • Second Step : 공부 블로그
    SikPang
    • 분류 전체보기 (62) N
      • Low-level (20)
        • Computer System (11)
        • Operating System (1)
        • System Programming (8)
      • Programming (12)
        • C# .NET (12)
        • C++ (0)
      • Data Structure (5)
      • Algorithm (6)
      • Computer Graphics (1)
      • Game Engine (12) N
        • Unity (12) N
        • Unreal (0)
      • Artificial Intelligence (4)
      • Memoir (2)
  • 최근 글

  • 전체
    오늘
    어제


  • hELLO· Designed By정상우.v4.10.6
SikPang
[AI] 에이전트와 오케스트레이션
상단으로

티스토리툴바