Agnoは、マルチエージェントシステムを構築するための python SDK です。3 つのプリミティブ (エージェント、チーム、ワークフロー) と、それらにアタッチできる豊富な機能セット (ストレージ、メモリ、ナレッジ、学習、圧縮) を備えています。`プリミティブ + 機能` でエージェントプラットフォームのコンポーネントになります。
Agno 再入門 – 機能 : エージェント SDK, ランタイム, API
作成 : クラスキャット・セールスインフォメーション
作成日時 : 06/05/2026
バージョン : v2.6.11
* 本記事は docs.agno.com の以下のページを参考にしています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。

Agno 再入門 – 機能 : エージェント SDK
エージェントプラットフォームを純粋な Python で構築します。
Agnoは、マルチエージェントシステムを構築するための python SDK です。3 つのプリミティブ (エージェント、チーム、ワークフロー) と、それらにアタッチできる豊富な機能セット (ストレージ、メモリ、ナレッジ、学習、圧縮) を備えています。`プリミティブ + 機能` でエージェントプラットフォームのコンポーネントになります。すべて純粋なPythonで記述されています。新しい DSL を習得したり、YAML を管理する必要はありません。
プリミティブ
- エージェント – モデル、ツール、指示を備えた単純な自律的プログラム
- チーム – チームとして連携して動作する複数のエージェント
- ワークフロー – 決定論的な出力のためのステップベースのワークフロー・オーケストレーション
機能 (Capabilities)
モデルとツール
- モデル – 30+ プロバイダーを単一の API でサポート
- ツール – 100+ 統合機能と独自の統合機能の作成が可能
- スキル – エージェントやチームにアタッチできる構成可能な機能
- マルチモーダル – 画像、音声、動画の入出力
- 構造化 I/O – Pydantic スキーマによる型安全な入出力
メモリとコンテキスト
- ストレージ – 任意のデータベース上の耐久性と永続性
- セッション – 要約、履歴、メトリクスを備えたマルチターン・セッション管理
- 状態 – エージェントが実行中に読み取りと更新が可能な、セッションとエージェントの状態
- メモリ – ユーザーごと、セッションごとのメモリ
- ナレッジ – ドキュメント、URL、データベースの検索
- 学習 (Learning) – 行動と判断を学習することで時間とともに改善するエージェント
- 圧縮 – 長時間のセッションをモデルのコンテキストウィンドウ内に保持
- コンテキストプロバイダー – カレンダー、Gmail、Google ドライブ、GitHub、Slack、MCP 等からライブデータを注入
制御と安全性
- ガードレール – 入出力の検証
- フック – 入力、出力、状態に関するライフサイクル・フック
- Human-in-the-Loop – 承認、入力、または外部実行のために実行を一時停止
運用 (Operations)
- バックグラウンド実行 – API をブロックしない長時間実行
- 評価 (Evals) – 精度、パフォーマンス、信頼性を測定します; 評価役エージェント (agent-as-judge)
- オブザーバビリティ – Langfuse、Logfire、Arize、および 12+ プロバイダーによるトレース
- スケジューラ – 定期的なスケジュールでエージェントを実行します
コンポーネント
`プリミティブ + 機能 + 設定 (configuration)` で、エージェントプラットフォームのライブコンポーネントが完成します。
コンポーネントは、エージェント・プラットフォームのビルディングブロックです。コンポーネントは、コード、ノーコード UI または AgentOS API を使用して作成できます。コードで作成されたコンポーネントは最終的なものです。API またはノーコード UI で作成されたコンポーネントは、必要に応じてバージョン管理、チェックポイント作成、ロールバックが可能です。/components API を使用すると、HTTP 経由でコンポーネントの構築、バージョン管理、および操作を行うことができます。
バージョン管理されたコンポーネント
API を介してコンポーネントが作成されると、バージョン管理された構成が保持されます。公開されたバージョンは変更不可能で、それぞれに専用のエンドポイントが割り当てられるため、クライアントを特定のバージョンに固定できます。現在のポインタによって、本番環境の API がどのバージョンを提供するかが決まります: 新しいバージョンにポインタを設定すれば更新 (promote)、古いバージョンに設定すればロールバックできます。
これにより、プラットフォームを大規模に管理することが可能になります。コンポーネントの指示を調整したり、モデルを切り替えたり、ツールを調整したりして、新しいバージョンとしてリリースし、不具合が発生した場合は 1 つの呼び出しでロールバックできます。バージョン管理された構成は、改善ループの基盤にもなります: 本番環境でコンポーネントを測定し、新しい構成を提案して公開し、結果に基づいて更新またはロールバックを行います。
Agno 再入門 – 機能 : エージェント・ランタイム
エージェントを安全でステートレスなサービスとして実行します。
私たちは Agno SDK を使用してエージェント、チーム、ワークフローを構築し、AgentOS を使ってそれらを (デプロイして) 本番環境に展開します。エージェントを本番環境に展開するとはどういう意味でしょう?以下のことが可能になります :
- API リクエスト、または Slack、Telegram などのインターフェースを介して、エージェントをオンデマンドで実行します。
- 数分から数日、数週間にも及ぶ長時間実行のセッションを維持します。
- 再起動、レプリカ作成、インフラストラクチャ障害にも耐久性があります。
- 認証されていないアクセスから保護します。
- すべての実行と実行されたアクションを監視します。
Agno のエージェントランタイムである AgentOS は、Agno SDK または任意のその他のフレームワークで構築されたエージェント、チーム、ワークフローを、安全でスケーラブルなサービスとして実行します。
以下は、AgentOS の最小構成例です :
from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIResponses
from agno.os import AgentOS
db = PostgresDb(db_url="postgresql://user:pass@host:5432/agno")
agent = Agent(model=OpenAIResponses(id="gpt-5.5"), db=db)
agent_os = AgentOS(agents=[agent], db=db)
app = agent_os.get_app()
if __name__ == "__main__":
agent_os.serve(app="my_app:app", reload=False)
このスクリプトは、水平方向にスケール可能な FastAPI アプリケーションを起動します。永続セッション、ストリーミング、JWT 認証、トレース、スケジューラなど、すべてが組み込まれています。
ランタイムが提供するもの
ランタイムは、エージェントコードと本番サービス間の領域をカバーします :
- (Concern – AgentOS の処理方法)
- HTTP API – 登録済みのエージェント、チーム、ワークフローごとに自動生成されるエンドポイント
- 永続化 – セッションとメモリはデータベースに永続化されます
- ストリーミング – すべての実行エンドポイントで SSE; トークンとツール呼び出しは発生と同時にストリーミングされます。
- 認証 – RBAC スコープを組み込んだ JWT 検証
- スケジューリング – データベースをポーリングし、期限が来たジョブ実行する、インプロセス cron
- オブザーバビリティ – 同じデータベースへの OpenTelemetry トレース、SQLによるクエリが可能
- インターフェース – Slack、Telegram、WhatsApp、A2A、AG-UI
- Human in the loop – ユーザー確認、管理者承認、または外部実行のために一時停止を実行
💡 AgentOS can also serve agents built with the Claude Agent SDK, LangGraph, and DSPy.
See Multi-framework support.
Agno 再入門 – 機能 : エージェント API
AgentOS 内のすべてのエージェント、チーム、ワークフローに対応する API および MCP サーバー。
エージェントを公開するには、/run エンドポイントだけでは不十分です。稼働中のエージェントには、以下の機能を備えた API が必要です :
- ストリーミングモードそしてバックグラウンドジョブとしてエージェントを実行
- エージェントが蓄積するセッション、メモリ、学習内容を管理します。
- 実行、トレース、メトリクスを検査します。
- 定期的な作業をスケジュールする
- センシティブなツール呼び出しを人間の承認で制御する
- 承認が得られ次第、一時停止した実行を再開する
AgentOS は、エージェント、チーム、ワークフローに必要な上述のすべて自動的に生成します。ライブ API は /docs をブラウズするか、任意の AgentOS インスタンスの /openapi.json から仕様を取得してください。
インターフェース
エージェントは複数のインターフェース経由でアクセス可能である必要があります。エージェントを一度定義すれば、AgentOS は選択した任意のインターフェースでそのエージェントを公開できます。REST と SSE はデフォルトで有効になっています; 必要に応じて、MCP サーバー、WebSocket エンドポイント、A2A、または Slack インターフェースを追加できます。エージェントのコード自体は変更されません; 変更されるのはインターフェース層のみです。
公開範囲 (surface area)
- (グループ) – (What you can do)
- Runs – 作成、一覧表示、キャンセル、一時停止中の実行の再開、切断されたストリームの再開が可能です。SSE 経由でのストリーミング、またはバックグラウンドジョブとしての実行に対応しています。
- Sessions – 作成、一覧表示、名前変更、更新、削除。セッション内のすべての実行結果を取得。ユーザー毎にスコープが設定されます。
- Memory – ユーザーの記憶を作成、更新、削除できます。コンテンツを検索し、トピックでフィルタリングし、ユーザー毎のスタッツを表示できます。最適化を実行してトークン使用量を圧縮できます。
- Knowledge – S3、GCS、SharePoint、GitHub からファイル、テキスト、URL、コンテンツをアップロードできます。ベクトル、キーワード、またはハイブリッド検索が可能です。ソース、ソース内のファイル、コンテンツのステータスを一覧表示できます。
- Evals – 精度、エージェントによる評価、パフォーマンス、信頼性に関する評価を実行します。評価実行の一覧表示、更新、削除が可能です。
- Traces – リスト表示、フィルタ DSL による検索、完全なスパンツリーの表示、セッション毎のグループ化。個々の LLM 呼び出しとツール起動の検査。
- Metrics – 日々の実行回数、セッション数、ユーザー数、トークン使用量、モデルの内訳を集計。必要に応じてリフレッシュ (更新)。
- Schedules – CRUD 操作、有効化、無効化、即時実行。スケジュールの実行履歴を一覧表示します。
- Approvals – 保留中の承認を一覧表示し、承認を完了させ、ユーザー毎に件数をカウントします。
- Components – エージェント、チーム、ワークフローのバージョン管理。ドラフトの管理、公開、以前のバージョンへのロールバックが可能です。
- Database – 1 つまたはすべてのデータベーススキーマをターゲットバージョンに移行します。
Browse the live OpenAPI spec at the /docs endpoint of your AgentOS.
リクエストの構造 (How a request looks)
実行エンドポイントは multipart/form-data を受け取るので、単一の呼び出しでテキスト、ファイル、メディアを送信できます。
応答形式 (response shape) は、エージェント、チーム、ワークフローのいずれの場合でも同じです :
curl -X POST http://localhost:8000/agents/my-agent/runs \
-F "message=Hello" \
-F "user_id=alice" \
-F "session_id=thread-42" \
-F "stream=false"
{
"run_id": "run_abc123",
"session_id": "thread-42",
"user_id": "alice",
"agent_id": "my-agent",
"status": "completed",
"content": "Hi Alice!",
"created_at": "2026-04-24T20:15:00Z"
}
Server-Sent Events(SSE)の場合は `stream=true` を渡します。非同期で実行し、補完 (completion) をポーリングする場合は `background=true` を渡してください。
独自のルートの追加
AgentOS は FastAPI をベースに構築されています。Webhook、カスタムダッシュボード、インテグレーション用の追加ルートを登録できます :
# `agent` is the same Agent instance you registered with AgentOS above
app = agent_os.get_app()
@app.post("/webhooks/stripe")
async def handle_stripe(event: dict):
response = await agent.arun(
f"Process Stripe event: {event}",
user_id="system",
)
return {"ok": True, "agent_response": response.content}
エージェントは通常の Python オブジェクトです。どこからでも `agent.run(…)` または `await agent.arun(…)` を呼び出すことができます。
認証
authorization=True の場合、/health および /openapi.json を除くすべてのエンドポイントでは、`Authorization: Bearer …` ヘッダーで有効な JWT が必要です。AgentOS は、エージェントコードが実行される前に、トークンを検証し、クレーム (事実主張) を抽出し、リクエストごとに RBAC スコープを適用します。
See Security & Auth for the details.
以上