검색
← 릴리스 노트

프로그램형 도구 호출과 도구 데코레이터 확장

OpenAI · 0.19.0 · 기능추가 · 2026.07.27

Programmatic Tool Calling과 `@tool` 별칭을 추가하고, 설정·로그·호환성을 전반적으로 다듬었습니다.

교안에 영향

이전 안내 글에서 `@tool` 대신 다른 decorator 이름을 쓰거나, 설정은 특정 형태만 받는다고 적은 부분은 맞지 않게 됩니다.

요약

- Programmatic Tool Calling을 추가해 지원되는 OpenAI Responses 모델이 JavaScript로 도구를 조정할 수 있게 했습니다. - `agents.decorators` 공개 모듈과 `@tool` 별칭을 추가했고, 함수 도구는 async callable object도 지원합니다. - SDK 설정은 typed settings object와 dictionary를 모두 받도록 바뀌었고, 알 수 없는 설정은 검증합니다. - 모델, 도구, MCP, Realtime, 세션, 샌드박스, 트레이싱의 오류·진단 로그를 더 안전하게 처리하도록 개선했습니다. - AnyLLM, LiteLLM, Chat Completions 호환성을 높이고, 세션 기록 보존과 WebSocket 과부하 재시도를 개선했습니다.

바뀐 것

새 기능 3

  • `agents.tool.ProgrammaticToolCallingTool`을 추가해 지원되는 OpenAI Responses 모델이 JavaScript로 eligible tools를 조정할 수 있게 했습니다.
  • 공개 `agents.decorators` 모듈과 짧은 `@tool` 별칭을 추가했습니다.
  • `VercelCloudBucketMountStrategy`를 추가했습니다.

개선 1

  • SDK 설정이 typed objects와 dictionaries를 일관되게 받도록 바꾸고, 알 수 없는 설정은 검증하도록 했습니다.

수정 21

  • hand off 도구 필터링에서 programmatic transcripts를 제거했습니다.
  • 구조화된 programmatic tool 오류를 JSON으로 인코딩하도록 바꿨습니다.
  • 응답 시작 전 발생한 WebSocket overload 오류를 재시도하도록 했습니다.
  • 민감한 런타임 로그가 노출되지 않도록 오류와 진단 로그를 강화했습니다.
  • Realtime과 RunState 진단 로그의 민감한 내용을 가렸습니다.
  • model과 tool 오류 로그에서 raw exceptions가 그대로 노출되지 않도록 했습니다.
  • 호출 가능한 function tool 호환성을 유지하도록 했습니다.
  • async callable objects를 function tools로 지원하도록 했습니다.
  • 중첩 handoffs의 히스토리 소유권을 분리했습니다.
  • 중첩 handoffs에서 programmatic transcripts를 요약하도록 했습니다.
  • AnyLLM과 LiteLLM provider 호환성을 개선했습니다.
  • 세션 재시도 시 session history를 보존하도록 했습니다.
  • 유효하지 않은 callable approval arguments는 차단하도록 했습니다.
  • lazy skill read probes를 올바르게 분류하도록 했습니다.
  • verbose stdout logging handler를 재사용하도록 했습니다.
  • Chat Completions에서 typed easy input messages를 인식하도록 했습니다.
  • `ls` 출력 파싱 시 device nodes를 포함하도록 했습니다.
  • `*args`와 `kwargs`의 docstring 설명을 tool schema에 보존하도록 했습니다.
  • `function_schema`에서 inspect sentinels를 identity로 비교하도록 했습니다.
  • SELinux security-context marker가 있는 `ls` 출력도 파싱하도록 했습니다.
  • Modal tar workspace excludes에서 dot-prefixed skip paths를 보존하도록 했습니다.

원문 제목 · v0.19.0