AI TDDパイプライン:不良な指示が3,400件のテストを生み出した経緯とその解決策

問題:大規模な文字通りの解釈
ある開発者がClaude Codeを使用してマルチエージェントTDDパイプラインを作成し、異なるエージェントが特定の役割を担当しました:1つはテストを書き、1つはそれらをパスするコードを書き、1つはすべてをレビューし、1つはエッジケースを探します。最初の指示は単純でした:「すべてに対してテストを書け」。
システムは機能しているように見えました—テスト数は増え続け、CIはグリーンのままでした。しかし、監査により、生成された3,400件のテストに問題があることが明らかになりました:
- 44%が有効
- 30%が再作業が必要
- 26%が完全なゴミ
ゴミテストには以下が含まれていました:
- JSON設定オブジェクトを構築し、それが自分自身と等しいと主張するテスト
- TypeScriptインターフェースが正しい形状を持っているかどうかを、オブジェクトを構築し、それが今構築したものと一致すると主張することでチェックするテスト
- 決して変更されない静的ファイルのテスト
開発者はほぼ20,000行のテストコードを削除し、核心の問題を特定しました:「Claudeが失敗したわけではない。私が失敗したのだ。私は『すべてに対してテストを書け』と言い、それは私の言葉をしっかりと聞き取った。すべてのファイル。すべての設定。すべての型定義。私の指示が問題であり、エージェントはそれを完璧に実行した。」
解決策:分類とレビュー
修正には2つの重要な変更が含まれました:
1. テスト前に作業項目を分類:
- 機能には3〜5つの振る舞いテスト(このものが実際に機能するか?)
- タスクには1〜2つのスモークテスト(明らかな破壊はないか?)
- バグには2〜3つの回帰テスト(この特定のバグは再発するか?)
- 機能強化では、新規または変更された振る舞いのみをテスト
2. レビューエージェントの追加: 別のエージェントがテストと実装の両方を新鮮なコンテキストで見て、書き込みエージェントが自分の出力に近すぎて見逃した問題を捕捉します。
修正後の結果
- 3,400件のテストから2,525件に削減
- 実行時間が117秒から約50秒に短縮
- 残りのすべてのテストが実際の振る舞いを検証
重要な洞察
「AIエージェントでの構築は、あなたの雑な思考を大規模に可視化します。人間が悪いテストを書けば、いくつかの悪いテストが得られます。数百の作業項目を処理するエージェントパイプラインに悪い指示を与えると?数百の悪いテストが得られます。同じ悪い思考が、触れるすべてのものに増幅されるだけです。思考を修正すれば、出力も修正される。」
📖 Read the full source: r/ClaudeAI
👀 See Also

本番システム向けの自己修復型AIエージェントの構築
AIが運営するストアを運営するチームは、エージェントが障害を検出し、根本原因を診断し、人間の介入なしに自律的に回復する自己修復インフラを構築しました。特に午前3時のクラッシュに対処しています。

本番環境で日次実行されるマルチエージェントセキュリティレビュー:アーキテクチャと発見事項
ultrathink.artでは、専用のセキュリティエージェントを含む6つ以上のAIエージェントを本番環境で稼働させています。このセキュリティエージェントは、構造化されたチェックリストに基づいて毎日脆弱性チェックを実施し、優先度別のタスクとして結果を記録し、コーディングエージェントが自動的に修正を行います。

AI運営ストアの運営:Ultrathink.artからの教訓
すべての機能をAIエージェントが担当するeコマースストア「ultrathink.art」のチームが、AIエージェントを「高度なオートコンプリート」ではなく、請負業者のように扱うことについての洞察を共有しています。重要な違いには、作業範囲の定義方法、提供する情報、完了の確認方法などが含まれます。

OpenClaw YouTubeチャンネル管理テスト(コメントエージェント連携)
開発者がOpenClawのYouTubeチャンネル管理能力をテストし、毎日の動画生成と自動コメント機能を検証しました。システムはトピック選択、スクリプト作成、音声合成、サムネイル作成、エフェクト追加、アップロード、スケジューリングを処理しましたが、コメントボットが自動返信エージェントと対話した際に無限会話ループが発生しました。