横浜ライフ・ディスカバリー「仕事と私生活の充実を目指して」

関西から単身赴任中。50代で横浜での生活を余儀なくされる。人生後半で見つけた楽しみや挑戦、効率的な生活術を共有するブログ。同世代の読者に向けて、笑いと苦労に満ちた娯楽を提供します

プロジェクト完成度の法則:AIコーディングで学んだ厳しい現実...

タイトル: 本文:

📝 2025年06月29日 05:22 の投稿

以下のテキスト情報から、自然で読みやすいブログ記事を作成してください:

プロジェクト完成度の法則:AIコーディングで学んだ厳しい現実

ポエム

AI

コーディング

ChatGPT

ClaudeCode

最終更新日 2025年06月29日

投稿日 2025年06月29日

22 views22 ビュー

31153dc1-f9d2-45a6-8706-0610850eeb63.png

はじめに

うーむ、久しぶりにこんな技術ネタでブログを書くことになった。最近のAIコーディングブームに乗っかって、いろいろ試してみたんだが、結果的に時間を大量に無駄にしてしまった話をしたいと思う。

そして、その過程で発見した「プロジェクト完成度の法則」について語ってみたい。これは、AIコーディングに限らず、すべての開発プロジェクトに当てはまる重要な法則だと思う。

まあ、アクセス数も増えてきているし、こういう実体験ベースの話も需要があるんじゃないかと思うんだよね。

プロジェクト完成度の法則を実証する体験

この法則を実感したのは、以下のような体験からだった。

パターン1:0%スタート(失敗例)

「ブログシステム作って」とAIに頼む

いかにもそれっぽいコードが出力される

実際に動かそうとするとエラーの嵐

修正に修正を重ねるが、新しい問題が次々発生

結果:何日も格闘して結局使い物にならない

パターン2:100%完成プロジェクトの活用(成功例)

既に動いているオープンソースプロジェクトをベースにする

AIに「この機能を追加して」と依頼

既存の構造に沿った修正案が提示される

結果:短時間で安定した機能追加が実現

この違いは何か?土台の有無なんだよね。

なぜAIは「雪の家」しか作れないのか

AIコーディングの本質的な問題は、パクりコードの寄せ集めだということ。GitHubにあるコードや、Stack Overflowの回答、チュートリアルサイトのサンプルコード...そういうのを適当につなぎ合わせてるだけ。

だから、全体としての整合性がない。

例えば:

フロントエンドはReact(の古いバージョン)

バックエンドはFlask(セキュリティガバガバ)

データベースはSQLite(本番環境に不適)

それぞれは動くかもしれないけど、組み合わせた時の整合性なんて考えてない。

しかも、AIって「高機能にしよう」とする傾向があるから、こっちは「簡単なブログシステム」って言ったのに、勝手にユーザー認証機能、コメント機能、管理画面、メール通知機能...なんでもかんでも付けてくる。

結果、複雑すぎて自分でも理解できない「雪の家」の完成。

イメージで言えば「子供のお遊び」レベル。試験的なものとか、とりあえず見かけ上動いているデモとか、そういうレベルなら全然イイんだけどね。本格的な開発には使えない。

ワンショットコードの現実

結論から言うと、AIがワンショットで出してくるコードで、そのまま動くものなんてほぼない。たまに動くとしても、それは本当に簡単なものか、運が良かっただけ。

「Hello World」レベルなら動くかもしれないけど、実用的なアプリケーションを作ろうと思ったら、結局は自分で書き直すことになる。それなら最初から自分で書いた方が早いんじゃないか?って思うよね。

発見:プロジェクト完成度の法則

数ヶ月間のAIコーディング格闘を通じて、重要な法則を発見した。これを「プロジェクト完成度の法則」と呼んでいる。

【プロジェクト完成度の法則】

100%完成しているプロジェクト → そのまま完成度高いレベルで使える

0%から始めるプロジェクト → AIでの成功率は0%

この法則は、家の建築に例えるとよく分かる。

雪で作った家は気温で溶ける。泥の家も雨で崩れる。でも、鉄筋コンクリートの家は台風が来ても大丈夫。AIが生成するコードは、見た目は立派だけど、構造的には「雪の家」「泥の家」レベルなんだよね。

つまり、屋台骨ができるまでは自力でやらないとダメ。やっぱり家と一緒だよねえ。

ゴミコードリポジトリの完成

気がついたら、自分のGitHubリポジトリには、「何か分からん状態で大量ゴミぶら下げて動いているプロジェクト」が量産されていた。本当に情けなくなるよ...

コミットログを見ると、「AI生成コード追加」「修正1」「修正2」「また修正」「やっぱり書き直し」みたいな感じで、まともな開発の軌跡が全然ない。

プロジェクト完成度の法則に基づく正しい開発戦略

この法則を理解してから、開発戦略を根本的に見直した。

鉄筋コンクリートの家を建てる手順

STEP1:自力で屋台骨を構築(0%→30%)

プロジェクト構造の設計

基本的なアーキテクチャ

コア機能の実装

セキュリティ設計

STEP2:機能別スニペット集で補強(30%→80%)

データベース接続のスニペット

ユーザー認証のスニペット

APIエンドポイントのテンプレート

フロントエンドのコンポーネント

STEP3:AIに細部の作業を依頼(80%→100%)

テストコードの自動生成

ドキュメント作成

コードレビュー

バグの原因調査

完成度別:AIとの適切な付き合い方

0%-30%(構築期):AIに依存してはダメ

全体設計は自分で考える

コア機能は自分で実装

セキュリティは自分で設計

30%-80%(成長期):選択的にAIを活用

動作が確認できる小さな機能単位で利用

既存コードとの整合性を常にチェック

必ず自分でテストしてから組み込む

80%-100%(仕上げ期):AIに丸投げOK

動かない原因調査とか、そういう難解な作業

テスト自動化

ドキュメント整備

メンドクサイものはAIに丸投げがベター

プロジェクト完成度の法則が教えてくれること

この法則から分かるのは、ある程度プログラム経験者なら理解できる重要な真実:

結局、最初からAI提案のものは「どっかのパクりコードの寄せ集め」に過ぎない。ワンショットで出されたコードは、ほぼ動かないと考えた方がいい。たまたまラッキーなものや、難易度の低いものは可能だが、それは例外。

気がついたら、自分のGitHubリポジトリには「何か分からん状態で大量ゴミぶら下げて動いているプロジェクト」が量産されていた。本当に情けなくなるな...

でも、この経験も無駄じゃなかった。プロジェクト完成度の法則を発見できたからね。

これからのプログラミング学習

これから何年かこの業界にいると思うけど、やっぱり基本的なプログラミング能力は必要だと思う。AIがコード書いてくれても、それを読んで理解できなかったら意味がない。

特に、ある程度のプログラム経験者なら、AIが生成したコードの問題点は分かってくると思う。逆に、初心者がいきなりAI使ってコード書こうとすると、もっと大変なことになりそう。

「AIがあるから勉強しなくていい」じゃなくて、「AIを使いこなすために基本を学ぼう」って考え方の方が建設的だよね。

まとめ:プロジェクト完成度の法則を活用しよう

【プロジェクト完成度の法則】

100%完成 → 完成度高いレベル

0%スタート → 成功率0%

この法則を理解して、適切にAIを活用すれば、開発効率は格段に向上する。雪の家じゃなく、鉄筋コンクリートの家を建てよう。

屋台骨は自力で。細部はAIと協力で。面倒な作業はAIに丸投げで。

この使い分けができれば、AIコーディングも怖くない。また面白いネタがあったら書いてみるつもりです。

要件:

1. 自然で読みやすい文章にしてください

2. 画像解析結果については、ぼやかして抽象化してください

3. 技術的な分析よりも、読者が楽しめる内容にしてください

4. 1500字以内の本文にしてください

https://lifehacking1919.hatenablog.jp/entry/2022/01/30/153627 と口調を合わせてください

5.タイトルは不要で本文のみとする

記事として完成した形で出力してください。

※ AI生成サービスが一時的に利用できないため、シンプルな形式で投稿しています。