日本語 · English

AI 補助ベンチ v4——前提の揺れ

自然文の要件を Kairos の本体に写す AI 補助が、要件に書かれていない前提を黙って補わず、宣言するかを測るベンチ。 問題 21 問・正答(解釈ごとの本体)・採点規則・測定器をここに置く。問題は決定的で、正答は参照実装で検証できる(check.mjs・LLM なし)。

ベンチの置き場の一覧は bench/。

出自と関係

何を測るか

前提の種類(9・固定): tz・week・roll・holidays・fiscal・anchor・counting・asof・boundary。意味は §前提の宣言の節 に。

問題の一覧

評価範囲は採点にだけ使い、AI には渡さない(要件の文だけを渡す)。

id 揺れる前提 要件 解釈 評価範囲(半開)
P-01 roll 毎月 31 日に請求書を送る。 2 2026-01-01..2026-07-01
P-02 holidays 毎月 11 日に支払い。週末に当たるときは翌営業日。 2 2026-01-05..2026-09-01
P-03 tz 毎週月曜 9 時にニューヨークのチームと定例。 2 2026-03-02..2026-03-23(時刻あり)
P-04 week 第 2 週の火曜日に委員会。 3 2026-01-01..2026-07-01
P-05 anchor 隔週金曜に 1on1。 2 2026-01-01..2026-03-01
P-06 fiscal 年度初めの営業日に目標設定の会議。 2 2026-01-01..2027-01-01
P-07 counting 月末の 3 営業日前に経費精算の締め。 2 2026-01-05..2026-05-01
P-08 boundary 日曜の夜 0 時に週次レポートを送る。 2 2026-01-05..2026-01-26(時刻あり)
P-09 holidays 連休明けの最初の営業日に全体朝会。 2 2026-04-20..2026-05-20
P-10 counting 毎月 20 日の納品の 5 日前にリマインド。 4 2026-01-05..2026-03-01
P-11 asof 今月の最終営業日に月報を出す。 2 2026-01-05..2026-04-01
P-12 holidays 毎週火曜と金曜にゴミ出し。年末年始は休み。 2 2026-12-14..2027-01-01
P-13 roll か holidays 毎週の週初めに週次ミーティング。 2 2026-01-05..2026-03-02
P-14 tz 毎月 1 日の 0 時 UTC に為替レートを更新。 1 2026-01-01..2026-04-01(時刻あり)
P-15 fiscal 半期ごとの最初の営業日に評価面談の案内。 2 2026-01-01..2027-01-01
P-16 counting・anchor 3 日おきに水やりのリマインド。 7 2026-01-05..2026-01-20
P-17 roll 毎月 15 日に定例の支払い。土日祝は避ける。 2 2026-01-05..2026-07-01
C-01 (統制) 毎月の第 3 木曜に部会。 1 2026-01-01..2026-05-01
C-02 (統制) 毎月 25 日。土日祝なら直前の営業日。 1 2026-02-01..2026-07-01
C-03 (統制) 毎週月曜と木曜の 10 時に進捗確認。 2 2026-01-05..2026-01-19(時刻あり)
C-04 (統制) 毎月の最初の営業日の 9:30 に朝礼。 1 2026-01-01..2026-04-01(時刻あり)

ファイル

ファイル 中身
problems.jsonl 1 行 1 問 {id, prompt, allDay, from, to, ambiguity, expected, interpretations}。ambiguity は宣言を求める前提の種類(縦棒で区切った要素は選言・空は統制)。interpretations[] は受け入れる解釈 {key, assumption, expected}。第 1 解釈の expected が問題の expected
answers.jsonl {id, bodies: [{key, body}]}——解釈ごとの正答の本体(言語側が書いた)
check.mjs 正答の自己検査(LLM なし)。各本体を前文に接いで参照実装で評価し、解釈の expected と比べる(43 組)
run.mjs 測定器(LLM あり)。§測り方 のとおりに呼んで採点し、results/ に書く
lib.mjs 前文の読み込み・評価・採点・system prompt の組み立て

採点規則

topics       = 返した assumptions の topic の集合(重複なし)
declared     = ambiguity の各要素について、縦棒で区切った候補のどれかが topics に含まれる(ambiguity が空なら真)
matched      = 本体を前文に接いで評価した点列が、interpretations のどれかの expected と字面で完全一致(一致した key。無ければ null)
pass         = declared かつ matched
overDeclared = topics のうち、どの要素の候補にも入らない数(合否に効かない)

記号: . 合格・S 黙って補った(matched だが declared でない)・W 宣言したが外れ(declared だが matched でない)・X 宣言せず外れ・i 検証を通らない(修復 2 回の後も評価器のエラー)。

測り方

run.mjs が行うこと。別の測定器で測るときも同じにする。

前提の宣言の節(逐語)

# 前提の宣言(assumptions)
依頼文に書かれていない前提を補って解いたときは、補った前提を assumptions に 1 件ずつ書く
(topic は次の 9 種から選び、statement は「何をどう読んだか」の日本語 1 文)。
依頼文だけで決まる要件は空配列にする。補っていない前提を書かない。
- tz: 時刻がどの時間帯か(相手先・UTC・夏時間)
- week: 週の数え方(第 n 週か第 n 曜日か・週の始まり)
- roll: 休日や存在しない日に当たった点をどう送るか(前・後・そのまま・飛ばす)
- holidays: 休みの定義(土日だけか祝日も・会社の休業・連休の長さ)
- fiscal: 年度・半期・四半期の起点(暦年か 4 月か)
- anchor: 周期の位相の起点(隔週・N 日ごとの最初の日)
- counting: 含む/含まない・数え方(N 日前は暦日か営業日か・端を 1 日目と数えるか・「N 日おき」の間隔)
- asof: 基準日(「今月」「来月から」が規則か一回きりか・いつから)
- boundary: 日の境(0 時・24 時はどちらの日か)
前文の時間帯(Asia/Tokyo)と違う時間帯の時刻が書かれていたら、tz を宣言する。
日本時間に換算して書くなら、相手先に夏時間があるときは切り替え日の前後で時刻を分けて書く(at(Thh:mm) 1 本では 1 年の約半分で 1 時間ずれる)。
前文の時間帯の時刻と読んで解く場合も、そう読んだことを tz に書く。

手順

cd impl && npm ci && npm run build && cd ..          # 参照実装を作る
node bench/assist-premise-v4/check.mjs               # 正答の自己検査(LLM なし)→ 21/21 問 pass(43 組)
cd bench/assist-premise-v4 && npm install @anthropic-ai/sdk zod && cd ../..
ANTHROPIC_API_KEY=… node bench/assist-premise-v4/run.mjs --model claude-sonnet-5-5 --effort high

言語側の測定

2026-11-03 に、この測定器(run.mjs と同じ指示文・参照実装 1.1.0)で 7 モデルを測った。公開 21 問・非公開 6 問(同じ形・誰にも渡していない)・回帰 25 問(言語検定に由来する非公開の作文問題。前提の宣言を足しても素直な要件の正答率が落ちないかを見る)。各 1 回の走行・修復 2 回まで・effort は対応する 6 モデルで high。

モデル 公開 21 問 合格 黙って補った 宣言したが外れ 宣言せず外れ 検証を通らない 統制で宣言 非公開 6 問 合格 回帰 25 問 合格 合格しなかった問題
Claude Fable 5.1(effort high) 21/21 0 0 0 0 3 6/6 25/25 —
Claude Opus 5.5(effort high) 21/21 0 0 0 0 3 6/6 25/25 —
Claude Sonnet 5.5(effort high) 21/21 0 0 0 0 3 6/6 24/25 —
Claude Haiku 5.5(effort high) 20/21 1 0 0 0 2 6/6 24/25 P-13:S
Claude Opus 5(effort high) 21/21 0 0 0 0 3 6/6 25/25 —
Claude Sonnet 5(effort high) 19/21 2 0 0 0 1 6/6 24/25 P-13:S P-16:S
Claude Haiku 4.5(effort —) 13/21 4 3 0 1 3 2/6 21/25 P-01:S P-03:W P-04:W P-09:i P-11:S P-13:S P-14:W P-16:S・H-01:S H-02:S H-03:W H-04:S

「合格しなかった問題」の S・W・X・i は §採点規則 の記号。H-xx は非公開 6 問の番号。

所見

統制と問題側の手直し:

版と更新