# 実験：過去の投稿を見せるだけで、AIの投稿は「本人らしく」なるか

記事：`/ja/blog/ai-social-post-voice-experiment`（2026-10-19）

## 何をしたか

架空の焙煎所「灯台珈琲」の店主（`materials.py`）として、X投稿を作らせた。店主は常体（だ・である調）で書く人で、過去投稿30本が見本。共通で渡したのは、ブログ要約・発売ブレンドの案内・口調の指定（「親しみやすく、飾らない口調で」）。ここに次を足した。

| 条件 | 足したもの |
|---|---|
| base | 口調だけ |
| S3 / S10 / S30 | 過去投稿3本／10本／30本（3⊂10⊂30の入れ子）。「見本の文・事実は使わない」の注意つき |
| S10raw | 10本。注意書きなし |
| S10N | 10本＋体験・考えのメモ |
| S10A | 10本＋言わない表現と理由 |
| S10R | 10本＋AI案を直してきた理由（例文なし） |
| S10P | 10本＋今回の立場・読者・目的（お題ごと） |
| S10Q | 10本＋質問で引き出した体験。AIが質問を3つ作り、店主役（メモの範囲だけで答えるAI）が答え、その問答を渡す（`qa/`） |
| S10ALL | 10本＋N・A・R・P |

お題は3つ（豆の保存／冬ブレンドの発売告知／浅煎りか深煎りかへの考え）。各条件×各お題を8回、計264本。実行は `claude -p --tools "" --no-session-persistence --disable-slash-commands`、空の一時フォルダ、既定モデル、2026-10-19。

## 採点

- `judge.py`：条件名を伏せ、同じお題・同じ回の11本をシャッフルして、判定役に「本人らしい順」に並べさせた。判定役には事実・メモ・過去30本・言わない表現・同じお題で本人が実際に書いた投稿（AIには見せていない）を渡した。判定役は Claude と Codex(GPT)。各24組、計48判定。
- `score.py`：です・ます調の文の割合、平均文長、「！」・絵文字、空欄や説明文、見本の10文字以上の一致、過去投稿にだけ載る古い情報の漏れ、体験メモの語。
- `pairs.py`：条件ペアごとの勝ち数と平均順位差（ブートストラップ区間）。`pairs.json` に保存。
- `figs.py`：図版の生成。

## 限界

人物・店・数字・正解の投稿はすべて筆者が書いた架空のもの。正解の投稿は体験メモと同じ材料から書いたため、メモを渡した条件に有利に働く。判定役はAIで、本人が読んだ結果ではない。1題材・1モデル・各8回。48判定は同じ候補を2回読むため独立ではない。`runs/` に全出力、`judge/` に全判定。
