コンテンツにスキップ

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);

OpenAI Agents SDK for TypeScript は、きわめて少ない抽象化で軽量かつ使いやすいパッケージとして、エージェント指向の AI アプリを構築できるようにします。これは以前の実験的ライブラリである Swarm を本番環境向けにアップグレードしたもので、Python 版 も提供されています。Agents SDK はごく小さな基本コンポーネントを提供します。

  • エージェント: instructions と tools を備えた LLM
  • ハンドオフ: 特定タスクをほかのエージェントに委任するしくみ
  • ガードレール: エージェントへの入力を検証するしくみ

TypeScript と組み合わせることで、これらの基本コンポーネントはツールとエージェント間の複雑な関係を表現でき、急な学習コストなしに実用的なアプリケーションを構築できます。さらに SDK には トレーシング が組み込まれており、エージェントフローの可視化やデバッグ、評価、さらにはアプリケーション向けモデルのファインチューニングまで行えます。

SDK には 2 つの設計原則があります。

  1. 使う価値のある十分な機能を備えつつ、学習が速いように基本コンポーネントは最小限にする
  2. デフォルトで高い完成度を持ちながら、動作を細かくカスタマイズできる

主な機能は次のとおりです。

  • エージェントループ: tool の呼び出し、結果を LLM に送信、LLM が完了するまでループを自動で処理
  • TypeScript ファースト: 新しい抽象概念を学ばずに、言語機能だけでエージェントをオーケストレーションおよびチェーン可能
  • ハンドオフ: 複数エージェント間での協調・委任を実現する強力な機能
  • ガードレール: エージェント実行と並行して入力検証を実施し、失敗時は早期停止
  • 関数ツール: 任意の TypeScript 関数を自動スキーマ生成と Zod ベース検証付きで tool 化
  • トレーシング: フローの可視化・デバッグ・監視に加え、OpenAI の評価・ファインチューニング・蒸留ツールを利用可能
  • リアルタイムエージェント: 自動割り込み検知、コンテキスト管理、ガードレールなどを備えた高機能音声エージェントを構築

現在、この SDK は zod@3.25.68 以降と互換性がありません。必ず zod@3.25.67(またはそれ以前のバージョン)を明示的にインストールしてください。この依存関係の問題は近日中に解決予定です。最新情報は this issue をご確認ください。

Terminal window
npm install @openai/agents 'zod@<=3.25.67'
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-...