OpenAI Agents SDK は、JavaScript/TypeScript でマルチエージェントワークフローを構築するための、軽量でありながら強力なフレームワークです。プロバイダーに依存せず、OpenAI API などをサポートしています。
[!NOTE] Python バージョンをお探しですか?OpenAI Agents SDK Python をご確認ください。
- Agents: 命令、ツール、ガードレール、ハンドオフで構成された LLM
- Sandbox Agents: ファイルシステムワークスペースとサンドボックス環境をペアにしたエージェント(より長時間の作業用)
- Agents as tools / Handoffs: 特定のタスクを他のエージェントに委譲する
- Tools: さまざまなツールにより、エージェントはアクション(関数、MCP、ホステッドツール)を実行できます
- Guardrails: 入出力検証用の構成可能なセーフティチェック
- Human in the loop: エージェント実行全体で人間を関わらせるための組み込みメカニズム
- Sessions: エージェント実行全体での会話履歴の自動管理
- Tracing: エージェント実行の組み込み追跡により、ワークフローの表示、デバッグ、最適化が可能です
- Realtime Agents: すべての機能を備えた強力な音声エージェントを構築します
examples/ ディレクトリを確認して、SDK の実装例をご確認ください。
- Node.js 22 以上
- Deno
- Bun
- nodejs_compat が有効化された Cloudflare Workers
npm install @openai/agents zodSandbox Agents はベータ版です。サンドボックスエージェントはファイルを検査したり、コマンドを実行したり、パッチを適用したり、ワークスペース状態をより長いタスク全体で保持することができます。
import { run } from '@openai/agents';
import { gitRepo, SandboxAgent } from '@openai/agents/sandbox';
import { UnixLocalSandboxClient } from '@openai/agents/sandbox/local';
const agent = new SandboxAgent({
name: 'Workspace Assistant',
instructions: 'Inspect the sandbox workspace before answering.',
defaultManifest: {
entries: {
repo: gitRepo({
repo: 'openai/openai-agents-js',
ref: 'main',
}),
},
},
});
const result = await run(
agent,
'Inspect repo/README.md and summarize what this project does.',
{
sandbox: {
client: new UnixLocalSandboxClient(),
},
},
);
console.log(result.finalOutput);
// このプロジェクトは、エージェント ワークフロー を構築するための JavaScript/TypeScript SDK を提供します。(これを実行する場合は、OPENAI_API_KEY 環境変数を設定してください)
ワークフローがファイルシステムワークスペースやサンドボックスのライフサイクルを必要としない場合でも、通常の Agent を使用できます。
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);
// コードの中のコード、
// 自身を呼び出す関数、
// 無限ループの踊り。examples/ ディレクトリを探索して、SDK の実装例を確認してください。
特に、オープンソースコミュニティの優れた取り組みに感謝の意を表します。
Agents SDK をオープンソース フレームワークとして構築し、コミュニティの他のメンバーが当社のアプローチを拡張できるようにすることにコミットしています。
