핵심 요약
이 SDK는 가벼운 추상화를 통해 에이전트 구축의 복잡성을 낮췄다. LiteLLM과의 결합으로 모델 선택의 유연성을 확보했으며, 내장된 Tracing 기능을 통해 프로덕션 환경에서의 디버깅 편의성을 제공했다.
배경
OpenAI가 실험적 프로젝트였던 Swarm을 계승하여 발표한 공식 Agents SDK의 핵심 기능과 실무 적용 방법을 다룬다.
대상 독자
LLM 기반 에이전트 시스템을 설계하고 배포하려는 파이썬 개발자
의미 / 영향
OpenAI SDK가 오픈소스 모델을 공식적으로 지원함에 따라 특정 모델 벤더에 대한 의존성이 낮아졌다. 개발자들은 고도화된 추적 및 관리 기능을 갖춘 프로덕션급 에이전트를 다양한 모델 조합으로 더 신속하게 구축할 수 있게 되었다.
챕터별 상세
Intro
- •Swarm의 후속작으로 프로덕션급 안정성 확보
- •4가지 핵심 Primitives 기반 설계
Quickstart
- •@function_tool을 통한 자동 도구 변환
- •Runner 클래스를 이용한 비동기 실행
from agents import Agent, function_tool, Runner
@function_tool
def get_weather(city: str) -> str:
"""returns weather info for the specified city."""
return f"The weather in {city} is sunny"
agent = Agent(
name="Haiku agent",
instructions="Always respond in haiku form",
model="gpt-4o-mini",
tools=[get_weather]
)
result = await Runner.run(agent, "What's the weather in New York?")
print(result.final_output)OpenAI Agents SDK의 기본 에이전트 및 도구 설정 예시
Running open models from Hugging Face
- •LiteLLM을 통한 Hugging Face 모델 통합
- •단일 인터페이스로 멀티 모델 지원
from agents.extensions.models.litellm_model import LiteLLMModel
model = LiteLLMModel(
model="huggingface/novita/Qwen/Qwen2.5-72B-Instruct",
api_keyos_environ=["HF_TOKEN"]
)
hf_agent = Agent(
name="Kimi agent",
model=model,
tools=[get_weather]
)LiteLLM을 사용하여 Hugging Face의 오픈소스 모델을 연동하는 예시
Tracing runs in the OpenAI platform
- •OpenAI 대시보드 연동 실행 추적
- •도구 호출 및 추론 단계별 시각화
Structured Output
- •Pydantic 모델 기반 출력 형식 강제
- •비정형 데이터의 정형화 추출
from pydantic import BaseModel
class CalendarEvent(BaseModel):
name: str
date: str
participants: list[str]
agent = Agent(
name="Calendar Extractor",
output_type=CalendarEvent,
model=model
)Pydantic을 활용하여 에이전트의 출력을 구조화하는 예시
Multi-agent orchestration: handoff vs manager
- •Handoff를 이용한 제어권 위임
- •Manager 패턴을 통한 중앙 집중식 조율
history_tutor_agent = Agent(name="History Tutor", handoff_description="Specialist for history")
math_tutor_agent = Agent(name="Math Tutor", handoff_description="Specialist for math")
triage_agent = Agent(
name="Triage Agent",
handoffs=[history_tutor_agent, math_tutor_agent]
)Handoff 기능을 이용한 멀티 에이전트 제어권 전환 예시
Building and using tools
- •Docstring 기반의 도구 선택 로직
- •프리빌트 도구를 통한 기능 확장
Streaming tokens and agent events
- •실시간 토큰 및 이벤트 스트리밍
- •비동기 루프를 통한 데이터 처리
실무 Takeaway
- OpenAI Agents SDK는 가벼운 추상화를 통해 에이전트 구축의 복잡성을 낮추고 개발자의 제어권을 극대화했다.
- LiteLLM 통합 기능을 활용하면 OpenAI 모델과 Hugging Face의 오픈소스 모델을 유연하게 조합하여 시스템을 설계할 수 있다.
- Pydantic 기반의 구조화된 출력 기능을 적용하여 LLM의 응답을 확정적인 데이터 스키마로 변환함으로써 시스템 간 연동 안정성을 높였다.
- 내장된 Tracing 기능을 활성화하여 복잡한 멀티 에이전트 워크플로의 내부 동작을 단계별로 모니터링하고 디버깅했다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.