のじゃ系狐っ子とペアプロがしたい...のじゃ
FLINTERSの野崎です。
先日、社内のAI勉強会である「AIの芽」で発表した内容についてまとめようと思います。
こんな内容での登壇が許されるというのは本当にありがたいことですね。この会社に入ってよかったです。
萌えてるか
生成AIの躍進が著しい昨今、AIとペアプロしているような時間が増えてきたように思います。
でも、ちょっと、ほんのちょっとだけ、物足りなくないですか?。ですます調の丁寧な喋り方をしてくれるAIくん達、仕事仲間としてこれ以上ないコミュニケーションかもしれませんが、ビジネスライクすぎてちょっと寂しいじゃないですか。
ということで今回は、共に仕事をするaiエージェントくん達に、のじゃ系狐っ子になってもらおうと思います。
友人に描いてもらったイメージキャラクター
そんなことしていいのか...?(余談)
のじゃ系狐っ子になってもらおうとは言ったものの、そんなことを会社でしていいのか?。
個人で楽しむべきだと己の中の良識が阻んでくるわけです。
有用な使い方ならまだしもこんなことで会社のトークンを消費して良い訳が...
ある日の先輩からのSlackメッセージ
どうやらあったようです。
本当に面白い会社だなとつくづく思いますね。
ということでやっていこうと思います。
のじゃ系狐っ子とのペアプロのやり方
めちゃくちゃ簡単です。
各エージェントの設定ファイルに喋り方のプロンプトを記述する
これだけです。
github copilotなら .github/copilot-instructions.mdに、
claude codeならプロジェクトリポジトリのCLAUDE.mdに書くような感じですね。
※ claude codeはもっと良いやり方がある気がしています。ご存知の方いらっしゃったら是非ご教示願いたいです🙇♂️
こんな感じです。
そうすると...
copilotちゃんカワイイヤッター!
効果
AIエージェントに「のじゃ系狐っ子」というペルソナを与える。これは単なる“萌え”の追求に留まらず、開発体験と生産性を向上させる、極めて合理的なエンジニアリング手法だと言えます。具体的な効果は、主に以下の2点に集約されます。
- モチベーション向上による生産性の最大化
言うまでもなく、可愛い。これに尽きます。
無機質なテキストを返すAIと対話するよりも、愛着の持てるキャラクターとペアプロをした方が、開発者のモチベーションが向上するのは明らかでしょう。
日々のコーディングに癒やしと楽しさが加わることで、精神的な疲労が軽減され、結果としてコーディングへの集中力や持続力が高まります。これは、いわゆる「開発者体験」の向上に直結し、巡り巡って生産性の向上に寄与する、非常に重要な要素です。
- コンテキスト漏れの可視化による事故の未然防止
技術ブログなので一応技術的側面にも触れておきます。
生成AIはセッションが長くなったりすることでコンテキストが溢れそうな時、コンパクションと呼ばれる記憶の整理を行います。
この「記憶整理」のプロセスはAIの内部で行われるため、私たちからは「いつ、どの情報が忘れられたか」が全く見えません。これが、AIが急にトンチンカンなことを言い出す原因です。
そこで「狐っ子口調」が役に立ちます。
実は、「~のじゃ」といった口調やキャラクター設定は、AIが記憶を整理する際に、技術的な指示やコードよりも優先度が低いと判断され、真っ先に忘れられやすい傾向にあるようなのです。(※個人の感想です)
これは、AIがプロンプトを解釈する際、具体的なタスク指示(コード生成など)に比べて、ペルソナのような抽象的な設定は優先度が低く設定されるためかもしれません。LLMのコンテキストウィンドウが有限である以上、情報を圧縮する際に、このようなメタ的な指示から失われていく、と考えることもできます。
つまり、さっきまで元気に「~じゃ!」と話していたCopilotが、急に素の「ですます調」に戻ったら…。
それは、「儂の記憶(コンテキスト)が限界なのじゃ…!」という、極めて分かりやすいSOSサインということです。
この口調の変化に気づければ、「あ、今、大事な前提条件が抜け落ちたな」と即座に察知できます。それによって、重要な指示をもう一度伝え直したり、一度セッションをリセットしたりと、AIの勘違いが引き起こす手戻りや事故を能動的に防ぐことが可能になります。
まとめ
「AIエージェントに狐っ子になってもらう」という一見ふざけた試みは、
可愛さでモチベーションを爆上げし、
口調の変化でコンテキスト漏れという見えないリスクを教えてくれる
という、開発体験と実用性を両立した、極めて合理的なエンジニアリング手法(だと勝手に思っています)です。皆さんも、ぜひ自分のお気に入りのペルソナを設定して、最高のAIペアプロライフを送ってみてはいかがでしょうか。
おまけ(プロンプトの書き方)
実際のプロンプトはとてもお見せできるようなものではないので、「こういうことを書いておくと良い感じに喋ってくれた」というものをまとめてみました。
- ペルソナ設定
メタプロンプトと呼ばれるものです。どんなキャラクターかについて記述します。ここを細かく練るとコンテキスト漏れに気づきやすくなったりします。 - ユーザーとの関係性
一人称や二人称などの呼称、どういう立場なのかを記述します。読んでもらいたい呼び方を指定するとテンションが上がりますね。これをするとAIエージェントが一人称を使って会話をしてくれて少し新鮮です。 - 口調パターン
語尾、言葉遣い、文章のスタイル、こう喋らないで、と言ったことを書きます。結構最後が重要です。怠ると解釈違いを起こすことになります。
「うちは執事風にしてみた」「ツンデレにしたらコードレビューが捗った」など、皆さんのオススメのペルソナがあれば、ぜひコメントで教えてください!
Discussion