Skip to main content

2. Agents SDK — 멀티에이전트 오케스트레이션

배경: Swarm에서 Agents SDK로

구분Swarm (2024.10)Agents SDK (2025.03)
성격실험적 교육용 프레임워크프로덕션 레디 SDK
지원 언어Python만Python + TypeScript
모델OpenAI만모델 무관(Model-agnostic)
추적없음내장 Tracing + OpenTelemetry
MCP없음네이티브 지원

4가지 핵심 구성 요소

(1) Agent — 역할 정의

from agents import Agent, Runner

sales_agent = Agent(
    name="Sales Agent",
    instructions="""당신은 영업팀 전문 상담사입니다.
    - 제품 가격, 라이선스, 할인 정책에 대해 정확히 답변하세요.
    - 기술적 질문은 직접 답하지 말고, 기술 상담 에이전트로 넘기세요.""",
    model="gpt-4.1",
    tools=[pricing_tool, crm_lookup_tool],
)

(2) Handoff — 에이전트 간 위임

from agents import Agent, handoff

tech_agent = Agent(
    name="Tech Support Agent",
    instructions="기술적인 질문에 답변합니다.",
    tools=[docs_search_tool, code_executor_tool],
    handoffs=[handoff(sales_agent)],
)

triage_agent = Agent(
    name="Triage Agent",
    instructions="""사용자 요청을 분류하여 적절한 에이전트로 라우팅하세요.""",
    handoffs=[handoff(sales_agent), handoff(tech_agent)],
)

(3) Guardrail — 입출력 안전장치

Guardrail은 에이전트의 입력과 출력을 자동으로 검증 합니다. 별도의 Safety Agent가 입력을 판단하고, tripwire_triggered로 차단 여부를 결정합니다.

(4) Tracing — 실행 추적

Runner.run()을 호출하면 자동으로 트레이스가 생성되며, OpenTelemetry 프로토콜을 지원하여 기존 관측 인프라에 통합 가능합니다.

완성 예제: 멀티에이전트 고객 상담 시스템

from agents import Agent, Runner, handoff, trace
import asyncio

order_agent = Agent(
    name="Order Agent",
    instructions="주문 조회, 배송 상태 확인을 담당합니다.",
    tools=[lookup_order],
)

refund_agent = Agent(
    name="Refund Agent",
    instructions="환불, 반품 관련 문의를 처리합니다.",
    tools=[check_refund_policy],
)

triage_agent = Agent(
    name="Triage Agent",
    instructions="""고객 문의를 분류하여 적절한 에이전트로 전달하세요.""",
    handoffs=[handoff(order_agent), handoff(refund_agent)],
)

async def main():
    with trace("customer-support"):
        result = await Runner.run(
            triage_agent,
            "주문번호 ORD-2026-1234 배송이 언제 오나요?"
        )
        print(result.final_output)

asyncio.run(main())

3. Responses API — Agent의 기반 API

Chat Completions vs Responses API

비교 항목Chat Completions APIResponses API
출시2023.032025.03
패러다임단일 요청-응답에이전틱 루프
도구 호출function calling (개발자 구현)Built-in tools
내장 도구없음web_search, file_search, code_interpreter, computer_use

Built-in Tools 상세

도구용도설명
web_search실시간 검색Bing/자체 인덱스 기반 웹 검색
file_search파일 검색벡터 스토어에서 RAG 검색
code_interpreter코드 실행Python 샌드박스에서 코드 실행
computer_use컴퓨터 제어스크린샷 기반 GUI 자동화
주의 Assistants API는 2026년 상반기 중 폐기 예정 입니다. 새로운 Agent 프로젝트는 처음부터 Responses API를 권장합니다.

4. GPT-4.1 — Agent 특화 모델

GPT-4.1(2025년 4월)은 OpenAI가 처음으로 “Agent용”을 명시적으로 표방한 모델입니다.
개선 영역내용
Instruction Following시스템 프롬프트의 복잡한 규칙을 정확히 준수
Tool Calling 신뢰성Function calling 정확도 향상
Long Context 처리1M 토큰 컨텍스트

가격 비교

모델Input (1M tokens)Output (1M tokens)컨텍스트
GPT-4.1$2.00$8.001M
GPT-4.1 mini$0.40$1.601M
GPT-4.1 nano$0.10$0.401M
성공 비용 최적화 팁: Triage Agent에 nano, Specialist Agent에 mini 또는 4.1, 최종 품질 중요한 응답에만 4.1 을 사용하면 비용을 90% 이상 절감할 수 있습니다.