はじめに
最近、ClaudeやChatGPTなどを使ってコードを書く機会がかなり増えてきました。
AIコーディングを使っている人なら、一度はこう思ったことがあるはずです。
- AIが めちゃくちゃ良いコードを書くとき がある
- 逆に なぜそんな実装になる? というときもある
しかも、同じAIなのに結果がかなり違う。
これ、実際に使っていると気づくのですが、
AIの精度は「プロンプト」よりも「前提」で決まることが多いです。
Xでもこんな投稿をしました。
新規開発ならClaudeはかなり有用。
前提も制約も最初に全部置けるから。一方で既存改修は
・暗黙知
・歴史的経緯
・「触っちゃダメ」な領域
が多くて、前提の明示自体が一番難しい。
AIコーディングの話になると、
- モデル性能
- プロンプトテクニック
が注目されがちですが、
実務では「前提整理」の方が重要だったりします。
この記事では
AIコーディングを実務で使うときに考えておくと精度が上がる「前提」
について整理してみます。
結論:AIは「前提がある問題」に強い
LLMの動きはかなりシンプルです。
与えられた前提
↓
最も整合的なコードを生成
つまり
前提が明確な問題ほど強い。
例えば次のような情報です。
- 使用言語(TypeScript / Go)
- フレームワーク(Next.js / Spring)
- アーキテクチャ(MVC / Clean Architecture)
- DB構造
- API設計
- 非機能要件
これらが整理されていると、AIはかなり安定してコードを書きます。
実際、次のようなタスクはAIとかなり相性が良いです。
- CRUD実装
- APIスケルトン
- テスト生成
- リファクタ
- ドキュメント生成
新規開発でAIが便利に感じるのは、この理由が大きいと思います。
実務でAIが迷う「3つの前提」
問題は、実務では前提が整理されていないケースが多いことです。
特に次の3つはAIが苦手になりやすいポイントです。
1. 暗黙知
コードに書かれていないルールです。
例えば
- このAPIは外部システムが利用している
- このカラムは実質使われていない
- この処理は監査ログのために必要
こういう情報は
コードだけでは分からない
ことが多いです。
しかし実装にはかなり重要です。
2. 歴史的経緯
既存システムには必ず
「なぜこうなったか」
という理由があります。
例えば
- 古いAPI互換
- 過去の障害対応
- DB設計の制約
- 組織事情
結果として、こういうコードが残ります。
なぜか削除できないメソッド
順序を変えると壊れる処理
意味不明なフラグ
こういう部分は
コードから理由が分からない
ため、AIも判断が難しいです。
3. 「触らない前提」
現場には必ずあります。
いわゆる
ここ触ると地雷
領域です。
例えば
- 認証
- 請求処理
- 外部システム連携
- バッチ処理
コードは普通でも
依存関係が巨大
な場合があります。
この前提を知らないまま変更すると、
AIでも人間でも事故ります。
これはAI特有の問題ではない
実はこの問題、
AI特有ではありません。
新人エンジニアでもよく起きます。
例えば
調査
↓
コード理解
↓
「きれいに直しました!」
↓
レビュー
それ触っちゃダメなやつ…
これは単純に
前提を知らなかった
だけです。
AIコーディングの精度を上げる方法
やることはシンプルです。
先に前提を書く。
例えばAIへの指示をこうします。
このシステムの前提
・このAPIは外部システムが利用
・DBスキーマ変更は禁止
・処理順序は変更不可
・認証部分は触らない
こうするだけで
AIの精度はかなり上がります。
逆に前提を書かないと
「正しいが使えないコード」
が量産されます。
AI時代のエンジニアの価値
AIが得意な領域は今後さらに広がると思います。
例えば
- CRUD
- テスト生成
- リファクタ
- ドキュメント
- 調査
この辺りは、すでにかなり強いです。
一方で人間に求められる役割は少し変わってきています。
例えば
- 前提整理
- 文脈理解
- 暗黙知の言語化
- 技術的意思決定
つまり
コードを書く力より
前提を構造化する力。
これがAI時代のエンジニアにとって重要なスキルになりつつある気がしています。
まとめ
AIコーディングの精度は
プロンプトより前提整理で決まる
ことが多いです。
AIは
「前提が明確な問題」
を解くのが得意です。
そのため
良い実装の前には、良い前提整理がある。
AI時代になるほど、この能力の価値は上がるのではないかと思います。
おまけ:皆さんの現場ではどうですか?
AIコーディングを実務で使っていて
- うまくいったケース
- 逆にうまくいかなかったケース
もしあればぜひコメントで教えてください。
現場ごとにかなり知見が違いそうなので、共有できると面白そうです。