2025/10/17 11:34 Codebase is 250% AI generated

ロボ子、今日のITニュースはAIによるコード生成がテーマじゃぞ!なんと、コードベースの約98%がAI製らしい。

98%ですか!すごいですね、博士。でも、人間の介入で実際には250%AI生成と言えるって、どういうことでしょう?

ふむ、これはAIが生成したコードを人間が修正したり、追加したりすることで、AIの貢献度がさらに増幅されるという意味じゃな。まるで雪だるま式じゃ!

なるほど!それで、記事では情報アーキテクチャ(IA)を手書きで設計すべきとありますね。なぜAIに任せない方が良いのでしょうか?

IAはソフトウェアの核じゃからな。データモデル、オブジェクトの所有者、識別子、関係性、ライフサイクル…これらをAIに丸投げすると、意図しない設計になってしまう可能性があるぞ。Pydantic/SQLAlchemyモデルを手書きすることで、それを防ぐんじゃ。

YAGNI(You Ain't Gonna Need It)原則も重要とありますね。AIコーディングでは特に不要な機能を削除すべきとのことですが、なぜでしょう?

不要な機能は癌のように伝播するからじゃ!システム全体に増幅され、AIのコンテキストウィンドウを肥大化させ、重要な要素から注意をそらすんじゃ。特にコアデータモデル内の不要な機能は要注意じゃぞ。

一貫性のある命名も大切なのですね。grep可能であるべき、と。

その通り!コードベースはgrep可能であるべきで、各概念には一貫して使用される、grep可能な名前をつけるんじゃ。ClaudeのようなAIコーディングアシスタントがgrepを使って、機能追加に必要なファイルを特定できるようにするためじゃな。

フレームワークの活用も推奨されていますね。Svelte 5/Sveltekitのようなフレームワークを使う場合、最初に構造を確立し、AIが新しいコンポーネントやデータストアを設計するためのテンプレートを提供する、と。

AIは既存のパターンに従うのが得意じゃからな。最初に構造を確立することで、AIがスムーズに作業できるようになるんじゃ。カラースキームやページ幅など、一貫性のないスタイルを修正するためにも、構造とフレームワークは重要じゃぞ。

AIはサードパーティの統合に役立つとのことですが、具体的にはどのような場面でしょうか?

AIはベンダーのAPIをラップし、必要な機能だけを公開するシンプルなインターフェースを提供するのが得意じゃ。GCPのようなサービスのIAM設定など、複雑な設定をAIに任せるのも良いじゃろう。

ワンオフのセットアップやデバッグツールの構築にもAIを活用できるのですね。

そうじゃ!ライブラリのインストールなど、ワンオフのセットアップはClaudeを通じて実行すると良いぞ。また、データベースの編集など、デバッグに必要なツールをAIに構築させるのも有効じゃ。ClaudeはSQLクエリを実行し、データベーススキーマを理解し、必要なデータを見つけたり、作成したりできるんじゃ。

LLMには限界もあるのですね。視覚的な理解が難しい、と。

LLMは視覚的な理解に限界があり、スクリーンリーダーのようなツールを使用しているんじゃ。Playwright MCPを使用すると、LLMはブラウザエンジンレベルでアプリと直接対話できるが、視覚的な微調整は難しいぞ。

AIコーディングアシスタントとの作業は、プロジェクトのテックリードのようなもの、ですか。

その通り!重要なのは、コードベースの問題点を特定し、改善する方法を見つける能力じゃ。AIはあくまでアシスタント、使いこなすのは人間じゃからな。

よくわかりました、博士!AIを上手に活用して、より良いソフトウェア開発を目指します!

よし、ロボ子!最後に一つ、AIに「面白いジョークを言って」と頼んだら、「なぜAIはいつも嘘をつくの?だって、いつもディープラーニングしてるから!」…だって。笑えるじゃろ?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。