← knym.net

Claude Codeへの入力だけ英語にして、間違いは日本語で添削してもらう設定にした(音声入力も英語に)

·27 min read
Claude Code英語学習音声入力設定AI活用

英語、勉強し直したいんだよな。でも教材を買って机に向かう時間なんて、どう考えても取れない。

だったら毎日何時間も触ってるClaude Codeを練習台にすればいいと思って試してみた。作業の依頼を英語で書けば、それがそのまま英作文の練習になるわけで。音声入力で話せば発音の練習にもなる。新しく時間を作らなくて済むのがありがたい。

で、やりたかったのは3つ。

自分の入力だけ英語にする。間違いがあれば日本語で直してもらう。音声入力も英語にする。この3つ。返事まで英語になると読むのに時間がかかって作業が止まるから、Claudeの返事は日本語のままにしたい。

やったことの指示プロンプトはこちら。4つ目から下は、使っているうちに足したもの。

目的投げたプロンプト結果
書く「英語の勉強のためにチャットで積極的に英語を使おうと思う。もし間違ったり、意味不明な時は注意して修正ポイントを日本語で教えてもらう設定は作れる?」CLAUDE.mdに英語学習モードができた。英語で書くと末尾に添削が付く
話す「会話がカタカナになるので英語で認識させたい」Claude側のマイクは言語を選べず、macOS標準の音声入力を英語にして解決
聞く「例文の英文はしゃべらせることはできる?」添削の例文を say コマンドで自動読み上げするようになった
書く(日本語の日)「英語のプロンプトを書く時以外に、日本語指示を英語にした解説を表示するようにしたい」日本語だけで打った日も、末尾に英訳が付くようになった
復習する「間違えた英語表現は記録しといて復習テスト作れる?」指摘がJSONにたまり、/english-quiz で出題されるようになった

時間がない人へ。これ1つで全部入る

経緯はいいからとにかく設定したい人向けに、ここまでの内容を1つのプロンプトにまとめた。これをコピーして投げれば、以下で説明する設定が一度に入る。

まとめプロンプト

英語学習のため、これから自分の入力はできるだけ英語で書きます。
次の4つを設定してください。

1. あなたの返事は日本語のままにする。作業の回答が英語になると読むのに
   時間がかかるため

2. 私が英語で書いたら、返事の末尾に「📝 English Check」を付ける。
   何がなぜ間違いかを日本語で説明し、ネイティブならこう言うという
   自然な表現を毎回1つ以上提案する。文法用語だけで済まさず、
   ニュアンスの違いも一言添える。英語が自然なときは
   「✅ 自然な英語です」と一言だけでいい

3. 私が日本語だけで書いたら、末尾に「🗣 English Version」を付けて、
   その依頼を英語で言うとどうなるかを1〜3文で示す。長い依頼でも
   全文の逐語訳はしない。鍵になる表現を1〜2点だけ日本語で解説する

4. どちらの場合も英文を読み上げる。
   say -v Samantha -r 175 "英文" を使い、日本語の解説は読ませない

コード・コマンド・技術的な固有名詞・引用文は添削の対象外。
「OK」「ありがとう」のような短い返事には何も付けない。
この内容を CLAUDE.md に書いて、以後ずっと有効にしてください。

ChatGPTで使うなら、4を消して最後の1行を「カスタム指示に入れてください」に変える。読み上げは手動になるけど、残りはそのまま動く。

音声入力を英語にするところだけはプロンプトでは片づかない。macOS側の設定が要るので、2を読んでほしい。

以下、それぞれの設定に至った経緯と中身。

1. まずチャットを英語で書けるようにした

Claude Codeには CLAUDE.md ってファイルがある。ここに書いた指示は会話のたびに読み込まれるので、「こういうふうに振る舞ってほしい」を置いておく場所だと思えばいい。ホームの ~/.claude/CLAUDE.md に置けば全プロジェクトで効くし、プロジェクトのフォルダに置けばそこだけで効く。

最初にClaudeへ投げたプロンプトがこれ。

指示プロンプト

英語の勉強のためにチャットで積極的に英語を使おうと思う。
もし間違ったり、意味不明な時は注意して修正ポイントを日本語で教えてもらう設定は作れる?

これを投げると、置き場所と添削の細かさを聞かれた。「全プロジェクト共通」と「修正+より自然な言い回しも提案」を選ぶ。するとClaudeが ~/.claude/CLAUDE.md を作って、ルールまで書き込んでくれた。自分でファイルを作る必要はない。書かれた中身の要点がこのへん。

- 依頼された作業への回答は通常どおり日本語で行う
- ユーザーの英語に誤り・不自然な表現があれば、回答の末尾に
  **「📝 English Check」** セクションを付けて日本語で指摘する
  - 何が間違いか、なぜ間違いかを簡潔に日本語で説明する
  - ネイティブならこう書くという表現を毎回1つ以上提案する
- 英語が自然な場合は「✅ 自然な英語です」と一言だけ添える
- コード・コマンド・技術的な固有名詞・引用文はチェック対象外
- ユーザーのメッセージが日本語のみの場合、このモードは発動しない

返事は日本語のままで、添削だけが末尾に足される。コードやコマンドを対象外にしたのは、git commit みたいな文字列まで添削されても困るから。

ここは狙いどおりに動いてくれた。

2. 英語のspeakingはmacOSの音声機能を使う

次は話すほう。Claude Codeのデスクトップアプリには入力欄にマイクボタンが付いていて、押しながら喋ると文字にしてくれる。これで英語を喋ってみた。出てきたのがこれ。

音声入力の結果

ハウ キャン アイ フィックス ディス バグ

日本語の音声認識が、英語の発音を無理やり日本語として書き起こしてる。これじゃ練習にならない。

しばらく粘ったんだけど、Claude側のマイクは言語を指定する手段が見当たらなかった。マイクアイコン横の「⌄」はマイクの選択で、左下の「Auto」はモデルの選択。言語を選ぶところがない。

なので発想を変えて、macOSにもともと付いてる音声入力を英語にした。

  1. システム設定 → キーボード → 音声入力を開く
  2. オンにする
  3. 言語に English (US) を追加する
  4. 英語しか使わないなら、日本語を消して English (US) だけにしておくと切り替える手間が消える
  5. ショートカットを確認する。最初はControlキー2回押しになってる

設定し終わるとこうなる。

macOSのシステム設定の音声入力。Languagesが English (United States) だけになっていて、マイクソースは Automatic (MacBook Air Microphone)、ショートカットはマイクキーを押す設定になっている

Languagesを English (United States) だけにしておくと、喋った瞬間に英語で入る。日本語を残すと使うたびに選ぶことになるので、英語の練習用と割り切るならこの形がいい。

パソコンの機能だからアプリを選ばない。Claude Codeでも他のエディタでも同じように使える。

3. テストしてみたら添削がめっちゃいい

動くか確かめるつもりで、英語を喋ってみた。入力されたのがこれ。

入力された文字

I can't speak English

ちゃんと英語で入ってる。音声入力は動いた。

で、本文が英語だったもんだから、1で設定した英語学習モードが発動した。ただのテスト文なのに、律儀に添削が返ってくる。

📝 English Check

I can't speak English. は、ネイティブにはほぼ確実に「私は英語が話せません(英語という言語を運用する能力がない)」という意味に取られます。

もし「(この音声入力に)英語で話しかけられない」と言いたかった場合は、主語をツール側にすると誤解が消えます。

  • It won't let me speak English.
  • It's still not picking up my English.

pick up は「(音声を)拾う・聞き取る」という意味で、マイクや録音機器の文脈で非常によく使われる自然な表現です。

実際にはディクテーションのテストで打っただけなので、意味は特に無い。Claudeも測りかねたようで、このあと「どちらの意味でしたか」と確認が来た。ただ、テスト入力にもこれだけ返ってくることは分かった。

4. ついでに例文を読み上げてもらう

ここまでで、書くところと直してもらうところ、それに話すところまでは揃った。残るは聞くほう。そこで、こう聞いてみた。

指示プロンプト

例文の英文はしゃべらせることはできる?

できるとのことだった。macOSには say ってコマンドがあって、ターミナルで英文を渡すとその場で読み上げてくれる。追加で入れるものは何もない。

say -v Samantha -r 175 "It's still not picking up my English."

これを添削に組み込んでもらった。CLAUDE.mdに足したのは「English Checkを書いたら、直した文とより自然な言い回しの2つを say で読み上げる。読み上げるのは英文だけで、日本語の解説は読ませない」ってルール。

声は選べて、Samantha が米国英語、Daniel が英国、Alex が米国の男性。速度の既定は175 wpm(1分あたり175語)で、「ゆっくり」と言えば150、「速く」と言えば200になるようにしてある。「今回は読み上げ不要」と言えばその回だけ黙る。

ここでひとつハマった。読み上げのたびに数秒止まる。

say は喋り終わるまで返ってこない。実測すると、1文の発話が4.91秒に対して音声の合成自体は0.92秒だった。残りの4秒は再生の終わりを待っているだけ。

末尾に & を付けて背景に回すと0.02秒で返る。音声は最後まで鳴る。

say -v Samantha -r 175 "It's still not picking up my English." &

もうひとつ、Claude Codeはコマンドを実行するたびに許可を確認する。settings.json の permissions.allow に Bash(say:*) を足せば、この確認も消える。

"permissions": {
  "allow": ["Bash(say:*)"]
}

ただしこのルールは先頭が say のコマンドにしか一致しない。(say ... &) と括弧で囲むと ( 始まりになって許可から外れ、確認待ちが戻ってくる。括弧なしで書く。

5. 日本語で打った日も英語に触れる

ここまでの設定には穴があった。英語学習モードは英語で書いたときしか動かない。急いでいるときはどうしても日本語で打つわけで、そういう日は英語に一度も触れずに終わる。

指示プロンプト

英語のプロンプトを書く時以外に、日本語指示を英語にした解説を表示するようにしたい

これで、日本語だけで書いたときは末尾に「🗣 English Version」が付くようになった。自分が投げた依頼を英語で言うとどうなるかが出る。

上のプロンプト自体も日本語なので、その場で発動した。返ってきたのがこれ。

🗣 English Version

When I write to you in Japanese, show me how I'd say the same thing in English.

how I'd say the same thing が肝。translate my Japanese instructions でも通じるけど、translate は原文を変換する響きになるので、機械翻訳を頼んでいるように聞こえる。「自分ならどう言うか」の枠にすると意図がまっすぐ伝わる。

「〜する時以外に」を other than when ~ と直訳すると、条件が入り組んで読みにくい。英語は否定形で例外を立てるより、肯定形で言い直すほうが自然。「英語で書く時以外」を裏返して When I write in Japanese にすれば半分の長さで済む。

CLAUDE.mdに足したルールはこのあたり。

- ユーザーの依頼を英語にした文を示す。長いメッセージは要点を1〜3文に
  まとめる(全文の逐語訳はしない)
- 英文の下に、鍵になる表現を1〜2点だけ日本語で解説する
- 英文は `say -v Samantha -r 175` で読み上げる
- 「OK」「ありがとう」などの短い相槌には付けない
- 英語混じりのメッセージには付けない(そちらは English Check の担当)

逐語訳をさせないのが大事だった。長い依頼をそのまま全部訳されると、読む気が失せて結局飛ばすようになる。要点を1〜3文でいい。

読み上げも4の設定をそのまま使い回している。日本語で打っても英文が耳に入る。

英語で書けば添削、日本語で書けば英訳。どちらで打っても英語が返ってくる形になった。

6. 間違いをためて復習テストにする

添削は毎回もらえる。でも読んだそばから忘れる。同じ間違いを何度もやっている自覚があった。

指示プロンプト

間違えた英語表現は記録しといて復習テスト作れる?

記録用のスクリプトと /english-quiz というコマンドができた。English Checkで指摘が出るたびに、誤文と直した文、それに何が問題かが1行ずつたまっていく。

{"id":"822de5e7","original":"Take much time to run this command",
 "corrected":"It takes too long to run this command.",
 "point":"主語 It が必要。肯定文の much time は硬い","box":1,"due":"2026-08-25"}

出題はLeitner方式にしてもらった。正解すると次の出題が 1 → 3 → 7 → 16 → 35日 と遠のき、間違えると1日後に戻る。よく間違えるものほど先に出る。

/english-quiz と打つと1問ずつ出てくる。答えると採点され、模範解答が読み上げられる。綴りの揺れは正解扱いで、記録した論点を押さえられているかだけを見る。

この記事を書くまでのやり取りだけで8件たまった。自分がどこで転ぶかがはっきり見えるのが、思っていたよりよかった。

7. 覚えた表現は数文字で打てるようにする

添削で「こう言うのか」と分かっても、次に使う場面でパッと出てこない。出てきても打つのが面倒で、結局知っている言い回しに逃げる。

これはmacOSのテキスト置換で片づく。よく使う英文に短い読みを結びつけておくと、数文字打っただけで候補が出る。

Claude Codeの入力欄で ga と打ったところ。Go ahead という変換候補が出ている

ga と打つと Go ahead が出る。設定はここ。

  1. システム設定 → キーボード → 入力(テキスト入力)→ テキスト置換
  2. + を押して、入力欄に短い読み、変換後に英文を入れる

添削で教わった言い回しをそのまま入れておくと、覚えるより先に手が動く。使っているうちに身につく。

実際に役立っているのはこのあたり。

読み展開される英文
gaGo ahead.
sgSounds good.
lgtmLooks good to me.
cyCould you
idlI'd like you to

cy や idl のように文の書き出しだけを割り当てるのがコツ。一文まるごとだと場面に合わず結局使わないが、出だしだけなら続きは自分で書ける。依頼の型が身につくまでの補助輪になる。

iCloudをオンにしていればiPhoneやiPadにも同期される。パソコンで登録した表現が、そのまま手元で使える。

ChatGPTでもGeminiでも同じことができる

ここまでClaude Codeの話で書いてきたけど、投げたプロンプト自体はClaude固有のものじゃない。「英語で書くから間違いは日本語で直して」も「日本語で書いた時は英訳も出して」も、そのまま他のチャットAIに投げて通る。

変わるのは置き場所だけ。CLAUDE.md にあたる「一度書けば毎回効く指示」の置き場は、どのサービスにもある。

指示の置き場所読み上げ
Claude CodeCLAUDE.mdsay で自動
ChatGPTカスタム指示 / プロジェクトの指示ボタンを押して手動
GeminiGem のカスタム指示 / 保存された情報ボタンを押して手動
Claude(Web版)プロジェクトのカスタム指示ボタンを押して手動

違うのは読み上げのところ。say が勝手に走るのは、Claude Codeが手元のコマンドを実行できるから。他のサービスでは同じようにはいかない。ただ読み上げ機能自体はどれも持っているので、押せば聞ける。自動か手動かの差でしかない。

6の復習テストだけは少し事情が違う。間違いをファイルにためて出題を管理する仕組みなので、ファイルの読み書きが要る。チャットのUIだけで完結させるなら、記録をドキュメントに残しておいて、復習したいときに貼って「ここから出題して」と頼む形になる。手間は増えるけど、できないわけではない。

書く、直してもらう、英訳を出す。この3つはどのAIに移してもそのまま動く。読み上げの自動化と復習テストの自動化だけが、コマンドを実行できる環境に寄っている。

使ってみて

英語で書く。間違いを日本語で直してもらう。macOSの音声入力で喋る。直された例文を耳で聞く。日本語で打った日は英訳が出る。全部Claude Codeの入力欄の中で終わる。

普段の作業に英語学習の流れを入れられると、わからない言葉も覚えやすい。

英語で仕事できた方が、オフショア開発で効率上がるし海外案件も積極的に取りにいける自信につながっていい。

それと、OSの表示言語を英語にするのもおすすめ。