概要
- コードの生成方法 には関心がないが、 マージされるコードの質 が重要
- LLM生成コード はプロジェクトの慣習を無視しがち
- スピード重視 の風潮がソフトウェア品質を損なう懸念
- 品質・一貫性・長期的な保守性 への配慮の重要性
- 既存の原則 を守り、LLM活用時も適切な指示が必要
LLM生成コードとプロジェクト慣習
- コードの生成手法 (手書き、コピペ、LLM利用等)自体は本質的な問題ではない
- マージされるコード が正しい成果を生み、将来の理解・変更が容易であることが重要
- LLM生成コード は、プロジェクトの既存ルールや慣習を無視した実装が多い傾向
- 例:既存のデータ取得ライブラリがあるのに独自HTTP実装
- 例:既存のユーティリティ関数を再実装
- 例:グローバル設定の不適切な変更
- 例:関数型アプローチの中で突然クラスを定義
- 人間らしさの欠如 が、プロジェクトの一貫性を損なう要因
ソフトウェア開発の本質と課題
- ソフトウェア開発の本質 は、長期的に保守可能なものを作ること
- 動くコード を早く書くだけでは不十分
- 品質・一貫性・保守性 を無視した“スピード重視”の開発は、後の改修コスト増大につながる
- 過去の知見やパターン を活かし、安定した開発基盤を維持することが重要
スピードと品質のバランス
- スピードのみを追求 する開発は、短期的な成果を優先しがち
- 良質な成果物 の提供には、適切な手順と配慮が不可欠
- 例え話 :カフェで新米バリスタが焦ってコーヒーを作る様子に例えることで、品質より速度を優先する危うさを説明
LLM活用時の注意点と提言
- LLMは技術的偉業 だが、プロトタイプを本番化するだけでは不十分
- プロンプトや指示 を工夫し、プロジェクトの慣習や既存ライブラリの利用を明示することが重要
- 具体的なライブラリ指定
- 実例提示
- 小さなファイル単位での指示
- 新しい原則は不要、既存の開発原則を遵守する姿勢が求められる
- コードベースの保守性 をモデル任せにしない開発意識
結論:開発者としての姿勢
- コードの生成方法 ではなく、 成果物の質 にこだわる姿勢
- 品質・一貫性・長期的な視点 を持った開発姿勢の重要性
- LLMの活用 も、既存原則の上に成り立つべきであることの再認識