第7章:AIと一緒にYAGNI(盛らせない使い方)🤖🧯✨
この章はね、「AIを使う=ラクできる!」だけじゃなくて、AIの“盛りグセ”を逆手にとって、YAGNIを守りながら爆速で作るのがゴールだよ〜!🎯💨
7-1. この章のゴール(できるようになること)🎓✨
最後までやると、こんな力がつくよ🫶
- AIに頼みつつ、必要以上の抽象化(interface地獄とか)を止められる🛑🧩
- AIの提案をそのまま採用じゃなくて、「削ってシンプルにする」判断ができる✂️🙂
- Copilot / Codex を「実装係」じゃなくて **“設計の監視役・レビュー役”**にできる👀🤖
- 「いま必要」の範囲で、安全に速く進めるテンプレが手に入る🧰✨
7-2. AIが“盛りがち”な理由(知っておくと勝てる)🎈😅
AIって親切だから、ついこういう方向に行きがち👇
- 将来の拡張を想定して、レイヤーを増やす(Application / Domain / Infrastructure…)🏗️
- すぐ Repository + UnitOfWork + DTO + Mapper を並べる🧱🧱🧱
- まだ差し替え予定もないのに 全部interface化する🪓😇
- 「あとで便利」を理由に、設定・抽象・汎用化を最初から入れる🧨
でもね、これはAIが悪いんじゃなくて、指示が曖昧だと“優等生回答”になるだけなの🥺 だから、こっちが主導権を握ればOK!💪✨
7-3. “盛らせない”指示の基本ルール3つ 🧾🧯
ルール①:スコープを先に固定する📌
AIにまず「今回はここまで」って柵を立てる感じ🐑✨
- いまの受け入れ条件にないものは入れない
- 将来の拡張は「コメントでTODOを書く」までで止める
- DBやキャッシュやDIコンテナ導入は、必要が出てから
ルール②:禁止事項をハッキリ書く🚫
これ、めっちゃ効く!😆
- 「余計な抽象化は禁止」
- 「新しいライブラリ追加禁止(標準だけ)」
- 「interfaceは作らない(必要になったらその時)」
- 「フォルダ増やさない(ファイルは最大3つまで)」📁✋
ルール③:出力フォーマットを指定する🧩
AIって文章でもコードでも盛るから、枠を決めると安定するよ✨
- 「変更ファイル一覧→差分→理由→テスト」みたいに固定
- 「まず最小案、そのあと“やらない案”リスト」も超おすすめ✂️📝
7-4. 2026時点のAI開発“いまどき事情”ざっくり最新版🧠🆕✨
- .NET 10(LTS)が出てて、サポートは2028-11-10までだよ📅✨ (Microsoft for Developers)
- Visual Studio 2026では、Copilotがより深く統合されてきてる流れだよ〜🧠⚡ (Visual Studio)
- Visual StudioのCopilotは「チャットウィンドウ」と「インラインチャット」で使い分けできて、提案は差分表示でレビューしてから適用できるのが強い💡🪄 (Microsoft Learn)
- Copilotはプランがいくつかあって、Freeだと回数制限つき(例:月50のチャット/agent系リクエスト等)みたいに“枠”があるよ📦 (GitHub)
- VS Code側は agent mode がいて、複数ファイル編集やテスト実行まで回す「ちょい自律型」🧑💻🤖(だからこそ、YAGNIの柵が超大事!) (Visual Studio Code)
- GitHubの「Copilot Extensions(GitHub App型)」は 2025-11-10でサンセットして、今は MCP 方向(ツール連携の共通規格)に寄ってるよ🧩🔌 (The GitHub Blog)
- OpenAI Codexも「エージェント型」で、クラウド環境でタスクを回したり、CLI/IDE拡張でスキル(再利用できる指示セット)を使える流れがあるよ🤖🛠️ (OpenAI)
まとめると:2026は “AIが自律っぽく動ける”時代だから、 「何をやらせないか」=YAGNIの価値がさらに上がってるってことだね😎🔥
7-5. Copilot / Codex を“YAGNI向け”に使う役割分担 🧑🍳🤖
AIに全部やらせようとすると盛るので、役割分担が最強!✨
✅ AIが得意な役(任せてOK)🎁
- 受け入れ条件の叩き台づくり✅
- 既存コードの説明・理解サポート📖
- “いまの実装”の範囲でのコード補完(細部)🧩
- テストのひな形(最小の数で)🧪
- リファクタ候補の列挙(採用するかは人間)🔧
Copilot Chat は IDE内で質問したり、インラインで「このファイルをこう直して」ってやれるのが便利だよ✨ (Microsoft Learn)
⚠️ AIが盛りがちな役(人間が主導)🧯
- “アーキテクチャ決め”(レイヤーやパターン選定)🏗️
- “ライブラリ選定”(勝手に追加してくる)📦
- “将来の拡張のための抽象化”(YAGNI敵)🧨
ここはAIを「提案係」にして、採用は最小だけにする✂️🙂
7-6. “生成 → 削る”が基本ワークフロー ✂️🤖✨

YAGNI×AIの基本ムーブはこれ!💃
- AIに最小案を出させる(最初から制約つき)🧾
- AIにセルフツッコミさせる(過剰設計チェック)👀
- 削る(削った理由も1行で残す)✂️📝
- 実装→最小テスト🧪
- 次の要件が来るまで拡張しない🚪🙂
7-7. “盛らせない”プロンプトテンプレ集(コピペOK)📚✨
A) 最小実装を出させるテンプレ🧱
あなたはYAGNI最優先の実装者です。
次の要件だけを満たす最小の実装を提案してください(将来拡張・汎用化は禁止)。
禁止:interface追加、Repository/UnitOfWork導入、DIコンテナ導入、新ライブラリ追加、層の増加。
出力:①最小設計(箇条書き)②変更ファイル一覧③コード④最小テスト(2〜3本)
要件:<ここに要件>
B) AIに「過剰設計監査官」をやらせるテンプレ🕵️♀️🧯
次の提案(または差分)について、YAGNI観点で過剰設計の疑いがある点を列挙して。
各項目に「今必要な根拠があるか?」をYes/Noで答え、Noなら削る代案を出して。
出力は表形式ではなく、箇条書きで。
対象:<ここにAIの提案 or PR差分>
C) “削る方針”を決めるテンプレ✂️
この実装案を「変更量が最小」「理解コストが最小」になるように削ってください。
削る時の優先順位:
1. 余計な抽象化(interface/パターン)
2. 余計なレイヤー/フォルダ
3. 余計な設定・拡張ポイント
ただし要件は必ず満たすこと。
D) インラインチャットで「このファイルだけ直して」用テンプレ🧷
このファイルだけを編集して要件を満たして。
他のファイル追加は禁止。抽象化は禁止。
変更点は最小にして、最後に「変更理由」を3行で書いて。
要件:<ここに要件>
(Visual StudioのCopilotはインラインチャットで提案→差分レビュー→採用/破棄がやりやすいよ🪄✨ (Microsoft Learn))
7-8. ミニ演習:AI提案を“削って勝つ”練習 ✂️🏆✨
お題🎯:第4章アプリに「並び替え」を追加する🔁
要件はこれだけ👇
- 一覧表示を「作成日時の降順」にする
- 追加の要件(検索・ページング・DB化)は今回は不要🙅♀️
Step1:AIに最小案を出させる🤖
上のテンプレAでOK!
Step2:AIが盛ったら、監査する👀
テンプレBで「それ今いる?」をYes/Noで潰す✅❌
Step3:削る✂️
テンプレCで「変更量最小」に寄せる (だいたいAIは“並び替え戦略パターン”とか言い出すから笑、そこを削る🤣✂️)
Step4:最小テスト🧪
- 「追加したメモが先頭に来る」みたいなテストを2本くらいでOK🙆♀️
7-9. VS / VS Code での“盛らせない”運用Tips 🧠✨
Visual StudioのTips(YAGNI向け)🪄
- まずは インラインチャットで「このファイルだけ直して」って言うと暴走しにくいよ✍️✨ (Microsoft Learn)
- Copilotは **/(意図)**や **#(参照)**を使う小技があるので、指示が締まるよ🧷(例:#solution参照など) (Visual Studio)
- 右クリックのコンテキストメニューに Copilotアクションが増えてる流れもあるから、「説明だけ」「最適化だけ」みたいに用途を絞るとYAGNIしやすい🧯 (The GitHub Blog)
VS CodeのTips(agent mode注意⚠️)🤖
agent mode は複数ファイル編集・テスト実行まで回せる分、勝手に“それっぽい設計”を作りがち😅 だから、プロンプトの最初にこれを付けるのおすすめ👇
agent modeで実行するけど、アーキテクチャ変更は禁止。
ファイル追加は最大1つ。新ライブラリ追加禁止。interface追加禁止。
要件を満たす最小の差分だけ作って。
(agent mode が自律ループで編集/コマンド/テストを回す性質があるのは公式でも説明されてるよ🧠 (Visual Studio Code))
7-10. 仕上げ:Copilot/Codex用 “YAGNIプロンプト集(最終版)” 📦✨
最後に、普段使いしやすい短いやつ置いとくね🫶(コピペOK)
✅ 仕様整理
要件をMVPに削って。今回やらないことも3つ挙げて。
✅ 実装(最小)
最小の差分で。禁止:interface/DI/Repository追加。新規ファイル追加なし。
✅ レビュー(YAGNI)
これ、将来のための作り込みになってる所ある?今必要な根拠が弱い所を指摘して。
✅ テスト(最小)
守りたい挙動だけに絞って、2〜3本のユニットテストを書いて。
✅ “やらない理由”のメモ(地味に超効く📝)
今回入れなかった設計要素(例:DB化/抽象化/DI)と、その理由を1行ずつ書いて。
この章のまとめ 🎀✨
AI時代のYAGNIはね、 「AIに作らせる」より「AIの提案を削る」ほうが上手くいくよ✂️😆
次の第8章では、追加要件を1個だけ入れて「小さく育てる」を完成させようね〜!🎓🌱✨