コンテンツにスキップ
タイプアンロック
ステージクイックウィン
難易度シンプル
ジョブサービスを監視
対象AI ビルダー
対象ソロ起業家
サービスパイプ
サービスエージェント
サービス通知
Hoody の利点HTTP ネイティブ
Hoody の利点AI ネイティブ
Hoody の利点ポータビリティ
タイプアンロック
ステージクイックウィン
難易度シンプル
ジョブサービスを監視
対象AI ビルダー
対象ソロ起業家
サービスパイプ
サービスエージェント
サービス通知
Hoody の利点HTTP ネイティブ
Hoody の利点AI ネイティブ
Hoody の利点ポータビリティ
タイプアンロック
ステージクイックウィン
難易度シンプル
ジョブサービスを監視
対象AI ビルダー
対象ソロ起業家
サービスパイプ
サービスエージェント
サービス通知
Hoody の利点HTTP ネイティブ
Hoody の利点AI ネイティブ
Hoody の利点ポータビリティ
タイプアンロック
ステージクイックウィン
難易度シンプル
ジョブサービスを監視
対象AI ビルダー
対象ソロ起業家
サービスパイプ
サービスエージェント
サービス通知
Hoody の利点HTTP ネイティブ
Hoody の利点AI ネイティブ
Hoody の利点ポータビリティ
PIPE · TAIL · NOTIFY

電車内でエージェントを tail し、終了したら通知を受ける

オフィスを出る前に 40 分のエージェントをキックオフしました。いま電車の中。エージェントはトレースをパイプパスにストリーミングし、スマホから同じ URL を curl して状態メッセージが流れていくのを眺めます。ループが終わると、hoody-notifications がブザーを鳴らします。2 つの URL とブザー — SDK もダッシュボードもポーリングもなし。

Pipe API を読む

1 台のスマホ、2 つの面

上にライブ tail、下にプッシュ通知 — 同じスマホ、同じエージェント。トレースは流れ続けるモノローグでチラ見するもの。通知は終止符。どちらを配線するか選ぶ必要はなく、両方ともエージェントから来て、すでにポケットの中にあるデバイスに着地します。

01 · LIVE TAIL

トレースが、文字単位で

エージェントのループが各イベントを PUT でパスに流します。電車の中から、ターミナルアプリで同じパスを GET します。行が起きたとおりに着地します — 5 秒のリフレッシュも、「最終更新」のタイムスタンプもありません。画面を見て、エージェントが生きているのを確認し、スマホをしまいます。

[think] 計画:ダンプ → 差分 → 書き込み[tool_use] sql.exec("SELECT …")[result] 412 行 · 88 ms
02 · PUSH

ブザーが、降りる駅に向かう途中に

外側のループが終わると、エージェントの最後の呼び出しが 1 行のサマリーとともに hoody-notifications に届きます。スマホが振動します。ロック解除しなくても — バナーを読むだけで、次の駅に着く前に実行が完了したのが分かります。

AGENT · billing-reconcile-7照合完了 · 412 行 · エラー 0 件41:08 で完了 · 08:55

Hoody Pipe がライブ tail を運び、hoody-notifications がブザーを運びます。エージェントは他の HTTP 呼び出しと同じように扱います — PUT と POST、その間に SDK はありません。

エージェントから 3 回の呼び出し。ノートパソコンからは 1 回もなし。

出かける前にセットアップしたサーバーでエージェントが動作します。移動中、ループの中の唯一のクライアントはスマホです。エージェントがすべての作業をし、スマホがすべての監視をします。

agent.loop · pipe + notify
01 · AGENT各ステップをパイプパスに PUT

ループの中で、すべてのイベント — think、tool_use、result — が 1 つのパスにパイプされます。パイプは読んでいる相手にストリーミングし、まだ誰も読んでいなければパスは最大 5 分間オープンを保ちます。

PUT https://agent-pipe.…hoody.com/api/v1/pipe/agent-trace
02 · PHONE電車から同じパスを GET

スマホでターミナルを開きます。curl -N でパスを叩きます。トレースは着地するたびに表示されます — SSE の配管も、ブローカーも、インストールするアプリもありません。見たくなくなったらタブを閉じます。

$ curl -N https://agent-pipe.…hoody.com/api/v1/pipe/agent-trace
03 · NOTIFYエージェントの最後の行為は /notify への POST

外側のループが返ると、エージェントは 1 行のサマリーを hoody-notifications に POST します。スマホはそこからシステムプッシュを受け取ります — カレンダーリマインダーと同じブザー、アプリ不要。

POST /notify ["summary":"billing-reconcile-7","body":"completed in 41:08"]

ブザー用にもう 1 つ、計 2 つの HTTP パス。エージェントはあなたのスマホの存在を知らず、ただ HTTP を話します。スマホはエージェントのコンテナを知らず、ただ URL を開きます。

ひと目で見るときの構造

すべての単語を読むわけではありません。3 つのトークンをスキャンします:思考、呼び出し、結果。動いていればエージェントは生きています。止まっていれば、次のプッシュで時刻を確認します。

01 · BLUE

[think] — モデルが計画していること

なぜこのツールを選んだか、何を返ってくると見込んでいるか、どこで分岐しうるか。電車でこれを読むのは、エージェントの心をリアルタイムで読むこと — 推論の各ステップに 1 行。

[think] 7 月の請求を照合
02 · NEUTRAL

[tool_use] — 直前に発火した呼び出し

エージェントが呼び出すと決めた正確な関数と引数。呼び出しごとに 1 行、発火順に。SDK の抽象化も、不透明な ID もなし — ワイヤーレベルのリクエストそのものです。

[tool_use] sql.exec("SELECT …")
03 · GREEN

[result] — 返ってきたもの、そしてブザー

行数、時間、ステータスコード — 次の [think] 行が考えるべきもの。外側のループが終わると最終的な結果がワイヤーに着地し、hoody-notifications がポケットの中のスマホを震わせます。

[result] 412 行 · 88 ms

あなたのスマホがエージェントのステータスバーです。

ダッシュボードなし。アプリなし。デバイスに送られる SDK もなし。エージェントはサーバーで動き、ステータスはスマホで生き、その間にあるのは HTTP だけ。電車を乗り換えても、キャリアを切り替えても、2 駅分電波を失っても — 再接続すれば、次の [result] 行が表示され続けます。

  • ダッシュボードなし
  • アプリなし
  • ポーリングなし
  • ただの HTTP
Pipe API を読む

これが置き換えるもの

長時間動くエージェントを見守るというのは、これまで SaaS、ダッシュボードのタブ、あるいはカスタム Webhook + ボットを意味してきました。「スマホから curl すれば良いだけでは?」という問いの前では、そのどれも生き残れません。

  • AgentOps / LangSmith ダッシュボード自分のログを読むための SaaS レイヤー
  • エージェント向け Datadog APMサービス向けに作られていて、ループには合わない
  • カスタムエージェント Webhook1 度書いて、永遠にデバッグする糊付け
  • Pushover アラートもう 1 つアカウント、もう 1 つ API キー
  • Telegram ステータスボットプロジェクトごとのボット · 朽ちていくトークン
  • 5 秒ごとに /status をポーリング自分で生み出した遅延 · 浪費するバッテリー

トレースをパイプし、ブザーを POST。あなたのスマホがエージェントのステータスバー — アプリ不要。

Pipe API を読む

他のユースケースを読む