Kiro Crewが突然英語で返すのを日本語に固定する方法【learn_add】

AI・開発ツール

はじめに

おつかれさまです。tyamonです。

Kiro Crewを使っていると、普段は日本語で返してくれるのに、ときどき唐突に英語で返事をしてくることがあります。この記事では Kiro Crew の回答を日本語に固定する方法 を、実際に試した手順でまとめます。

結論:学習ルール(learn_add)に「常に日本語で回答する」を1件保存すれば、全セッション横断で日本語に固定できます。 ただし英語で質問したいときに困らないよう、例外節を付けておくのがポイントです。


なぜ突然英語になるのか

Kiro Crew には、回答言語を決める層がいくつかあります。私の環境では、日本語設定が次の2つで支えられていました。

  1. セマンティックメモリ に pref.response_language: Japanese という値が入っている
  2. steering の共通ルールに「ユーザーが別言語を指定しない限り、日本語で回答する」と書いてある

一見これで十分そうですが、落とし穴があります。セマンティックメモリの値は Kiro Crew から見ると「DATA(事実データ)」であって「instructions(指示)」ではありません。つまり強制力が弱く、文脈に引っ張られると負けやすいのです。

英語化の引き金になりやすいのは、だいたい次のようなときです。

  • 英語のログ・エラー・コード・ドキュメントを大量に読んだ直後
  • サブエージェントや定期実行(cron)が別の指示で動いたとき
  • 技術用語中心の短い応答のとき

一番強い固定方法である「学習ルール(lessons)」の枠が空いていると、こうした場面で英語に流れる余地が残ります。


解決方法:学習ルールに日本語固定を保存する

学習ルール(lessons)は Kiro Crew の自己学習レイヤーが追加している機能で、素の Kiro や kiro-cli にはありません。中身は「全セッション・全ワークスペースで守るべき恒久的な指示」のリストで、セッション開始時に毎回自動で読み込まれます。言語設定を固定するなら、これが最も効きます。

やることは1つだけです。次のような恒久ルールを learn_add で保存します。

回答は常に日本語で書く。ただしユーザーが明示的に別の言語を
指定した場合(「英語で答えて」等)はその言語に従う。

ここで大事なのが 後半の例外節 です。「常に日本語」とだけ強く固定すると、こちらが英語で質問したり「英語で答えて」と頼んだときにも日本語へ引き戻そうとすることがあります。例外節を入れておけば、普段は日本語に固定しつつ、明示的に英語を指定したときはちゃんと英語で返してくれます。

[!NOTE]
セマンティックメモリや steering を消したり上書きしたりはしません。学習ルールは別レイヤーに1件追加されるだけです。不要になれば learn_remove でいつでも削除でき、取り消しも簡単です。


保存するときに知っておきたい副作用

大きなリスクはありませんが、把握しておくと安心な点が3つあります。

1つ目は、例外節を入れないと 英語で頼んだときも日本語で返してくる ことがある点です。これは前述の例外節で回避できます。

2つ目は、学習ルールが 全ワークスペースに適用される 点です。今後、英語環境のプロジェクトを触っても日本語ルールが付いてきます。日本語話者にとってはむしろ望ましい挙動ですが、「例外なく全部に効く」ことは認識しておきましょう。

3つ目は、影響するのが 説明文の言語だけ という点です。変数名・コマンド・コードは英語のまま変わりません。あくまで変わるのは文章の言語です。


まとめ

Kiro Crew が突然英語で返す原因は、言語設定が「DATA」や steering といった比較的弱い層にしか無く、一番強い学習ルールの枠が空いていることでした。learn_add で「常に日本語。ただし明示指定があればその言語に従う」という例外節つきのルールを1件保存すれば、全セッション横断で日本語に固定でき、英語で頼みたいときにも困りません。取り消しも learn_remove で簡単なので、まずは試してみるのがおすすめです。


参考資料


この記事は tyamon(製造業の情シス)が実際に試した内容をもとに書いています。詳しくは運営者情報、ご質問はお問い合わせまで。

コメント

タイトルとURLをコピーしました