SDK 설정
OpenAI 클라이언트와 전송 방식
섹션 제목: “OpenAI 클라이언트와 전송 방식”API 키와 클라이언트
섹션 제목: “API 키와 클라이언트”기본적으로 SDK는 최초 임포트 시 OPENAI_API_KEY 환경 변수를 읽습니다. 해당 변수를 설정할 수 없다면 setDefaultOpenAIKey()를 수동으로 호출할 수 있습니다.
import { setDefaultOpenAIKey } from '@openai/agents';
setDefaultOpenAIKey(process.env.OPENAI_API_KEY!); // sk-...직접 생성한 OpenAI 클라이언스 인스턴스를 전달할 수도 있습니다. 그렇지 않으면 SDK가 기본 키를 사용해 자동으로 생성합니다.
import { OpenAI } from 'openai';import { setDefaultOpenAIClient } from '@openai/agents';
const customClient = new OpenAI({ baseURL: '...', apiKey: '...' });setDefaultOpenAIClient(customClient);API 선택
섹션 제목: “API 선택”마지막으로 Responses API와 Chat Completions API 사이를 전환할 수 있습니다.
import { setOpenAIAPI } from '@openai/agents';
setOpenAIAPI('chat_completions');Responses 전송 방식
섹션 제목: “Responses 전송 방식”Responses API를 사용하는 경우 OpenAI 프로바이더 전송 방식을 선택할 수 있습니다. 기본값은 HTTP입니다.
import { setOpenAIAPI, setOpenAIResponsesTransport } from '@openai/agents';
setOpenAIAPI('responses');setOpenAIResponsesTransport('websocket');setOpenAIResponsesTransport('websocket')으로 WebSocket 전송을 활성화하고, setOpenAIResponsesTransport('http')로 되돌릴 수 있습니다. WebSocket 트래픽을 프록시나 게이트웨이를 통해 라우팅하는 경우 OPENAI_WEBSOCKET_BASE_URL을 설정하거나, OpenAIProvider의 websocketBaseURL을 구성하세요.
가시성 및 디버깅
섹션 제목: “가시성 및 디버깅”트레이싱
섹션 제목: “트레이싱”트레이싱은 기본적으로 활성화되어 있으며, 위 섹션의 OpenAI 키를 사용합니다.
별도의 키는 setTracingExportApiKey()로 설정할 수 있습니다:
import { setTracingExportApiKey } from '@openai/agents';
setTracingExportApiKey('sk-...');트레이싱을 완전히 비활성화할 수도 있습니다:
import { setTracingDisabled } from '@openai/agents';
setTracingDisabled(true);트레이싱 기능에 대해 더 알아보려면 트레이싱을 확인하세요.
디버그 로깅
섹션 제목: “디버그 로깅”SDK는 디버그 로깅을 위해 debug 패키지를 사용합니다. 상세 로그를 보려면 DEBUG 환경 변수를 openai-agents*로 설정하세요.
export DEBUG=openai-agents*세션 지속성 활동을 로깅하려면 OPENAI_AGENTS__DEBUG_SAVE_SESSION=1을 설정하세요.
@openai/agents의 getLogger(namespace)를 사용해 자체 모듈용 네임스페이스 로거를 얻을 수 있습니다.
import { getLogger } from '@openai/agents';
const logger = getLogger('my-app');logger.debug('something happened');로그의 민감한 데이터
섹션 제목: “로그의 민감한 데이터”일부 로그에는 사용자 데이터가 포함될 수 있습니다. 다음 환경 변수를 설정하여 비활성화하세요.
LLM 입력 및 출력을 로깅하지 않으려면:
export OPENAI_AGENTS_DONT_LOG_MODEL_DATA=1도구 입력 및 출력을 로깅하지 않으려면:
export OPENAI_AGENTS_DONT_LOG_TOOL_DATA=1