概要
先日、社内でClaude Codeの話をしたとき、自分がClaude Codeに英語でプロンプトを書いているという話をしたら、まぁまぁ驚かれた。入力も出力も英語にしていると。
Claude Codeの使い方について「何がベストか」という話題は、もう毎日のようにどこかで見かける。そんな中、大量のTipsやベストプラクティスの中で、自分が一番重要だと思っていること──それはプロンプトを英語で書くこと。
この記事の結論を先に書くと、「プロンプトは英語で書け、めちゃくちゃ速い」。これがClaude Codeを効果的に使うための自分からの最大のベストプラクティスであり、同時に自分自身のためにもなる。
英語プロンプトのほうが出力品質が上がる?
英語プロンプトのほうが出力品質が上がる。
これはよく見るトピック。その方がAIがより効率的に動くという話。日本語はマルチバイトでトークン消費が多いとか、内部的に英語に翻訳してから処理しているのでは、とか。
ただ、自分がこの記事で言いたいのはこのポイントではない。正直、この話題については知らないので何ともいえない。
ただ、体感として感じる部分はある。Claude Codeに何かをやらせて、なんか変なことをやり始めたとき、日本語で返答してくることがある。日本語で返ってくるときのほうが、うまく動かない頻度が高い気がする。
ただ、そこには色々な要因がありそうで、プロンプトの言語はその一要素にすぎないかもしれない。英語と日本語のプロンプトの差を検証したことはないので、何とも言えない。そうかもしれないし、そうでないかもしれない。
それに、この話題はLLM自体の進化で解消されていく類のものだと思う。一ユーザーとして、わざわざ検証するのは時間の無駄な気がするのでそういうことはしていない。
プロンプト入力の速度
英語プロンプトをおすすめする最大の理由はシンプル。「日本語より圧倒的に入力が速い」。これに尽きる。
例えばJavaScriptを書くとする。関数名や変数名を日本語の、マルチバイトで書くことを想像してみてほしい。冗長で意味がないと感じるはず。日々英語でプロンプトを書いている人間からすると、日本語でプロンプトを書くのはほぼ同じ感覚。冗長で時間がかかる。
なぜ英語のほうが速いのか。理由を考えてみた。自分的には以下の二つ。
- 日本語は変換プロセスが必要
- 日常的に使っている言語だからこその認知バイアスがある
最大の違いは変換プロセス。日本語入力には単純に余計な時間がかかる。自分はMacOSでATOKを使っているが、よく単語の区切りを間違える。そうなるとShift+矢印キーを押して、Enterを押して、適切な漢字を探して……というのをやるわけだが。このコストは地味に高い。
もう一つ、日本語は日常的に使っている言語なので、微妙な表現の違いが気になるという面がある。たとえば、ATOKが「〜と言うこともある」と変換することがある。多くの人にとってこれは問題ないかもしれないが、自分的には特に話したりするわけでなく、単に事実を示す文脈で使う場合、「〜ということもある」にしないとおかしく見える。正直、AIにとってはどうでもよいであろう話なのだが、自分の注意がそこに引っ張られる。大きな問題ではないが、ゼロではない。
外国人旅行者がカタコトの日本語を話しているのを見て、「正しい日本語を使え」と思うだろうか。たぶん思わない。なので、英語でプロンプトを打つときもかしこまらなくて良い。雑英語で伝わる。Claude Codeは賢い。
英語の勉強にかなり良い
自分はTakazudo Modularのコミュニケーションで英語のメールを書くことがある。こういうメールは丁寧に書く必要があって、ChatGPTに英語を直してもらっていた。
ちなみに、自分の英語力について補足しておくと、完全に日本人で、海外に住んだことはない。仕事でも日常でも日本語しか使わない。英語を話すのはかなり厳しい。読者もおそらく似たような状況かと思う。
──話を戻す。前のセクションでカタコトの例を出したように、プロンプトに正しい英語は必要ない。ここがポイント。ビジネスメールを書いているわけではないので、カタコト英語で十分。プロンプトの中に日本語を混ぜてもいい。タイポもわざわざ直さない。「Jappanese」みたいなタイポをしてもそのまま。Claude Codeは推測してくれる。
そしてこのカタコト英語でプロンプトを書いても、Claude Codeは確認のためにリフレーズしてくれる。たとえばこういうやりとり。
自分: "please fix the three lines UI layout broken on mobile right top of our header, it's left side, but need to be right side"
Claude Code: "You are absolutely right!! You mean the hamburger menu needs to be right"
何かをうまく説明できなくても、関連しそうな単語を並べればいい。するとClaude Codeがリフレーズしてくれる。「ああ、ハンバーガーメニューのことですね」と。これは英語を学ぶのにかなり良い方法だと感じている。
自分はこういうプロンプティングの傍らでChatGPTも使っている。こんな風に教えてくれる。
自分: I setup / I set up どっち?
ChatGPT: 正しくは "I set up" です。
理由: setは不規則動詞で、原形・過去形・過去分詞がすべて同じ形(set)になります。
- ❌ I setup
- ✅ I set up
こういうのが、少しずつ英語を教えてくれる。
これがChatGPTである意味は特に無い。ただ日々Alfredでカチャカチャ切り替えて使うから、英語ヘルプ用にそいつを使うぐらいな意味。
まとめ
自分は基本的にプラグマティックな人間なので、勉強のための勉強はできないタイプ。でも今は、AIがこういう副次的な学習を同時にやらせてくれる。わざわざ英語を勉強しに行かなくても、日々のちょっとした疑問をその場で解消できるのでかなり効率が良い。
ということで、自分のおすすめは、プロンプトを英語で書くこと。速度の面で。
この記事を始め、このサイトの文章の全ては英語で下書きを書き、執筆ルールに基づいて変換したもの。こういうルールを元に記事にさせ、その後微調整している。