Home
Login

경량 멀티 에이전트 워크플로우 구축 프레임워크로, 에이전트 간 협업, 도구 호출 및 프로세스 오케스트레이션을 지원합니다.

MITPython 11.6kopenai Last Updated: 2025-06-19

OpenAI Agents Python 프로젝트 상세 소개

프로젝트 개요

OpenAI Agents SDK는 가볍고 강력한 Python 멀티 에이전트 워크플로우 구축 프레임워크입니다. 이는 OpenAI에서 공식적으로 발표한 프로덕션 레벨 에이전트 개발 도구이며, 이전 실험적 프로젝트인 Swarm의 업그레이드 버전입니다. 이 프레임워크는 간결하지만 완벽한 기능을 갖추고 있으며, 복잡한 멀티 에이전트 AI 애플리케이션을 구축하는 데 특화되어 있습니다.

핵심 특징

1. 플랫폼 간 호환성

  • 모델 독립성: OpenAI의 Responses 및 Chat Completions API 지원
  • 광범위한 호환성: 100개 이상의 다양한 대규모 언어 모델 지원
  • API 유연성: 다양한 AI 서비스 제공업체로 쉽게 전환 가능

2. 핵심 구성 요소

에이전트 (Agents)
  • 명령어, 도구, 보안 보호 및 핸드오프 메커니즘이 구성된 LLM 인스턴스
  • 각 에이전트는 명확한 책임과 능력 경계를 가짐
  • 사용자 정의 명령어 및 행동 패턴 지원
핸드오프 메커니즘 (Handoffs)
  • 에이전트 간에 제어권을 이전하는 데 사용되는 특수 도구 호출 메커니즘
  • 에이전트 간의 원활한 협업 구현
  • 복잡한 워크플로우 오케스트레이션 지원
보안 보호 (Guardrails)
  • 구성 가능한 입력/출력 유효성 검사 보안 점검
  • AI 애플리케이션의 안전성과 신뢰성 보장
  • 악성 입력 및 부적절한 출력 방지
프로세스 추적 (Tracing)
  • 내장된 에이전트 실행 추적 기능
  • 워크플로우 보기, 디버깅 및 최적화 지원
  • 다양한 외부 통합을 지원하는 확장 가능한 추적 시스템

기술 아키텍처

설치 및 구성

# Python 가상 환경 생성
python -m venv env
source env/bin/activate

# 기본 버전 설치
pip install openai-agents

# 음성 지원 버전 설치
pip install 'openai-agents[voice]'

기본 사용 예제

간단한 에이전트
from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
다국어 협업 에이전트
from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent", 
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())
도구 호출 예제
import asyncio
from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"The weather in {city} is sunny."

agent = Agent(
    name="Weather Assistant",
    instructions="You are a helpful weather agent.",
    tools=[get_weather],
)

async def main():
    result = await Runner.run(agent, input="What's the weather in Tokyo?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

워크플로우 실행 메커니즘

실행 루프 로직

  1. LLM 호출: 에이전트의 모델 및 설정을 사용하여 메시지 기록과 결합하여 호출
  2. 응답 처리: LLM이 응답을 반환하며, 도구 호출을 포함할 수 있음
  3. 출력 확인: 최종 출력이 있는 경우 반환하고 루프 종료
  4. 핸드오프 처리: 핸드오프 요청이 있는 경우 새 에이전트로 전환하고 다시 시작
  5. 도구 실행: 도구 호출을 처리하고 응답을 메시지에 추가한 다음 루프 다시 시작

최종 출력 메커니즘

  • 구조화된 출력: output_type이 설정된 경우 LLM이 일치하는 유형의 콘텐츠를 반환할 때 종료
  • 텍스트 출력: output_type이 없는 경우 에이전트가 도구 호출 또는 핸드오프가 없는 메시지를 생성할 때 종료

도구 시스템

세 가지 유형의 도구 지원

1. 호스팅 도구 (Hosted Tools)
  • LLM 서버에서 실행
  • OpenAI는 검색, 웹 검색 및 컴퓨터 사용과 같은 호스팅 도구 제공
2. 함수 호출 (Function Calling)
  • 모든 Python 함수를 도구로 사용할 수 있도록 지원
  • 유연한 사용자 정의 도구 개발
3. 에이전트 (Agent)를 도구로 사용
  • 에이전트가 다른 에이전트를 호출할 수 있도록 허용
  • 복잡한 계층적 협업 구조 지원

내장 도구

  • WebSearchTool: 웹 검색 기능
  • Computer Use: 컴퓨터 조작 능력
  • Retrieval: 정보 검색 기능

추적 및 모니터링

자동 추적 기능

  • 에이전트 실행 프로세스 자동 추적
  • 워크플로우 디버깅 및 최적화 용이
  • 사용자 정의 스팬을 지원하는 확장 가능한 설계

외부 통합 지원

  • Logfire: 로그 관리
  • AgentOps: 에이전트 운영 모니터링
  • Braintrust: AI 애플리케이션 개발 플랫폼
  • Scorecard: 성능 평가
  • Keywords AI: 키워드 AI 통합

응용 분야

적용 가능한 시나리오

  • 복잡한 비즈니스 프로세스 자동화: 다단계 비즈니스 처리 프로세스
  • 다국어 고객 서비스 시스템: 다양한 언어를 지원하는 지능형 고객 서비스
  • 전문 분야 도우미: 법률, 의료, 교육 등 전문 분야의 AI 도우미
  • 데이터 처리 파이프라인: 다단계 데이터 분석 및 처리
  • 창의적 협업 시스템: 여러 AI 역할이 협력하여 창의적인 작업 완료

워크플로우 패턴

  • 결정적 프로세스: 미리 정의된 워크플로우 단계
  • 반복 루프: 여러 번의 반복 최적화가 필요한 작업
  • 조건 분기: 조건에 따라 다른 처리 경로 선택
  • 병렬 처리: 여러 에이전트가 동시에 다른 작업 처리

개발 환경

개발 요구 사항

  • Python 3.8+
  • OPENAI_API_KEY 환경 변수 설정 필요
  • 비동기 및 동기 호출 방식 지원

개발 도구 체인

# uv 패키지 관리자 설치
uv --version

# 종속성 설치
make sync

# 테스트 실행
make tests

# 타입 검사
make mypy

# 코드 스타일 검사
make lint

프로젝트 장점

1. 간결한 설계

  • 최소한의 추상화 수준
  • 핵심 개념 명확
  • 이해하고 사용하기 쉬움

2. 프로덕션 준비 완료

  • OpenAI의 실제 경험을 기반으로 구축
  • 안정적이고 신뢰할 수 있는 API 설계
  • 완벽한 오류 처리 메커니즘

3. 높은 유연성

  • 복잡한 에이전트 관계 모델링 지원
  • 다양한 워크플로우 패턴 표현 가능
  • 강력한 사용자 정의 기능

요약

OpenAI Agents Python은 복잡한 AI 협업을 쉽고 사용하기 쉽게 만들어주는 전문적인 멀티 에이전트 개발 프레임워크입니다. 핵심 에이전트, 핸드오프, 보호 및 추적 메커니즘을 통해 개발자는 강력한 AI 애플리케이션 시스템을 빠르게 구축할 수 있습니다. 간단한 단일 에이전트 작업이든 복잡한 멀티 에이전트 협업 시나리오이든 이 프레임워크는 우아한 솔루션을 제공합니다.