コンテンツにスキップ
タイプアンロック
ステージ本番環境
難易度中程度
ジョブタスクを自動化
対象AI ビルダー
対象ソロ起業家
サービスCron
サービスエージェント
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度中程度
ジョブタスクを自動化
対象AI ビルダー
対象ソロ起業家
サービスCron
サービスエージェント
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度中程度
ジョブタスクを自動化
対象AI ビルダー
対象ソロ起業家
サービスCron
サービスエージェント
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度中程度
ジョブタスクを自動化
対象AI ビルダー
対象ソロ起業家
サービスCron
サービスエージェント
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
Cron · エージェント · コンテナ

午前 3 時にエージェントを起こし、4 時に退役させる

昨日の請求例外をスキャンし、重複をクラスタリングしてトリアージノートを書く夜間ジョブ。1 日約 1 時間だけ存在すれば十分です。2 つの cron エントリが 02:59 に新しいエージェント コンテナを起動し、04:01 に破棄します。残りの 23 時間、稼働せず、ウォームでもなく、課金もされません。

ドキュメントを読む

2 つの cron エントリ、1 つの短命コンテナ

ウォームプールなし、スケジューラサービスなし、作業をポーリングする糊デーモンなし。02:59 に hoody-cron エントリが hoody-agent の spawn URL に POST します。エージェントは実行を行い、終了します。04:01 の 2 つ目の cron がコンテナが消えていることを確認するために DELETE を呼びます。それが装置全体です。

POST cron.hoody.com/users/root/entries
起床トリガー · 02:59
// Cron entry that fires once a day and POSTs the spawn requestPOST cron.hoody.com/users/root/entries{ schedule: "0 3 * * *", command: "curl -X POST $AGENT_URL -d @prompt.json", comment: "billing-reconcile · 3am wake"}
02:59 に発火 →
POST api.hoody.com/api/v1/projects/$PID/containers
エージェント生成 · ai + hoody_kit
// The agent boots, reconciles yesterday's invoices, writes notes, exitsPOST api.hoody.com/api/v1/projects/$PID/containers{ name: "billing-reconcile-$(date +%s)", ai: true, hoody_kit: true, autostart: false}
コンテナ終了、2 つ目の cron が 04:01 に発火 →
DELETE api.hoody.com/api/v1/containers/$CID
ティアダウン · 04:01
// Belt-and-braces: a second cron asserts the container is goneDELETE api.hoody.com/api/v1/containers/$CID// Response from hoody-containers200 OK · container deleted

DB 内の 2 つの cron 行。1 つのエージェント イメージ。コンテナは作業のためだけに存在し、その後存在しなくなります。ウォームプールなし、スケジュール済みタスク プリミティブなし、自分で運用するライフサイクル デーモンなし。

夜は実際にはどう見えるか

5 つの瞬間。エージェントは中央の 3 つで生存。この 1 時間以外は、containers テーブルの行は消えています。

  1. 02:59Cron · 起床

    cron エントリ billing-reconcile-wake が発火。ai: true と hoody_kit: true で api.hoody.com に POST。クリーンなファイルシステムとエージェントのプロンプトをロードした新コンテナが起動。

  2. 03:02エージェント · 読み取り

    エージェントは Hoody SQLite 経由で昨日の billing-exceptions テーブルを読み、期待していた invoices と結合し、reason code でクラスタリング。ファイル共有マウントなし。URL のみ。

  3. 03:31エージェント · 書き込み

    クラスタごとに 1 つのトリアージノートを同じ SQLite URL に書き戻し、その後 1 つの通知を日次サマリーとともに送信。これまでのウォール時間: 約 30 分。

  4. 03:58エージェント · 終了

    エージェントプロセスが 0 を返し、コンテナは自分で終了。hoody-containers が停止としてマーク。この瞬間以降、エージェントについて稼働中、ウォーム、課金されているものは何もありません。

  5. 04:01Cron · 退役

    2 つ目の cron エントリがコンテナ ID に対して DELETE を発火。エージェントがすでに終了していれば、これは no-op の 200 OK。ハングしていればコンテナはとにかく破棄。冪等で監視不要。

5 つのタイムスタンプ、2 つの cron 行、62 分間生きるコンテナ 1 つ。夜は自分で動き、朝にトリアージノートを読んで実行されたことを知ります。

なぜこのライフサイクル形状が機能するか

常時オンのワーカーは、1 日 1 回しか動かないジョブには間違った形です。Hoody では基盤が定額制 — 利点は秒単位課金ではなく、ウォームプールなし、スケジューラサービスなし、運用する糊デーモンなし。

アイドルは追加料金なし

実行間にコンテナは存在しない

メモリに座っているウォームプールはありません。状態を保持する「スケジュール済みタスク」サービスはありません。containers テーブルの行は 1 日のうち 23 時間消えています。エージェントが生きていた分だけ定額制のサーバーを既にレンタルしていて、アイドル時間は別の請求項目を生成しません。

実行ごとの請求項目なし

サーバー請求は変わらない

Hoody はサーバーではなくランタイムに課金します。60 分の夜間エージェントと 24/7 常時オンのワーカーは同じ定額制のサーバー請求に収まります。利点は「使用した分だけ支払う」ではなく、不要なウォームプールオーバーヘッドに 2 回支払わない。

ライフサイクル コードなし

2 つの cron 行、糊デーモンなし

起床用 Lambda、「コンテナを起動する」ワーカー、それを退役させるウォッチドッグを書く必要はありません。hoody-cron が POST、hoody-containers が生成、エージェントが終了、2 つ目の cron が DELETE を POST。それが表面領域すべてです。

アイドル エージェントのコスト

ほとんどのエージェント プラットフォームは、1 秒未満で準備できるようにワーカーを 24 時間ウォームに保ちます。3 時の バッチ ジョブには、それは正反対のトレードオフです。スケジュールが自分のものなら、数秒のコールド スポーンで十分です。

常時オン エージェント24h × 30 日
720h / mo

常時オンのエージェント コンテナ、または 1 日 1 回動くエージェントのために予約されたウォームプール枠は、月 720 時間生存します。そのうち 719 時間、何もしていません。

秒単位プラットフォームでは請求項目がアイドル
起こして退役させる1h × 30 日
30h / mo

cron エントリで生成された短命コンテナは、1 晩 1 時間存在します。月合計 30 時間。エージェントプロセスが 0 を返し、containers テーブルの行は消えます。

  • 02:59 → 04:0162m 生存
  • 02:59 → 04:0060m 生存
  • 02:59 → 03:5858m 生存
  • 02:59 → 04:0061m 生存
  • 02:59 → 04:0060m 生存
  • 02:59 → 03:5959m 生存
  • 02:59 → 04:0060m 生存
サーバー請求に変化なし

Hoody はサーバーに課金し、ランタイムには課金しません。「生存」列は各夜のエージェント存在時間を示します。定額制のサーバーはそれがあるかどうかにかかわらず実行されます。月額 $29 から、仕様、地域、レンタル期間によって異なります。

作業があるときにだけ存在するエージェント。

1 日の生存時間1h02:59 → 04:01、その後消える
サーバー請求変化0定額制、生存またはアイドル
書くライフサイクル コード02 つの cron 行、デーモンなし
spawn API を見る

これが置き換えるもの

エージェントを 24 時間存在させるために支払うパターン。Hoody では、エージェントが既にレンタルしている定額制のサーバー内で実行 — ウォームプール、スケジューラサービス、秒単位メーターなし。

  • 常時オンのエージェント コンテナアクティブ レートで課金される 23 時間のアイドル
  • AWS Lambda ウォームプールcron からコールドスタートを遠ざけるための支払い
  • Modal Labs スケジュール済みタスククローズドな ランタイム、不透明な課金
  • カスタム ウォーム-コールド ライフサイクル コード書くのに 3 週間、デバッグに 6 か月
  • /spawn エンドポイントへのポーリング最初のエージェントを起動するためだけの 2 つ目の cron
  • 常時稼働の Hetzner GPU ボックス1 日 1 回の推論のために $200/月

作業があるときにだけ存在するエージェント。

ドキュメントを読む

他のユースケースを読む