3.1 KiB
3.1 KiB
OpenAI Agents SDK
OpenAI Agents SDK は、軽量で使いやすく、抽象化を最小限に抑えたエージェントベースの AI アプリケーションを構築できるようにします。これは、以前のエージェント実験である Swarm を本番環境向けにアップグレードしたものです。Agents SDK は非常に少数の基本コンポーネント(primitives)で構成されています。
- エージェント : instructions と tools を備えた LLM
- ハンドオフ : 特定のタスクを他のエージェントに委任する仕組み
- ガードレール : エージェントへの入力を検証する仕組み
これらの基本コンポーネントを Python と組み合わせることで、ツールとエージェント間の複雑な関係を表現でき、急な学習曲線なしに実世界のアプリケーションを構築できます。さらに SDK には、エージェントのフローを視覚化・デバッグし、評価やモデルのファインチューニングまで可能にする組み込みの トレーシング 機能が備わっています。
Agents SDK を使う理由
SDK は以下の 2 つの設計原則に基づいています。
- 利用価値のある十分な機能を備えつつ、迅速に習得できるよう基本コンポーネントを最小限に抑える。
- そのままでも優れた動作をするが、必要に応じて細かくカスタマイズ可能。
SDK の主な機能は以下の通りです。
- エージェントループ : ツールの呼び出し、LLM への実行結果の送信、LLM が完了するまでのループ処理を組み込みで提供。
- Python ファースト : 新しい抽象化を学ぶ必要なく、Python の言語機能を使ってエージェントの連携やチェーンを構築可能。
- ハンドオフ : 複数のエージェント間での調整やタスク委任を可能にする強力な機能。
- ガードレール : エージェントと並行して入力の検証やチェックを実行し、チェックが失敗した場合は早期に処理を中断。
- 関数ツール : 任意の Python 関数をツールに変換し、自動的なスキーマ生成と Pydantic による検証を提供。
- トレーシング : ワークフローの視覚化、デバッグ、モニタリングを可能にする組み込みのトレーシング機能。OpenAI が提供する評価、ファインチューニング、蒸留ツールも利用可能。
インストール
pip install openai-agents
Hello World の例
from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.
(実行する場合は、環境変数 OPENAI_API_KEY を設定してください。)
export OPENAI_API_KEY=sk-...