# 実験素材：営業リストを4ステップで作る（松本市の製造業っぽい株式会社30社）

2026-10-17。Claude Code 2.1.301。法人の代表連絡先だけを扱い、電話もメールも送っていません。

スクリプトは、このREADMEと `sample30.json` がある `experiment/` を作業ディレクトリ（cwd）として実行してください。

## 流れ
1. `step1.py`：国税庁 法人番号 全件CSV（長野県、2026-09-30時点）から、現存・株式会社・松本市・社名に製造業っぽい言葉を含む141社を出し、乱数seed 20261017で30社を抽出 → `sample30.json`
2. `mk.py`：プロンプトを作る（`promptA.txt` 検索なし／`promptA2.txt` 強制版／`promptB*.txt` 検索あり。B1は10社分の例）
3. `claude -p` で実行（`raw_outputs.json` に生の返答・費用・ターン数）
   - 条件A（検索なし）：`--tools ""`。モデルは Opus 5.5 / Sonnet 5.5 / Haiku 4.5。
   - 条件B（検索あり）：`--tools "WebSearch,WebFetch"`、Opus 5.5、10社ずつ3並列。
   - いずれも空の作業フォルダで実行、`--setting-sources ""`、スキル無効。
4. `parse.py` → `B_all.json`（30社の結果）、`verify.py`／`verifyB.py`／`verifyA.py` で出典ページ・URLをcurlで再取得して照合 → `verifyB.json`、`vA_*.json`

## 限界
- 各条件1回。統計的な比較ではありません。
- 業種は社名の言葉で絞ったので、設備工事・電気工事・建設の会社も混ざります。
- 住所の照合は、出典ページの住所を目視で国税庁の本店所在地と見比べました（スクリプトの住所判定は粗いので使っていません）。
- 公式サイトを特定できなかった15社は、私のWeb検索（日本語検索の精度は高くない）でも見つけられませんでしたが、「サイトが存在しない」ことの証明ではありません。
- ChatGPTは試していません。
