コンテンツにスキップ
タイプアンロック
ステージ本番環境
難易度高度
ジョブタスクを自動化
対象AI ビルダー
サービスCron
サービスエージェント
サービスSQLite
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度高度
ジョブタスクを自動化
対象AI ビルダー
サービスCron
サービスエージェント
サービスSQLite
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度高度
ジョブタスクを自動化
対象AI ビルダー
サービスCron
サービスエージェント
サービスSQLite
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
タイプアンロック
ステージ本番環境
難易度高度
ジョブタスクを自動化
対象AI ビルダー
サービスCron
サービスエージェント
サービスSQLite
Hoody の利点AI ネイティブ
Hoody の利点HTTP ネイティブ
CRON · AGENT · SQLITE

昨日のエージェントを採点するエージェント

あなたのプロダクトは 1 日に何百ものエージェントセッションを動かしています。それぞれがトランスクリプトを SQLite URL に書き込みます。午前 6 時、cron エントリが 1 つのプロンプトとともにスーパーバイザーエージェントに POST します。「昨日のトランスクリプトを読み、採点し、最悪の 3 件をフラグせよ」。あなたが席に着く頃には、通信簿はもう開いています。

agent ドキュメントを読む

1 行の cron、1 つのプロンプト、1 つの判定

5 フィールドの cron エントリが 1 つ、プロンプト付きで agent サービスに POST します。スーパーバイザーコンテナが起動し、昨日の SQLite トレースを読み、採点を同じデータベースに書き戻し、終了します。オーケストレーターも、ルーブリックサービスも、評価パイプラインもありません。

POST /users/me/entries
POST · scheduler
# POST /api/v1/cron/users/me/entries
{
  "schedule": "0 6 * * *",
  "command": "curl -X POST $AGENT/api/v1/agent/tasks \
     -d @grade.json",
  "comment": "nightly-supervisor"
}
grade.json · supervisor prompt
POST · supervisor
# grade.json — the supervisor's instructions
{
  "description": "/sqlite/sessions WHERE day = '2026-05-03' から昨日のトランスクリプトを読み込め。50 件サンプリングし、事実性、ツール呼び出しの正確性、トーンのドリフトで採点せよ。所見を report テーブルに書き込み、最悪の 3 件を人間レビュー用にフラグせよ。",
  "mode": "code"
}

cron 行が「いつ」を決め、プロンプトが「何を」を決めます。スーパーバイザーコンテナは夜間に約 20 分で作業を終え、消えていきます。誰かが机に着く頃には、採点済みのサンプルがディスク上にあります。

ダッシュボードにはできない、スーパーバイザーエージェントだけができる 3 つのこと

AgentOps の画面はログを見せます。LangSmith のルーブリックはスコアを与えます。採点するスーパーバイザーはループを閉じます — トランスクリプトを読み、何が悪いかを判断し、判定を書き込みます。

READS

実際にトランスクリプトを読む

メトリクスだけではありません。スーパーバイザーは各セッションを開き、ツール呼び出しを読み、グラウンドトゥルースを確認し、トーンを評価します。スプレッドシートのルーブリックは数えるだけ。エージェントスーパーバイザーは判断します。

DECIDES

あなたが見るべき 3 件を選ぶ

400 ランのうち 397 は問題ありません。スーパーバイザーの仕事は、問題のある 3 件を浮かび上がらせることです — 名前付き、1 行のメモ付きで。ダッシュボードをスクロールするのではなく、4 行を読むだけ。

WRITES

所見を SQLite に書き戻す

すべての採点と所見は、エージェントが使う同じ SQLite URL に着地します。明日のスーパーバイザーが比較します。ドリフトは「雰囲気」ではなくクエリになります。

トランスクリプトから判定まで、20 分で

午前 6:00 から 6:21 の間に 3 つのことが起きます。どれもあなたを必要としません。

/cron/0 6 * * * → agent/tasks → /grades/2026-05-03あなたが寝ている間に走る
READ

昨日のトランスクリプトを開く

スーパーバイザーエージェントは、ワーカーが書き込んだのと同じ SQLite URL にクエリします。SELECT * FROM sessions WHERE day = yesterday。ランダムに 50 件サンプリング。

SCORE

各ルーブリックを採点

セッションごとに: 事実性、ツール呼び出しの正確性、トーンドリフト、ハルシネーション数。レターグレード + 1 行の理由。コスト: agent タスク 1 つ。

FLAG

所見を書き込む · 下位 3 件をフラグ

report テーブルに INSERT。最悪の 3 件を人間レビュー用にマーク。/grades/[date] のページはそのテーブルに対する SELECT に過ぎません。

午前 6:21 までに、ディスク上に採点済みサンプルとフラグ付きの 3 つのトランスクリプトが並びます。採点者はエージェントを監視するのではなく、決まったケイデンスで動き、彼らを判定します。先生が一晩で宿題を読むようなものです。

ケイデンスが買ってくれるもの

数値は cron + agent + SQLite 表面に基づきます。捏造したベンチマークではありません。

  1. ONE CRON LINE0 6 * * *

    5 フィールドがスーパーバイザーの起床時刻を決めます。スケジュールを変えればケイデンスが変わります — 1 時間ごと、毎日、オンデマンド。この行がスケジューラーのすべてです。

  2. GRADE WINDOW~20 分

    50 セッションをサンプリングし、それぞれを読み、判定を書き込むスーパーバイザータスクは、典型的に 20 分以内に完了します。タスクが終わるとコンテナも終了します。

  3. ORCHESTRATOR DAEMONS0

    Airflow も、評価サービスも、DAG スケジューラーもありません。cron エントリは /etc/crontab の 1 行です。判定は SQLite の 1 行です。第三のものは存在しません。

Hoody Cron API に基づく標準の 5 フィールド cron 式。スーパーバイザーのセッション長はサンプルサイズとルーブリックの複雑さに依存します。SQLite は、ワーカーエージェントがすでに書き込む hoody-sqlite URL と同じです — 第二のストアはありません。

cron ジョブはスーパーバイザー、スーパーバイザーもまたエージェント。

昨日 · 盲目的に走らせていた今日 · 6:21 までに採点済み
古いループはこうだった人がログを読む · 週次会議 · 事後ルーブリックをシートに1 週間後にドリフトに気づく · ラン全体の 0.5% しかレビューしない
今はこう見える
cron + agent 仕様を読む

これが置き換えるもの

標準的なエージェント品質スタック: 読み取り専用ダッシュボード、手作業のログレビュー、採点はするが行動しないルーブリックツール。スーパーバイザー cron は 20 分でその 3 つすべてをやります。

  • 人間だけによるエージェントレビューエンジニアが手作業でログを読む · 0.5% サンプル · 1 週間後にドリフトを掴む
  • 週次会議でのエージェント振り返り話題に上がる頃にはドリフトはすでに 1 週間前のもの
  • 手作業のログ調査grep してスクロールして祈る · ルーブリックなし、スコアなし、記録なし
  • AgentOps の品質ダッシュボード(読み取り専用)開かないと見えないチャート · 判定はどこにも書かれない
  • 行動しない LangSmith 評価ルーブリックスコアは計算される · 誰もページングされない · 誰にも伝わらない
  • 事後のスプレッドシート ルーブリック金曜に誰かが埋める Google Sheet · 月曜には古い

午後 11 時にログを読むのはやめましょう。エージェントを夜間にスケジュールし、コーヒー片手にその通信簿を読むのです。

agent ドキュメントを読む

他のユースケースを読む