|更新 10分

AI活用で痛感した失敗と教訓|品質崩壊を防ぐ3つのルール

Summary

「ざっくり指示すれば大丈夫だろう」――その思い込みが、テストは通るのに仕様と違う実装を量産した。検索フォームのフィルタが別画面に分離され、ページネーションは全件取得のフロント分割。気づいたときには手戻りが膨大に積み上がっていた。入口の品質管理・人間レビュー必須・段階的導入の3ルールと、リバースエンジニアリングによる品質保証を失敗の実例とともに公開する。

「AIを導入すれば生産性が上がる」——これは半分正解で、半分嘘だ。

正しくは、正しく導入すれば生産性が上がる。間違った導入をすれば、品質崩壊が待っている。

本記事では、AI社員を実運用する中で実際に経験した失敗と、そこから確立した3つのルールを包み隠さず共有する。

最大の失敗:AIへの丸投げによる品質崩壊

AI社員の導入初期、私は一つの大きな間違いを犯した。

「AIは優秀だから、ざっくり指示すれば大丈夫だろう」

この思い込みが、品質崩壊を引き起こした。

何が起きたか

曖昧な指示でコードを生成させた結果、一見動いているように見えるが意図と異なる実装が量産された。テストは通る。しかし、仕様と合っていない。

たとえば、検索フォームの実装を指示したところ、フィルタリング機能が検索画面とは別画面に分離されて実装された。また、商品一覧にページネーションを実装するよう指示したが、全件を一度に取得してフロントエンドで分割表示する実装になっていた。どちらもテストは通るが、意図した設計とは異なる。

これは人間のエンジニアでも起きる問題だが、AIの場合は出力速度が速い分、問題が大量に蓄積してから発覚する。気づいた時には手戻りが膨大になっていた。

文章コンテンツでも同じことが起きた

コーディングだけではない。noteの記事執筆でも同様の失敗があった。

  • 事実と異なる数値データが紛れ込む(ハルシネーション)
  • 「革命的」「画期的」といった過剰表現の連発
  • 文脈に合わない事例の引用

具体的には、AI活用の記事で「導入企業の90%が生産性2倍」という根拠のない数値が紛れ込んでいたことがある。また、マーケティング記事で競合他社の事例として実在しないサービス名が引用されていた。

AIが生成した文章は、一読すると「それっぽく」読める。だからこそ、チェックを怠ると誤った情報をそのまま発信してしまう危険がある。

失敗から確立した3つのルール

痛い目に遭って、現在の運用では3つのルールを絶対に守っている。

ルール1:入口の品質管理

指示の解像度と出力の品質は比例する。 これがAI活用で最も重要な原則だ。

具体的には、以下を必ず人間が担当する。

工程担当理由
要件定義人間「何を作るか」はAIに判断させない
テーブル設計人間データ構造は事業の根幹
設計書の方針人間方向性を間違えると全工程に波及
コーディングAI + 人間設計書に基づきAIが実装、人間がレビュー

初期設計を人間がやることで、AIの出力品質が劇的に変わる。「ざっくり作って」ではなく、**「この設計書に基づいて実装して」**と指示するだけで、手戻りは1/5以下になった。

ルール2:人間のレビュー必須

AIの出力は、必ず人間がレビューする。 例外はない。

特に重要なのがテスト結果のレビューだ。AIが生成したテストコードは、テストが通ることを証明してくれる。しかし、テストが通ることと、意図した動作をしていることは別の話だ。

AIは「テストを通す」ことは得意だが、「ビジネス要件を満たしているか」の判断は人間にしかできない。

実際に、テストは全件パスしているのに、ユーザーの操作フローとしては不自然な動きをしていたケースが何度もあった。

ルール3:段階的導入

AI活用を始めるとき、いきなり全業務をAIに任せてはいけない。

私の場合、以下の順序で段階的に導入した。

Step 1:情報収集から始める

最もリスクが低い業務。AIが間違った情報を拾っても、人間がフィルタリングすればいい。

Step 2:コンテンツ作成に広げる

記事のドラフト作成を任せる。ただし、構成とキーポイントは人間が指定し、最終チェックも人間が行う。

Step 3:コーディングに拡大する

設計書を人間が作成した上で、実装をAIに任せる。レビューとテスト検証は人間が担う。

Step 4:テスト作成まで任せる

AIの出力品質が安定してきたら、テストコードの作成も任せる。ただし、テスト結果のレビューは必ず人間がやる。

この順序が重要だ。各段階で「AIにどこまで任せられるか」の感覚を掴んでから、次のステップに進む。

リバースエンジニアリングによる品質保証

現在の運用で、特に効果を発揮しているのがリバースエンジニアリングだ。

やり方

  1. AIがコードを生成する
  2. 生成されたコードから仕様書を逆生成する(リバースエンジニアリング)
  3. 逆生成した仕様書を、元の要件定義・設計書と照合する
  4. 差異があれば修正する

これにより、AIが意図通りに実装したかどうかを構造的に検証できる。

コードを読んで「なんとなく合ってそう」と判断するのではなく、仕様書レベルで比較することで、見落としを防いでいる。

なぜこの方法が有効なのか

人間がコードを目視レビューする場合、読む側のバイアスが入る。「まあ大丈夫だろう」「ここは問題ないはず」という思い込みで、本来チェックすべき箇所を見逃す。

仕様書に変換することで、コードの詳細ではなく、振る舞いのレベルで検証できる。これは人間のレビューの弱点を補う効果的な方法だ。

「人間がレビュー」はいつまで続くのか

ここまで「人間のレビュー必須」と書いてきたが、正直に言えば、この方法自体がいずれ変わっていくと感じている。

AIにコードを書かせて人間がレビューする——現時点ではこれがベストプラクティスだ。しかし、AIの出力量と速度に対して、人間のレビュー能力は有限だ。需要と供給のバランスが崩壊しかけている。

AIが1時間で生成するコード量を、人間が同じ1時間でレビューすることは物理的に不可能になりつつある。AIの精度が上がるにつれ、レビューの粒度やタイミングも変えていく必要がある。

リバースエンジニアリングによる仕様書照合は、その変化への一つの対応策だ。しかし、さらにAIの精度が向上すれば、レビューのやり方そのものが変わっていくだろう。今のやり方に固執せず、常にアップデートし続ける姿勢が必要だ。

AIの短期記憶問題:プロンプトとドキュメント管理の重要性

AIの精度は確実に上がっている。しかし、根本的な弱点が一つある。短期記憶だ。

AIはコンテキストウィンドウ(会話の文脈を保持できる範囲)を超えた瞬間、それまでの情報を忘れる。長い会話や大規模なプロジェクトでは、途中で前提が抜け落ちて、全く違う方向に進んでしまうことがある。

この問題から得た学びは2つある。

プロンプトの設計が生命線

AIへの指示は「1回の会話で完結する」前提で設計する必要がある。長い文脈に依存した指示は、記憶が抜け落ちた瞬間に破綻する。

具体的には以下を実践している。

  • 1タスク1プロンプトの原則。複数の作業を1つの会話で処理しない
  • 必要な前提条件は毎回プロンプトに含める。「さっき言ったけど」は通用しない
  • 出力の期待値を明確に記述する。曖昧な指示は曖昧な結果を生む

ドキュメント管理が資産になる

AIの記憶に頼れない以上、人間側でドキュメントを管理することが不可欠になった。

設計書、要件定義書、実装ルール——これらを整備しておけば、AIの会話がリセットされても同じドキュメントを渡すだけで一貫した出力が得られる

逆に言えば、ドキュメントが整備されていないプロジェクトでは、AIを使うたびにゼロから説明し直すことになる。ドキュメント管理は「面倒な作業」ではなく、AI時代の最重要資産だ。

現在の運用パターン:GitHub Issue駆動のAI開発

試行錯誤の末、現在はこのパターンに落ち着いている。

手順

  1. 実装したい機能のTODOリストと実装手順を事前に作成する
  2. GitHubのIssueに登録する
  3. そのIssueの内容をそのままClaude Codeに渡す
  4. Claude Codeが実装する
  5. 出力をレビュー・検証する

なぜこのパターンが有効か

方向性がブレない。 これが最大のメリットだ。

AIに「この機能を作って」とだけ投げると、AIが自分で解釈して実装する。その解釈が正しいとは限らない。しかし、TODOリストと実装手順が明確に定義されていれば、AIは手順に忠実に従う。

また、GitHub Issueに記録することで、何を指示して何が出力されたかの履歴が残る。AIの短期記憶問題を、人間側の仕組みで補完している。

工程ツール担当
TODO・実装手順の作成GitHub Issue人間
実装Claude CodeAI
レビュー・検証GitHub PR人間
ドキュメント管理GitHub Wiki / リポジトリ人間 + AI

シンプルだが、このサイクルを回すだけで品質は安定する。 重要なのは派手な仕組みではなく、基本を愚直に繰り返すことだ。

AIを使わないほうがいい領域

逆に、「ここはAIに任せないほうがいい」と判断した領域もある。

初期設計

要件定義やテーブル設計は、人間がやるべきだ。

AIに「こんなサービスの設計をして」と丸投げすると、一見もっともらしい設計が出てくる。しかし、ビジネスの文脈やドメイン知識が欠けているため、後になって根本的な設計変更が必要になる。

設計のやり直しは、実装のやり直しよりも遥かにコストが高い。

テスト結果の最終判断

テストコードの生成はAIに任せられる。しかし、テスト結果が「正しい」かどうかの判断は人間がやる

AIは「テストが通るコード」を書くのは得意だが、「このテストが本当にビジネス要件を検証しているか」の判断はできない。意図しないテストケースの漏れを見つけるのは、業務を理解している人間の仕事だ。

失敗を経て辿り着いた本質

すべての失敗を通じて、一つの本質に辿り着いた。

AI活用の成否は、AIの性能ではなく、人間の「指示力」と「判断力」で決まる。

これはPMBOK-AIの根幹思想でもある。AIはツールであり、チームメンバーでもある。しかし、プロジェクトの方向性を決め、品質の最終責任を負うのは、常に人間だ。

「AIが優秀だから大丈夫」ではない。「人間が正しく使うから、AIが力を発揮する」のだ。

まとめ:失敗しない人はいない、学ばない人がいるだけ

AI活用で失敗しない人はいない。重要なのは、失敗から何を学び、どうルール化するかだ。

私が失敗から学んだこと。

  1. 入口の品質管理 — 要件定義と設計は人間がやる
  2. 人間のレビュー必須 — AIの出力は必ず検証する(ただし方法は進化させる)
  3. 段階的導入 — いきなり全部任せない
  4. プロンプト設計とドキュメント管理 — AIの短期記憶を人間の仕組みで補う
  5. GitHub Issue駆動 — TODOと実装手順を先に定義してAIに渡す

そして、リバースエンジニアリングによる品質保証。

これらを守るだけで、AI活用の成功確率は大きく変わる。

失敗談を隠す人は多いが、他人の失敗から学べることは、成功事例の何倍も価値があると信じている。


AI社員の実際の稼働データについてはAI社員4名の実稼働レポートをご覧ください。PMBOK-AIの詳細はPMBOK-AIとはで解説しています。

AI活用や導入について相談したい方はお問い合わせからお気軽にどうぞ。

AI社員・PMBOK-AIの導入を検討中ですか?

まずはお気軽にご相談ください。現場経験に基づく最適なご提案をいたします。

お問い合わせ