AIに「設計」を渡したら、開発が変わった話
最近、AIにコード生成を頼る開発スタイルが一般的になってきている。しかし、「これ作って」と雑にプロンプトを投げると、それっぽいコードが一瞬で生成されるものの、仕様との微妙な違いや手戻りの連続が発生し、開発効率が低下するケースが見られる。これは、AIが曖昧な指示に対しては弱いという性質によるものと考えられる。
フローチャートという”古の技術”の活用
そこで、AIにコード生成を依頼する前に、フローチャートを用いて処理の流れを完全に定義するというアプローチが試された。具体的には、「ターゲットファイルの読み込み」「CSVの結合」「数値変換」「条件ごとの平均・標準偏差の算出」「CSV出力」といった一連の処理を図として描き、それをAIに渡す方法が取られた。フローチャートは古典的な技術であるが、AIと組み合わせることで、その効果が発揮された。
AIが”正しく従う”状態の実現
フローチャートで処理を定義してからAIに渡すことで、ほぼ一発で意図したコードが出力されるようになった。生成されたコードは、フローチャートの各ステップがそのまま関数として実装されており、例えば「項目読み込み」はload_target_items関数として、「平均・標準偏差算出」はgroupby().agg()として具体化されている。これにより、業務ドメインの構造がコードに正確に反映されるようになった。
気づきとメリット
このアプローチの最大のメリットは、AIの出力が驚くほど安定することである。プロンプトのみで同様のツールを開発した場合に比べて、手戻りが大幅に削減された。これは、自然言語の曖昧さとは異なり、フローチャートが処理順序と分岐を強制するため、AIが迷うことなく指示に従えるからだと考えられる。その他のメリットとして、コードのレビューがしやすくなることや、関数分割が自然に行われることが挙げられる。
デメリットと今後の課題
一方で、フローチャートの作成には時間がかかるというデメリットがある。また、分岐が増えるとフローチャート自体が複雑になり、読みにくくなる可能性がある。さらに、フローチャートでループ処理を表現しようとすると、その複雑さが際立ち、読みにくくなるというフローチャート自体の弱点も存在する。AIがどこまで複雑なフローチャートに追従できるかについては、今後の検証が必要である。
結論:設計をAIに渡すことの重要性
AIにコード生成を任せるのではなく、明確な設計図(フローチャート)を渡すことが、開発の質を向上させる鍵となる。「AIを使っている人」と「AIを使いこなしている人」の差は、プロンプトの工夫よりも、その前段階にある設計の質にあると考えられる。順番を間違えると、何度やり直しても同じ結果になる可能性がある。
出典: https://zenn.dev/schhrcat/articles/0419f9c1d38dab
Daily AI Tools
最新AIツールを毎日日本語でレビュー
副業・スタートアップ・中小企業のDX推進に役立つAIツールの使い方、料金比較、活用事例を毎朝配信。


コメント