実践フルAIコーディング
**投稿者:** erukiti (@erukiti)
**投稿日時:** 2025年12月8日
**URL:** https://x.com/erukiti/status/1997852663699128604
**記事URL:** https://zenn.dev/erukiti/articles/2512-full-ai-cofing
**エンゲージメント:** 143リポスト / 860いいね / 918ブックマーク / 9.4万表示
---
概要
9ヶ月間フルAIコーディングを実践してきた著者が、LLMの特性を理解した上での実践ノウハウを凝縮した記事。「AIコーディングにおいて、コードの品質は、人間による不断の努力と、いくつものノウハウによってのみ実現できる」という現実を語る。
---
LLMの本質的な問題点
1. 非決定的振る舞い
- 同じプロンプトでも同じ結果にならない
- 同じセッションでも異なるファイルで異なるやり方を採用する
- コメント方針、ファイル名ルール、設計原則への理解度がバラつく
**対処法:**
- linterでなんとかする
- MCPでなんとかする
- 人間が鉄人の精神と不断の努力で逐一レビュー
2. 与えられた情報を全て正とする
- 誤った推論や誤観測データも「絶対に正しい」と思い込む
- 「カバレッジは100%です!!!」(実際には98%)
- 子プロセスの出力結果取り込みが驚くほど下手
**対処法:**
- 汚染されたセッションは捨てる
- 学習データの多い言語・ライブラリを選定する
- Playwright MCPなどで正しい観測を可能にする
3. 矛盾や未知に対して勝手な解釈をしがち
- 「指示が矛盾していたのでいい感じに解釈しました!!」
- デフォルトフォールバックを勝手に実装
- 人間では理解しがたい独自思想にたどり着く
4. 知識を持っていても活用できない
- SOLID原則を説明できるが、実際のコードではガン無視
- 常識的な推論が失敗することが多い
- 確率によってできることもできないこともある
5. 要約が下手くそ
- 重要なことがやたら抜け落ちる
- thinking/reasoningで変なことを言い出す
- 「目的」や「最初の指示」を忘れる
---
推奨技術スタック
TypeScriptが最善な理由
- GitHubで最も使われている言語
- 学習データが増え続ける
- OpenAI, Google, Anthropicが改善労力を集中投下する
推奨スタック
- TypeScript
- Node.js LTS (v22, v24)
- pnpm
- eslint
- vitest
- husky
- React
- 何かしらのResult型(neverthrowなど)
**注意:** bun / bun testは現時点では強く非推奨(将来的には改善される見込み)
---
eslint活用
必須設定:
- enum禁止
- class原則禁止
- throw禁止
- Promise返却禁止(ResultAsyncに寄せる)
- try/catch禁止(腐敗防止層のみ許可)
- barrel export厳守
- eslint-plugin-boundaries でimport方向を強制
---
レイヤー構造は必須
- 知識を明確に分離できる設計
- 依存の方向を必ず一方向に
- 外部パッケージやI/Oに対する腐敗防止レイヤーが最重要
- パッケージ依存は最小限に
---
テスト戦略
- カバレッジ100%が望ましい
- **テスティングトロフィーは忘れる** — 人間がプログラミングしていた時代の考え方
- **AIコーディングでは結合テストがすべて**
- サーバーはAPI一本ごとに、実際のDB読み書き含めた結合テスト必須
---
コメントとTSDoc
- めちゃくちゃ強めに言う必要あり(サボりがち)
- TSDocには目的・内容・注意事項を書かせる
- 「プロジェクト外の慣れてないエンジニアでも読めるよう書け」と指示
- 特にテストは過剰なほど手厚くコメントを書かせる
---
見積もりと設計
設計時に必ず見積もりをさせる。以下のようなプロンプトを使う:
- コーディングエージェントが必要な作業のみを全部見積もれ
- 編集対象ファイル名と行番号を明示しろ
- 関連するDBのテーブル名とカラム名を明示しろ
- 疑問点・矛盾点があれば全部提示しろ
- おまえの勝手な予測・推測・憶測を絶対に禁じる
- 作業前にリファクタすべきことがないか必死に考えろ
- 過剰設計を絶対に許さない---
レビュー
- 何も理解していないジュニアエンジニアとして質問を投げる
- ほんの些細な違和感でも残れば、それは毒となって後で苦しみになる
- 定期的に偏執的に質問責めにする
---
AIデトックスのススメ
AIコーディングは極端にストレスがたまる。定期的なAIデトックスが必須。
**コツ:**
- メタ認知を鍛える(「今AIのことを考えていた」と脳内で声を出す)
- 五感を刺激する(大自然がおすすめ)
- 体を動かす
- 副交感神経を刺激する(マッサージ、呼吸法、瞑想、アロマ)
---
まとめ
1. **LLMとは極めていびつな汎用知性**
2. **環境整備で勝負のそれなりが決まる**
3. **指示を増やせば未知は減少するが矛盾は増える** — バランスが重要
4. **コードの品質は人間による不断の努力とノウハウによってのみ実現できる**
5. **eslintは必須、レイヤー構造は必須、結合テストがすべて**
6. **AIデトックスが必須**
---
*保存日: 2026-01-30*