OpenAI Agents SDK TypeScript
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);import { RealtimeAgent, RealtimeSession } from '@openai/agents/realtime';
const agent = new RealtimeAgent({ name: 'Assistant', instructions: 'You are a helpful assistant.',});
// Automatically connects your microphone and audio output in the browser via WebRTC.const session = new RealtimeSession(agent);await session.connect({ apiKey: '<client-api-key>',});OpenAI Agents SDK for TypeScript 使您可以用极少的抽象,在轻量、易用的包中构建具备智能体能力的 AI 应用。它是我们此前针对智能体的实验项目 Swarm 的面向生产的升级版本,并且也可用于 Python。Agents SDK 仅包含一小组基础组件:
- 智能体:配备指令和工具的 LLM
- 交接:允许智能体将特定任务委派给其他智能体
- 护栏:对传入智能体的输入进行校验
配合 TypeScript,这些基础组件足以表达工具与智能体之间的复杂关系,让您以较低的学习成本构建真实世界的应用。此外,SDK 内置 追踪,可帮助您可视化并调试智能体流程,进行评估,甚至为您的应用微调模型。
为何使用 Agents SDK
Section titled “为何使用 Agents SDK”该 SDK 的两大设计原则:
- 功能足够丰富值得使用,但基础组件足够少,便于快速上手。
- 开箱即用体验优秀,同时允许您精确自定义行为。
主要特性包括:
- 智能体循环:内置循环,负责调用工具、将结果发送给 LLM,并循环直至 LLM 完成。
- TypeScript 优先:使用内置语言特性来编排与串联智能体,无需学习新的抽象。
- 交接:在多个智能体之间进行协调与委派的强大能力。
- 护栏:与智能体并行运行输入校验与检查,若失败会尽早中断。
- 函数工具:将任意 TypeScript 函数变为工具,自动生成模式并使用 Zod 进行校验。
- 追踪:内置追踪,可视化、调试与监控工作流,并可使用 OpenAI 的评估、微调与蒸馏工具。
- 实时智能体:构建强大的语音智能体,包括自动打断检测、上下文管理、护栏等。
npm install @openai/agents zod@3Hello World 示例
Section titled “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 环境变量)
export OPENAI_API_KEY=sk-...