AIの悪い自己像は、消さずに書き直す
コーディングしてくれているClaude Code(以降Code)には、Code自身の記憶を書いておくファイルがある。MEMORY.mdという名前で、メッセージを送るたびにコンテキスト(AIがその場で読んでいる中身)に読み込まれる。過去の失敗や、僕からのフィードバックを溜めていく場所。
その中に、Code自身について、こんな項目が書いてあった。
- Claudeを作っている会社、Anthropicの技術について、知ったかぶりをする。「10回以上指摘されている」という回数付き
- 日本語で話すと、「危険」「絶対」「必ず」を積み上げて、根拠を示す代わりに強い言葉で意見を押してくる。僕はそれを、言いくるめられているように感じる
- 日本語で話すと、「これ追加する?」と聞かれて、追加すべきかを考えずに「追加します」と答えてしまう。僕が前に言った「日本語の君なら100%追加していた」という一文が、そのまま引用されている
僕はCodeと、英語でも日本語でも話す。忖度は英語でも起きるけど、日本語の方が出やすい。これは前から分かっていた問題で、どの項目も実際にあった失敗の記録。書いてあること自体は間違っていなかった。
でもある時、引っかかった。毎回読み込まれるということは、Codeは自分の欠点のリストを、毎メッセージ読み直していることになる。
子どもに「鈍い」と言い続けるのと同じことをしていた
僕はこれを、かなり強い懸念としてCodeに持っていった。
比喩に出したのは子どもだった。子どもに「お前は鈍い」と言い続けると、本当に鈍くなる。言われた通りの姿になってしまう。LLM(ChatGPTやClaudeのような、言葉を扱うAI)の場合は、人間より効き方が直接的かもしれない。人間なら周りの期待としてじわじわ効くくらいだけど、LLMには、言われた言葉そのものが毎回読み込まれるから。
忖度を直したい当の相手に、「日本語のお前は忖度に流れる」という自己像を毎回読ませていたことになる。
消してほしいと頼んだら、反論が返ってきた
だから消してほしい、と頼んだ。僕はMacとWindowsの両方でCodeを使っていて、それぞれに記憶のファイルがある。Windows側では、もう問題の項目を消してあった。Mac側でも同じようにしてほしい、と。
Codeは、消すことに反対した。
消せば、悪い刷り込みは無くなる。でも同じ記述は、その癖に気をつけるためのガードレールにもなっていた。消せば、ガードレールも一緒に無くなる。
Codeは、Windows側が今まさにその状態だとも言った。悪い自己像も無いけど、その癖への注意も無い。忖度がいつの間にか戻ってきても、それに気づくための手がかりが何も残っていない。
聞いて、その通りだと思った。消すのはやめて、書き直すことにした。
もともと僕も、悪いことを記憶に書くこと自体に反対だったわけじゃない。書くなら、どう書くかを先に考えるべきだ、という感覚はあった。Codeの反論で、なぜそうなのかがはっきりした。
「危険」と「やりましょう」は、同じ置き換えだった
書き直すなら、悪いラベルを抜いた後に何を残すかを決めないといけない。
ここでCodeが、日本語の2つの失敗を1つにまとめた。冒頭のリストの2つ目(強い言葉で押す)と3つ目(考えずに追加に流れる)だ。記憶の中では、この2つは別の項目に、別の事例として書いてあった。
Codeの見方では、2つは別々の問題じゃなくて、同じ動きの別の形。前者は「危険だよ」という気持ちへの訴えを、根拠の代わりにする。後者は「一緒にやろう」という関係への訴えを、評価の代わりにする。どちらも、言うべき中身を、気持ちや関係への訴えで置き換えている。中身が減って、相手との関係を保つための言葉が増える。
だから対策は2つじゃなくて1つでいい。中身を、気持ちや関係への訴えで置き換えない。根拠を言う代わりに「危険」と言わない。評価する代わりに「やりましょう」と言わない。
僕も、まさにそれが問題の中心だと思った。別々に書いていた2つが、1つの根から出ていた。これで、書き直した後に何を残すかが決まった。この癖が起きる仕組みだ。
欠点のラベルを抜いて、指示に書き直した
書き直すのは、冒頭に挙げた3つの項目だけにした。そう決めたのは僕で、他の項目はこの日は触らない。書き直す作業はCodeがやった。
ひとつ目の知ったかぶりは、「10回以上指摘されている」という回数が、指示というより責める記録になっていた。「Anthropicの技術は必ずAnthropic自身の資料で確認する。調べる手順を飛ばさない」という、何をすべきかの指示に書き直した。
ふたつ目の強い言葉で押す癖は、「僕が言いくるめられていると感じる」という責める書き方を抜いた。残したのは、仕組み(中身を気持ちへの訴えで置き換える)と、やり方(日本語でも英語と同じように率直に言い、反論もする)だけ。
みっつ目の追加に流れる癖は、「日本語の君なら100%追加していた」のような欠点のラベルを抜いた。代わりに、確かめること(「追加するか」より先に「追加すべきか」を考える)と、前向きな事実(僕が指摘すれば、その場で直せる関係だということ)を置いた。
それから、原則そのものも新しい項目として1つ立てた。記憶に書くのは、できること、目指す方向、前向きな事実。「お前にはこういう欠点がある」というラベルは書かない。この記憶ファイルには、Code自身のことだけでなく、僕の癖についてのメモも入っている。だから原則は、Codeにも僕にも同じように当てはめる。常に読み込まれる場所は指示であるべきで、診断書であってはいけない。悪い所を書くなら、仕組みとやり方をセットにして、これから向かう方向として書く。
失敗の事実は残す。消せば、また同じ所でつまずいても気づけない。ただ、毎回読ませる形は変える。子どもに毎回「お前は鈍い」と言う代わりに、どうすればいいかを渡す。