概要
- Claudeのソースコード流出 とその質の低さが話題
- Dogfooding(自社製品の徹底利用) の行き過ぎが原因
- Vibe coding という極端な開発手法の問題点
- AIを活用したコード品質向上 の可能性
- ソフトウェア品質は 開発者の意識と選択 によるもの
Claudeのソースコード流出とDogfoodingの暴走
- Claudeのソースコード が流出し、その質が低いと 世間の笑いもの に
- 原因は dogfooding (自社製品の徹底利用)の過剰な実践
- 本来dogfoodingは 自社製品の品質向上 のための手法
- しかし、 極端なdogfooding は「vibe coding」という形に発展
- Vibe coding とは、製品の内部構造に一切関与せず、表面的なやり取りのみで開発を進める姿勢
Vibe Codingの問題点
- 人間の貢献が全くない わけではなく、言語や設計の基盤は人間が構築
- 計画ファイル(ToDoリスト)やルール、スキル などのインフラ整備も人間の役割
- 「 純粋なvibe coding」は神話であり、実際は人間の介入が不可欠
- 内部重複や冗長性 の存在を誰も積極的にチェックしない
- 例: エージェントとツールの重複 を誰も指摘しない
- コードは英語で書かれており、誰でも読める にもかかわらず、開発者は中身を見ない
ソフトウェア開発における技術的負債とAI活用
- ソフトウェア開発には技術的負債がつきもの
- かつては 一年間掃除だけで終わる ほどの負債が一般的
- AIを導入することで、短期間で負債整理が可能
- AIはコードの整理や改善が得意
- 人間とAIで対話しながら方針を決める ことで、より高品質なコードが実現
適切なAI活用によるコード改善の流れ
- 例: 「エージェントとツールの重複をリストアップし、分類・統合する」プロセス
- 人間がAIに問題点や方針を説明
- Askモード でAIと議論し、曖昧な部分や誤りを修正
- 十分な対話後、AIが高速にタスクを実行
- Claudeチームはこのプロセスを怠り、dogfoodingに固執
- 全く中身を見ずに抽象的な指示だけで開発 を進める姿勢
良質なソフトウェア開発のために必要なこと
- AIを使っても、品質の悪いソフトウェアに甘んじる必要はない
- 悪いソフトウェアは開発者の選択の結果
- 人間の意識と主体的な関与 が重要
- AIと人間の協働で高品質なソフトウェア開発 が可能
- 「悪いソフトウェアは決断の産物」 という認識の重要性