Copilot用のカスタムインストラクションを書いてChatGPTにレビューを求めたら、「新規参加開発者向けのオンボーディング要素を追加するとよい」という回答が返ってきました。「なんか勘違いしてない?」って質問したら、返ってきた回答が腑に落ちました。以下、そのまま貼り付けます。
Copilotカスタムインストラクションにオンボーディング情報を含める理由
1. 誤解しやすい前提:
- CopilotはAIペアプログラマ = 常に新規参加エンジニアに近い状態
- プロジェクトの前提知識が無い状態で補完している
2. オンボーディング情報が役立つ場面
2.1 用語・設計思想の統一
- 業界特有の特殊用語を理解
- 誤った汎用例の補完を防ぐ(例:海外法令の参照回避)
2.2 コーディングスタイル定着
- 型ヒントの書き方、例外処理の標準、ディレクトリ構成の期待
- "過去のコード資産との一貫性" をAIが保持しやすくなる
2.3 不要コードの抑制
- 不要な冗長処理や汎用エラーハンドリング提案を抑止
- 『このプロジェクトではYAGNI適用、不要な入力チェックは基本実装しない』等
2.4 プロジェクト流儀の学習
- Clean Architecture推奨、Domain層責務の明確化、UIレイヤー分離方針
- サンプルの粒度:ドメイン層のUseCase例、Infrastructure層のService実装例 など
2.5 アンチパターンの回避
- 『禁止している設計例』も共有可能
- 例:『Fat Service禁止』『全ての処理をUI層で持たせない』
3. 実はエンジニア経験に関係なく有効
- ベテランでも新規プロジェクトでは最初に全体像把握が必要
- AI補完が常に一定品質を保つには "プロジェクト知識の事前注入" が非常に有効
4. Copilotは "新規参加者モード" が基本動作
- 学習済みLLMは万能汎用知識だが、個別プロジェクトの流儀は都度学習しない
- カスタムインストラクションは事前知識注入の唯一の公式手段
5. まとめ
Copilotは「何も知らない新メンバー」に近い。だからこそ オンボーディング情報がカスタムインストラクションに非常に有効。熟練エンジニア相手とは逆の考え方で捉えるべき。
以上です。実はこれ以降も、カスタムインストラクションの話からいろいろ派生して、20本くらいのCanvasを生成してくれました。よりよいプロダクトに成長させるためのコツが満載で、出資者にアプローチする方法まで丁寧に伝授されました・・。