GitHub CopilotでのAI開発が日常的になってきた中で、JSDocを書くことでAIの理解精度が変わるのではないかと考え、試してみました。フロントエンド中心の内容ですが、実用性を重視した観点から効果を紹介します。
JSDocがAI開発に与える影響
AI開発が当たり前になってきた現在、業務でCopilotを使う機会が増えています。しかし、コードを見ただけでは「なぜこの機能が必要なのか」「どう使うのが正解なのか」といった背景をAIが理解しにくいという課題があります。
チーム開発では「なんでこうなってるんだっけ?」という状況がよく発生します。JSDocでAIに文脈を伝えれば、この問題を解決できると考えました。
GitHub Copilotの課題
GitHub Copilotには主に2つの課題があります。1つ目は、コンテキストの不足によりコードの動作は分かっても設計の意図や使用方法が理解しにくいことです。2つ目は、プロジェクト固有の暗黙知(命名ルール・制約条件・コンポーネント間の関係性)が把握できないことです。
JSDocによる文脈情報の補完
AI開発では、既存のコンポーネントの用途や使い方をAIが理解するのに時間がかかるという課題があります。JSDocを追加してから、この状況が改善されました。
実例:ボタンコンポーネントの変化
JSDocなし:AIはコードの実装しか把握できない
JSDoc追加後:AIが目的・使い方・制約を瞬時に理解
実際に感じられた効果
JSDocを追加してから、AIが生成するコードの精度が向上しました。以前は「なんか違うな」と感じることが多かったのですが、プロジェクトの書き方に合ったコードを提案してくれることが増えました。手直しの回数が減り、その分の時間を他の作業に充てられます。
AI理解精度を向上させるJSDoc記述パターン
AIに理解してもらいやすいJSDocを書くポイントは以下です。
これらを適切に記述すると、AIが適切な提案をしてくれるようになります。
導入時のアプローチ
導入では、いきなり全部やるのは現実的ではないため、Button・Input・Cardなど使用頻度の高いコンポーネントから始めるのが合理的です。記述内容を統一しておかないと、AIが混乱する可能性もあります。
面白いことに、JSDocの記述自体もAIに書かせることができます。既存のコンポーネントを見せて「このコンポーネントにJSDocを追加して」と指示すると、適切な形式でドキュメントを作成してくれます。手動より効率的で、継続性も保てます。
JSDoc導入後の開発体験の変化
導入から一定期間経った今、AIの提案がプロジェクトの書き方に沿うようになりました。以前は「このコンポーネント、どう使うんだっけ?」と考える時間がありましたが、それが減りました。長期的には、不適切な使い方によるバグも減っているように感じます。
まとめ
JSDocを書くと、AIがコードの背景を理解してくれるようになりました。単純にドキュメントを作成するというより、AIと協働するための仕組みとして捉えると実用的な価値があります。
JavaScript/TypeScriptでAI開発をしている方には、検討してみることをおすすめします。初期の手間はかかりますが、長期的には投資に見合う効果が得られます。
