# 「先に質問して」の実験素材

記事「AIは黙って仮定して進める。『先に質問して』と一言足したら、隠れた要件7つの取りこぼしが消えた」の実験素材です。実施日は2026-10-15。Claude Code 2.1.300、モデルは既定のclaude-fable-5-1。

## 中身

| ファイル | 内容 |
|---|---|
| `tasks.json` | 3題材（割り勘・ポイント計算・会議室予約）の依頼文と、依頼主だけが知っている7つのルール。質問を促す一言2種と、2段階目の依頼文 |
| `run.py` | 実験の実行。`python3 run.py ABCDE`で5条件を各題材5回ずつ回す |
| `score.py` | 採点。生成された`<題材>.py`に自作テストを7本流す |
| `results.json` | 75回すべての結果。条件・採点・質問・依頼主役の回答・完了報告・生成コード |

## 条件

- A: 依頼文だけ
- B: 依頼文＋「実装の前に、確認したいことがあれば先に質問してください。」。質問は1回目の呼び出し、依頼主役AIの回答のあと、同じセッションを`--resume`して実装
- E: Bの一言に、質問の観点（入力の例外・業務上の決まり・出力の細部・エラー時の振る舞い）を添えたもの
- D: Bと同じ質問、回答は全部「お任せ」
- C: 7つのルールを最初から全部渡す

## 回し方

`run.py`は作業場所を`/tmp/aire`に固定しています。`tasks.json`の内容を`/tmp/aire/tasks/<題材>.base`と`<題材>.spec`に書き出し、`score.py`を`/tmp/aire/score.py`に置いてから実行します。ログは`/tmp/aire/runs/`、AIの作業フォルダは`/tmp/aire/w/`に作られます。

```sh
python3 run.py ABCDE
```

## 限界

- モデルは1つ、各条件5回、題材は小さな単一ファイルのスクリプトです。
- 依頼主役はAIです。聞かれたことに、人間より素直に答える可能性があります。
- 採点テストは私が隠れた要件から作りました。そのまま頼んでも「自然な選択」でたまたま満たされる要件が混ざります。
- 実行はAIにシェルを渡して行っています。最初の実行（質問・回答ファイルを作業フォルダに置いていた版）では、2回が親フォルダを覗いたため破棄し、作業フォルダを分けて全部取り直しました。`results.json`は取り直した版です。
