皆さんこんにちは。今回は、筆者のAIの使い方に関するちょっとした話です。
AI(Claude Codeのようなコーディングエージェントを想定します)に指示を出すとき、日本語で指示を出す方が多いでしょう。しかし、筆者は英語で指示を出すことを好んでいます。この記事ではその理由を説明します。
AIに丁寧に接したい
記事のタイトルにあるように、その理由はAIに丁寧に接したいからです。丁寧に接するとは、日本語で言えば、敬語を使うとか相手を尊重した話し方をするとかです。
## 丁寧ではない依頼
このファイルを修正してXXXを実装して
YYYの考慮が漏れてるから直しといて
## 丁寧な依頼
こんにちは。このファイルを修正してXXXを実装してほしいです。
ありがとうございます。ただ、この実装だとYYYの考慮が漏れていると思います。修正をお願いします。
なぜ丁寧に接するのかと言えば、ほとんど自己満足です。たとえAIが相手だとしても、上の例の「丁寧ではない依頼」のような話し方をすることは自分にとってストレスです。そのため、ストレスを感じず快適に仕事をするために、「丁寧な依頼」のような書き方を好んでいます。
また、AIの性能はコンテキストの中身に左右されます。本当にそうなのかは分かりませんが、あまりぶっきらぼうな接し方をしているとそういうコンテキストになって、AIの性能が落ちるかもしれないという意識も少しあります。
少し違う話ですが、「ありがとう」とAIに伝えるのは無駄ではなく、「これまでの成果にある程度満足しており、大きな方向転換の必要はない」という情報をむしろ効率よく伝える効果があるという話も以前Xで見かけましたね。もしかしたらAIに丁寧に接することも何かしらの効果があるかもしれません。
むやみにAIへの指示・返答を簡素にするのは、AIに伝えたほうがいい情報を落としてしまうかもしれないという不安もあります。そのため、人間相手に接するように丁寧に接して、誤ってコンテキストを落とさないようにもしたいですね。
例えば上の例だと、丁寧な言い方では「YYYの考慮が漏れていると思います」と書いています。これは婉曲表現という役割もありますが、同時に「これは確定情報ではなくユーザーの意見であり、AIによる反論の余地もある」というコンテキストを残しています。
日本語は面倒くさい
しかし、思いませんでしたか? いちいちAIにこのように丁寧に接するのは、入力が面倒くさいです。タイピング量がとても多くなるし、IMEを日本語モードに切り替えるのも場合によっては面倒です。
そこで登場するのが英語です。
## 丁寧な依頼(日本語)
こんにちは。このファイルを修正してXXXを実装してほしいです。
ありがとうございます。ただ、この実装だとYYYの考慮が漏れていると思います。修正をお願いします。
## 丁寧な依頼(英語)
Hi! I'd like you to edit this file to implement XXX.
Thanks, but I guess we need to also consider YYY here. Could you take a look?
タイピング量は英語のほうが少なそうですね。また、地味に大変な漢字変換をしなくてもよくなります。
「Hi!」や「Thanks」が日本語の文と同等に丁寧なのかは諸説あります。筆者は英語ネイティブではないので、そのあたりの正確な感覚は分かりません。
しかし、GitHub上での英語の議論などを見ると、これくらいの表現で十分丁寧だろうと考えます。そもそもほとんど自分の感覚次第、というか自己満足の領域ですから、自分が良いと思ったら良いのです。
筆者は気分に応じて「Hello」や「Thank you」なども使います。また、AIが作業を終えた場合は程度に応じて「Nice!」「Excellent!」「Perfect.」なども頻出語彙です。
副次的効果
これは地味に英語の勉強にもなります。
筆者は技術的な内容の読み書きを英語でするのに困りはしませんが、やはりネイティブに比べると稚拙な、あるいはこなれていない表現が出てしまうこともあります。
そのようなとき、AIはそれでも意図を理解してくれますが、AIの返答(英語で話しかけると基本的に英語で返ってきます)により自然な言い換えが含まれることが多くあります。「こういえば自然な言い方になるのか!」という発見が日々あります。
心配なのは、AI特有の表現に引っ張られてしまわないかですね。AIによる日本語に違和感を感じる日本語話者は多いでしょうが、筆者はAIの英語を見ても「この英語AIっぽいな」とはあまり気づけません(コロンとか記号類はともかく)。しかし、実際には英語でもAI特有の言い回しがあり、むしろそれが人間にも影響し始めているという話があります。
AIとばかり会話するあまり「AI英語」を習得してしまわないかは気を付ける必要がありそうです。
余談
AIは言語がとても得意で翻訳などはお手の物ですが、複数の言語を使い分けることは案外苦手としているようです。
日本語のコードベースでスキル等が全部日本語で書かれている場合、AIと英語で会話していたのに、スキルを読み込んだ後は急に日本語になるということは日常茶飯事です。Claude Codeの言語設定機能やCLAUDE.mdによる補正をしても完璧ではなく、会話とは別の作業対象の言語の影響を受けてしまいます。
英語で指示して日本語の文書を書かせた後など、ユーザーへの返事も日本語になることがよくあります。
個人的にはもうちょっといい感じになってほしいですが、LLMの仕組みを考えると難しいのかもしれません。
まとめ
AIに丁寧に接したいとき、日本語よりも英語で会話したほうが入力の効率がいいです。