ランタイムは、エージェントを本番環境向けサービスとして動作させます。
エージェント型製品やエージェント・プラットフォームを構築するには、システムを水平スケーラブル、継続的なサービスとして実行し、API 経由でアクセスできるようにする必要があります。ランタイムはまさにそれを実現します。
Agno 再入門 – ランタイム : ランタイムとは何か / Serve as an API
作成 : クラスキャット・セールスインフォメーション
作成日時 : 05/15/2026
バージョン : v2.6.5
* 本記事は docs.agno.com の以下のページを参考にしています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。

Agno 再入門 – ランタイム : ランタイムとは何か
ランタイムは、エージェントを本番環境向けサービスとして動作させます。
ランタイム = エージェント・サーバー
エージェント型製品やエージェント・プラットフォームを構築するには、システムを水平スケーラブル、継続的なサービスとして実行し、API 経由でアクセスできるようにする必要があります。ランタイムはまさにそれを実現します。
AgentOS は Agent(…) を、永続セッション、JWTベースの認証、オブザーバビリティ、そして Slack、Telegram 等へのインターフェースを備えた FastAPI アプリケーションとして動作させます。
What the runtime gives you
ランタイムは、エージェントコードと公開サービスの間の領域をカバーします :
- (Concern) – (AgentOS の処理方法)
- HTTP API – 登録済みエージェント、チーム、ワークフロー毎に自動生成されるエンドポイント
- 状態 – セッションとメモリはデータベースに永続化されます。
- ストリーミング – すべての実行エンドポイントで SSE; トークンとツール呼び出しは発生と同時にストリーミングされます。
- 認証 – RBAC スコープを組み込んだ JWT 検証
- スケジューリング – データベースを定期監視して、実行時刻になったジョブを起動するプロセス内 cron
- オブザーバビリティ – OpenTelemetry のトレースデータは同じデータベースに保存され、SQL でクエリ可能です
- インターフェイス – Slack, Telegram, WhatsApp, Discord, A2A, AG-UI
- Human in the loop – 一時停止は、ユーザーの確認、管理者の承認、または外部実行のために行われます。
同じ Agent(…) は、スクリプト、テスト、または AgentOS サービス内で実行されます。AgentOS 自体はステートレスです: 状態はデータベースに保存されるため、負荷に応じて水平方向にスケールできます。
ℹ️ AgentOSは、単一のエージェントだけでなく、チームやワークフローも実行できます。See Build a Product.
ℹ️ AgentOS はまた、Claude Agent SDK、LangGraph、および DSPy で構築されたエージェントにも対応しています。See Multi-Framework Support.
Agno 再入門 – ランタイム : Serve as an API
エージェントをサービスとして実行するために必要なすべてが、単一の HTTP API の背後で提供されます。
エージェントを配布するには、/run エンドポイントだけでは不十分です。以下のようなエンドポイントが必要です :
- エージェントをストリーミングモードおよびバックグラウンドジョブとして実行する
- エージェントが蓄積するセッション、メモリ、学習を管理する
- 実行結果、トレース、メトリクスを検査する
- 定期的な作業をスケジュールする
- センシティブなツール呼び出しは、ユーザー承認で制御する
- 承認が得られ次第、一時停止していた実行を再開する
AgentOS gives you all of this and more.
公開範囲 (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.
リクエストの構造
エージェント、チーム、ワークフローのいずれであっても、すべての実行エンドポイントは同じ構造 (shape) を返します :
curl -X POST http://localhost:8000/agents/my-agent/runs \
-H "Content-Type: application/json" \
-d '{"message":"Hello","user_id":"alice","session_id":"thread-42"}'
{
"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、カスタムダッシュボード、インテグレーション用の追加ルートを登録できます :
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 full model.
以上