콘텐츠로 이동

OpenAI Agents SDK TypeScript

OpenAI Agents SDK

적은 수의 기본 구성 요소로 텍스트 및 음성 에이전트를 구축합니다.

시작하기
import { Agent, run } from '@openai/agents';
const agent = new Agent({
name: 'Assistant',
instructions: 'You are a helpful assistant.',
});
const result = await run(
agent,
'Write a haiku about recursion in programming.',
);
console.log(result.finalOutput);

TypeScript용 OpenAI Agents SDK를 사용하면 매우 적은 추상화만으로 가볍고 사용하기 쉬운 패키지에서 에이전트형 AI 앱을 구축할 수 있습니다. 이 SDK는 에이전트를 위한 이전 실험 프로젝트인 Swarm의 프로덕션 준비 버전 업그레이드이며, Python에서도 사용할 수 있습니다. Agents SDK는 매우 작은 수의 기본 구성 요소를 제공합니다.

  • 에이전트: instructions 와 tools 가 갖춰진 LLM
  • Agents as tools / 핸드오프: 특정 작업을 위해 에이전트가 다른 에이전트에 작업을 위임할 수 있게 해주는 메커니즘
  • 가드레일: 에이전트에 대한 입력을 검증할 수 있게 해주는 기능

TypeScript와 함께 사용하면 이러한 기본 구성 요소만으로도 도구와 에이전트 간의 복잡한 관계를 표현할 수 있으며, 가파른 학습 곡선 없이 실제 애플리케이션을 구축할 수 있습니다. 또한 SDK에는 에이전트형 흐름을 시각화하고 디버깅할 수 있는 기본 제공 트레이싱이 포함되어 있어, 이를 평가하고 애플리케이션에 맞게 모델을 파인튜닝하는 것도 가능합니다.

SDK에는 두 가지 핵심 설계 원칙이 있습니다.

  1. 사용할 가치가 있을 만큼 충분한 기능을 제공하되, 빠르게 배울 수 있을 만큼 기본 구성 요소는 적게 유지합니다.
  2. 기본 설정만으로도 잘 동작하지만, 정확히 어떤 일이 일어날지 세밀하게 커스터마이즈할 수 있습니다.

다음은 SDK의 주요 기능입니다.

  • 에이전트 루프: 도구 호출을 처리하고, 결과를 LLM에 다시 보내며, 작업이 완료될 때까지 계속하는 기본 제공 에이전트 루프
  • TypeScript 우선: 새로운 추상화를 배울 필요 없이, TypeScript의 기본 언어 기능을 사용해 에이전트를 오케스트레이션하고 연결합니다
  • Agents as tools / 핸드오프: 여러 에이전트 간 작업을 조정하고 위임하기 위한 강력한 메커니즘
  • 가드레일: 입력 검증과 안전성 검사를 에이전트 실행과 병렬로 수행하고, 검사를 통과하지 못하면 즉시 실패 처리합니다
  • 함수 도구: 자동 스키마 생성과 Zod 기반 검증으로 모든 TypeScript 함수를 도구로 변환합니다
  • MCP 서버 도구 호출: 함수 도구와 동일한 방식으로 동작하는 기본 제공 MCP 서버 도구 연동
  • 세션: 에이전트 루프 내에서 작업 컨텍스트를 유지하기 위한 영속 메모리 계층
  • 휴먼인더루프 (HITL): 에이전트 실행 전반에 걸쳐 사람을 참여시키기 위한 기본 제공 메커니즘
  • 트레이싱: 워크플로를 시각화, 디버깅, 모니터링하기 위한 기본 제공 트레이싱으로, OpenAI의 평가, 파인튜닝, 증류 도구 모음을 지원합니다
  • 실시간 에이전트: 자동 인터럽션(중단 처리) 감지, 컨텍스트 관리, 가드레일 등의 기능을 갖춘 강력한 음성 에이전트를 구축합니다
Terminal window
npm install @openai/agents zod

SDK는 Zod v4를 필요로 하며, npm으로 zod를 설치하면 최신 v4 릴리스를 가져옵니다.

처음 사용하는 대부분의 사용자는 다음 진입점 중 하나만 있으면 됩니다.

시작 항목사용 시점참고
@openai/agents대부분의 텍스트 또는 음성 애플리케이션을 구축하는 경우권장 기본값입니다. OpenAI provider 설정을 포함하며, 음성 API는 @openai/agents/realtime 아래에 노출됩니다.
@openai/agents-realtime독립형 Realtime 패키지만 필요한 경우브라우저 전용 음성 앱이나 더 좁은 패키지 경계를 원하는 경우에 유용합니다.
하위 수준 패키지 (@openai/agents-core, @openai/agents-openai, @openai/agents-extensions)하위 수준 조합, 커스텀 provider 연결, 또는 특정 통합이 필요한 경우대부분의 신규 사용자는 구체적인 필요가 생길 때까지 이 항목은 무시해도 됩니다.
Hello World
import { Agent, run } from '@openai/agents';
const agent = new Agent({
name: 'Assistant',
instructions: 'You are a helpful assistant',
});
const result = await run(
agent,
'Write a haiku about recursion in programming.',
);
console.log(result.finalOutput);
// Code within the code,
// Functions calling themselves,
// Infinite loop's dance.

(이 예제를 실행하는 경우 OPENAI_API_KEY 환경 변수를 설정해야 합니다)

Terminal window
export OPENAI_API_KEY=sk-...

우선 하나의 경로를 선택해 처음부터 끝까지 동작하게 만든 다음, 더 깊이 있는 가이드를 보러 돌아오세요.

수행하려는 작업은 알고 있지만 어떤 페이지에서 설명하는지 모를 때 이 표를 사용하세요.

목표시작 위치
첫 번째 텍스트 에이전트를 만들고 하나의 완전한 실행을 확인하기빠른 시작
함수 도구, 호스티드 툴 또는 Agents as tools 추가하기도구
핸드오프와 매니저 스타일 오케스트레이션 중 선택하기에이전트 오케스트레이션
여러 턴에 걸쳐 메모리 유지하기에이전트 실행세션
OpenAI 모델, websocket 전송, 또는 OpenAI 이외 provider 사용하기모델
출력, 실행 항목, 인터럽션(중단 처리), 재개 상태 검토하기실행 결과
저지연 음성 에이전트 구축하기빠른 시작