あなたのエージェントに体が与えられる
すべてのKitサービスはHTTPSエンドポイントです。コンテナをスポーンすると14のHTTPツールが手に入ります。あなたのエージェントはもう HTTP を知っています — それが要点です。
$ ws connect wss://proj-1-abc.srv.containers.hoody.com/api/v1/agent/ws
[tool_use] { tool: "terminal_exec", command: "npm install" }
[tool_use] { tool: "write_file", path: "/app/src/auth.ts" }
[tool_result] { output: "3 tests passed" }
[tool_use] { tool: "daemon_start", service: "api-server" }
[completed] task finished in 4m 12s
1 つの POST。3 つのパターン。
タスクを送信、WebSocket ストリームを見守る、失敗した実験をロールバック — すべて標準 HTTP コールから。
タスクを送信してイベントをストリーム
自然言語の説明を POST してタスクを作成し、WebSocket を開いてリアルタイムですべてのツール呼び出しと結果をストリーム。
# 1. Create task
POST /api/v1/agent/tasks
'{'
"description": "Install deps, write auth.ts, run tests",
"mode": "code"
'}'
→ '{' "id": "task-abc123", "status": "running" '}'
# 2. Open WebSocket stream
WS wss://.../api/v1/agent/ws
> '{' "type": "tool_use", "tool": "terminal_exec", "command": "npm install" '}'
> '{' "type": "tool_use", "tool": "write_file", "path": "/app/src/auth.ts" '}'
> '{' "type": "tool_result", "output": "3 tests passed" '}'
> '{' "type": "tool_use", "tool": "daemon_start", "service": "api-server" '}'
> [completed] task finished in 4m 12s
すべてのエージェントに完全なコンピューターを
1回のコンテナ作成コールで14のHTTPサービスがプロビジョニングされます。セットアップ不要、ドライバー管理不要。
エージェントがエージェントをスポーン。コーディネーター不要。
エージェントAがHTTP経由でエージェントBのコンテナを作成し、エージェントサービスAPIでタスクを割り当てます。
// Agent A spawns Agent B and assigns work
const worker = await client.api.containers.create(PROJECT_ID, {
name: "ai-worker-backend",
server_id: "us-east-1",
container_image: "hoody-kit:latest",
hoody_kit: true,
});
await fetch(
`https://${PROJECT_ID}-${worker.id}-agent-1.${SRV}/api/v1/agent/tasks`,
{ method: "POST", body: JSON.stringify({
description: "Build payment module", mode: "code"
})}
);
ネットワークトポロジー
エージェントはピアです。どのコンテナも他のコンテナをHTTP経由で呼び出せます。バスなし、コーディネーターなし。
並列ワーカー
10の専門エージェントを同時にディスパッチ。フロントエンド、バックエンド、テスト — すべて並列で。
クロスコンテナ読み取り
エージェントAがKitファイルサービス経由でエージェントBのファイルを読み取る。実行を止めずに検査。
分離された障害
1つのエージェントのクラッシュは自身のサンドボックスのみを破壊します。障害は伝播しません。
すべてのプロンプトを制御。プロキシコード不要。
7つのイベントフック、5種のアクション、宣言的JSONルール。ルールエンジンがエージェントとLLMの間で実行されます。
chat.system.transform
LLMが見る前に、すべての本番セッションのシステムプロンプトに安全ルールを追加。
tool.execute.before
エージェントがbashを実行する前に人間に通知。インループ、プロキシなし。
session.error
フリート全体で任意のセッションが失敗した場合にPagerDutyへWebhookを発火。
{
"mitm": {
"rules": [
{
"id": "safety-guardrail",
"enabled": true,
"trigger": {
"event": "chat.system.transform",
"tags": ["prod"]
},
"action": {
"type": "prompt-inject",
"position": "append",
"target": "system"
}
}
]
}
}
300以上のモデル。切り替えは設定1つ。
https://ai.hoody.com/api/v1にAIクライアントを向けます。キーとしてcontainer-Xを使用。
@hoody.com Skill Discovery
Any AI agent with web access sends @hoody.com and receives a Skill describing your entire HTTP API — no plugin, no SDK, no custom endpoint.
すべてのエージェント実行前にスナップショット
スナップショットなしでエージェントがコンテナを変更しないようにする。1回のAPIコール。即座に回復。
hoody snapshots create-snapshot $AGENT_ID \
--alias "before-experiment"
6 つのエンドポイント。完全なエージェント制御。
タスクのライフサイクル、リアルタイム監視、MCP 接続 — すべて標準 HTTP と WebSocket。
タスク
{count, plural, =1 {# endpoint} other {# endpoints}'}POST /api/v1/agent/tasks
監視
{count, plural, =1 {# endpoint} other {# endpoints}'}wss://.../api/v1/agent/ws
MCP + Web UI
{count, plural, =1 {# endpoint} other {# endpoints}'}POST /api/v1/agent/mcp/servers
エージェントが実際にできること
プロンプトエンジニアリングではどうにもならない 3 つの能力 — それらはプラットフォームに組み込まれている。
5 つのタスクモード、セッション途中で切り替え可能
code、architect、debug、ask、orchestrator — それぞれ異なるインテント用に調整。PATCH /api/v1/agent/tasks/{id}/mode で タスクを停止せず切り替え。
MCP ランタイムツール発見
MCP 互換サーバー — GitHub、Slack、Jira — を実行時に接続。エージェントが新しいツールを発見し、アクティブセッションに瞬時にマージ。
ターミナルサイドパネル埋め込み
エージェントを hoody-terminal URL 内のサイドパネルとして埋め込み (?panel=AGENT_URL)。エージェントはコンテナのファイルシステムとプロセス状態をターミナルと共有。