要点テキストから画像を生成する…
解説

ねえねえ、智也くん!これ見て!『オープンソースプロジェクトにおけるAIコーディングアシスタントのための開発者提供文脈に関する実証研究』…なんか難しそうだけど、面白そうなタイトル!

ああ、その論文か。確かに最近の重要な動向を捉えた研究だよ。要するに、CursorみたいなAIがコードを書くのを手伝ってくれるツールで、開発者が「このプロジェクトではこういうルールでやってね」って事前に指示を書くファイルがあるんだ。その中身を初めて大規模に調べたんだ。

事前に指示?AIにレシピを渡すみたいな感じ?

そうだね。例えば、「フロントエンドのコンポーネントを作る時は、必ずTailwindでスタイルを書いて、アニメーションはFramer Motionを使ってね」とか、「APIを作る時はzodでバリデーションしてね」とか。そういうプロジェクト独自の決まりごとを書いておくんだ。

へー!それってすごく便利そう。でも、みんなバラバラに書いてたら、研究するの大変じゃない?

そこがこの研究のポイントだよ。401個のオープンソースプロジェクトからそういうファイルを集めて、中身を一つ一つ丁寧に読み、似たものをグループ化していったんだ。そうしてできたのが、開発者がAIに伝えたいことの全体図、つまり「分類体系」だ。

分類体系?どんな感じなの?

大きく5つに分かれてる。「慣習」…コードの書き方や命名ルール。「ガイドライン」…コードの品質やセキュリティに関する指針。「プロジェクト情報」…プロジェクトの構造や使ってる技術。「LLMへの指示」…AIそのものへのお願い、例えば「説明を簡潔に」とか。「例」…お手本となるコードスニペット。

なるほど!「LLMへの指示」ってのがAIならではだね。人間の新人さんには「説明簡潔に」って言わないもん。で、分析してわかったことってあるの?

いくつかある。まず、多くの指示は、人間の開発者向けに昔から書かれていた「ドキュメント」と内容が重なっていること。つまり、開発者はAIを「新しい種類のチームメイト」として見ていて、人間に説明するのと同じような情報を渡そうとしているんだ。

AIがチームメイト…なんだか未来だね!でも、全部一緒ってわけじゃないんだよね?

そう。AI特有の指示もあった。例えば、AIの出力形式を指定したり、「ステップバイステップで考えて」と思考プロセスを要求したり。これは「プロンプトエンジニアリング」の技術に近い。あと、プロジェクトの種類によって重視する内容が違うんだ。フロントエンドプロジェクトはUI/UXのルールを細かく書くし、バックエンドやインフラはセキュリティやパフォーマンスについて詳しく書く傾向がある。

すごい!この研究って、何がすごいの?ただ調べただけじゃない?

最初に体系的に調べたことが大きい。これまでは「AIに文脈は大事」とは言われてたけど、実際に開発者が何を「大事」だと思って伝えているかは謎だった。この分類体系が明らかになったことで、AIツールを作る側は、開発者が本当に必要としている文脈をサポートする機能を設計できるようになる。例えば、この5つのカテゴリに沿ってルールを書くのを助けるテンプレートを提供するとか。

未来のAIプログラミング助手がもっと賢くなるってことだ!でも、課題とかはないの?

もちろんある。この研究は「どんな文脈が提供されているか」を調べたのであって、「それが実際にAIの出力をどれだけ改善するか」はまだわからない。これからは、どの種類の文脈が最も効果的か、逆に多すぎるとかえってパフォーマンスが落ちないか、を検証する研究が必要だ。あと、個人の好みとプロジェクトのルールが衝突した時どうするか、みたいな難しい問題も残ってる。

なるほどー。でも、AIと人間が一緒に仕事するための「共通言語」の基礎ができたって感じがするね!

そういうことだ。より良い協働のための第一歩だね。

じゃあ私も、将来AIのチームメイトに「亜美プロジェクトでは、お菓子を食べながらコーディングするのが慣習なの!」ってルールを書いておこうっと!

…それは多分、コードの品質には関係ないから、分類体系に入らないと思うよ。
要点
AIコーディングアシスタント(Cursorなど)の普及に伴い、開発者がプロジェクト固有の指示を記述する「ルールファイル」(例:.mdcファイル)を作成する実践が広がっている。
この研究は、オープンソースプロジェクト401件のルールファイルを大規模に分析し、開発者がAIに提供する「文脈」の内容を体系的に調査した初の実証研究である。
分析の結果、開発者が提供する文脈は「慣習」「ガイドライン」「プロジェクト情報」「LLMへの指示」「例」の5つの主要テーマに分類される包括的な分類体系(タクソノミー)を構築した。
多くのルールは、従来の人間向けドキュメント(コントリビューションガイドラインなど)と重複する一方、AI特有の指示(LLMの振る舞いを直接指定するなど)も観察された。
プロジェクトの種類(フロントエンド、バックエンドなど)や使用プログラミング言語によって、提供される文脈の種類に違いがあることを明らかにした。
この知見は、次世代の文脈を考慮したAI開発者ツールの設計に役立つとともに、AIと人間の効果的な協働のための基盤を提供する。