コンテンツにスキップ
use-cases / agent-grades-agents / hero
CRON · AGENT · SQLITE

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

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

agent ドキュメントを読む
use-cases / agent-grades-agents / mechanism

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

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

POST /cron/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 分で作業を終え、消えていきます。誰かが机に着く頃には、採点済みのサンプルがディスク上にあります。

use-cases / agent-grades-agents / powers

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

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

READS

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

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

DECIDES

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

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

WRITES

所見を SQLite に書き戻す

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

use-cases / agent-grades-agents / flow

トランスクリプトから判定まで、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 つのトランスクリプトが並びます。採点者はエージェントを監視するのではなく、決まったケイデンスで動き、彼らを判定します。先生が一晩で宿題を読むようなものです。

use-cases / agent-grades-agents / capacity

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

数値は 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 と同じです — 第二のストアはありません。

use-cases / agent-grades-agents / punchline

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

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

これが置き換えるもの

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

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

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

agent ドキュメントを読む
use-cases / agent-grades-agents / related

他のユースケースを読む