AIに何を伝えるか ― 言語化と設計の話
AIコーディングの期待と結果と現在地
生成AIにコードを書かせてみると、最初は確かにすごいスピードでプロダクトができて面白いのですが、実際の現場ではまだまだ不安という声が根強く残っていたりします。
今回は、そこにどう向き合うかを実験してみた話です。
AIの出力は、指示の品質を超えない
あちこちの現場で生成AIの導入が進んでいますが、いざ本番運用中のプロダクトに使おうとすると、ちょっとした抜け漏れのあるコードを出してきたり、しれっと脆弱なコードを出してきたりと、まだ誰でも使える夢のツールではない事を実感させられます。
でも、その問題の多くはAIの精度ではなく、こちらの使い方にあるのではないか。
そう考えを変えてみました。
指示の品質を超えないなら、指示の品質を上げる
AIの出力品質は、指示の品質に左右されます。
そして指示の品質を決めるのは、プロダクトをどこまで言葉で定義し、構造として設計できているかです。
つまり、コードを書き始める前にやるべきことは、徹底した言語化と設計だと思うのです。
実験として、その仕組みを作ってみた
Claude Code用のスターターテンプレートを作りました。
コードを書く前に、プロダクトに関する「言語化」と「設計」を終わらせるフェーズを、実行可能な形で組み込んでいます。
このテンプレートでシンプルな短歌SNSアプリを作ってみたところ、40分ほどでブラウザで動くMVPが完成しました。
最終的にテストは323項目を通過し、Lintエラーはゼロ。
驚いたのは速度ではなく、言語化と設計を丁寧に詰めて終わらせれば、実装はほぼ機械的に終わることでした。
暗黙知はAIには届かない
人間同士の開発では、暗黙知で埋められる穴がたくさんあります。「これってこういう意味ですよね」が通じる世界です。
ですがAIには暗黙知がありません。
言語化されていないことは、AIにとって存在しないのと同じ。
だからこそAI時代の開発は、コーディングの技術だけではなく、言語化と設計の精度そのものが品質を決めるフェーズに入ったのだと思います。
もう少し詳しい話や各フェーズの設計はnoteに書きました。
https://note.com/yomo4m/n/nb14cc8744372
英語の記事も書いてみました。
https://medium.com/@yomo4m/design-your-product-in-words-before-writing-code-e193da12f0ac
GitHubリポジトリはこちら。ぜひ試してみてください。
https://github.com/Yomo4G/claudecode-multicoding-playground