Code Review That Actually Runs Your Code — Evan Marshall (ito.ai)
17分 16秒
AI開発のQAボトルネックを解消!ハーネスエンジニアリングとEdoAIの挑戦
この記事は動画の内容を元にAIが生成したものです。正確な情報は元の動画をご確認ください。
ポイント
- •AI開発でQAがボトルネックになっている方に、EdoAIがAI生成コードの自動検証を通じて開発を加速する方法を紹介します。
- •EdoAIはAI生成コードを実際に実行し、テスト結果やUI変更をプルリクエストに統合することで手動検証の手間を削減します。
- •モデル性能の進化が緩やかな今、AIモデルの価値を最大化する「厚いハーネス」構築の重要性と、そのためのエージェント設計の鍵を解説します。
AI開発のボトルネックはどこへ?モデル進化とQAの課題
近年、AIモデルの進化、特にOpus 4.5のような画期的なモデルが登場して以来、そのペースは以前に比べて緩やかになってきています。これは、モデル自体の性能が頭打ちになったというよりも、AIを活用したコード開発におけるボトルネックが変化していることを意味します。
かつてはモデルの出力精度が課題でしたが、今やその焦点は「QA(品質保証)」へと移っています。AIが生成するコードの品質検証は、人間が行うには非常に時間がかかり、多くのプルリクエスト(PR)がレビュー待ちの状態で滞留し、開発サイクルが停滞するという深刻な問題に直面しています。例えば、AIがわずか1分で修正コードを提案したとしても、その修正の検証には何倍もの時間がかかってしまう、という状況が頻繁に発生しているのです。
このような課題に対し、EdoAI社は「AI生成コードの検証レイヤー」を構築することで、開発プロセスを劇的に改善しようと試みています。本記事では、EdoAIのCTOであるエヴァン・マーシャル氏の洞察に基づき、AI開発におけるQAの現状と、その解決策としての「ハーネス」の重要性について深掘りしていきます。
EdoAIとは:AI生成コードの検証を自動化するツール
EdoAIは、AI生成コードの検証におけるボトルネックを解消するために開発された、革新的なコードレビューツールです。その最大の特徴は、実際にコードを実行するという点にあります。
通常、コードレビューでは人間が変更内容を目視で確認したり、ローカル環境でコードをプルして動作を確認したりしますが、EdoAIはこれらのプロセスを自動化します。具体的には、プルリクエストに対して以下の情報を自動で提供します。
- エンドツーエンドテストと統合テストの実行結果: コードが意図した通りに機能しているかを総合的に検証します。
- スクリーンショットと動画: 変更がUIにどのような影響を与えたかを視覚的に確認できます。
- 実行ログ: コードの実行過程における詳細な情報を提供し、問題の原因特定を容易にします。
これにより、開発者はプレビュー環境で手動でクリックしたり、ローカルにコードをダウンロードして確認したりする手間がなくなります。変更が実際にどのように動作するか、どのような見た目になるかを、手軽かつ客観的な証拠とともに確認できるため、チームはより迅速に、そして安心して開発を進めることが可能になります。
EdoAI誕生の背景:手動検証の苦痛から生まれた発想
EdoAIのアイデアは、CTOのエヴァン氏が大学生の頃の経験に端を発しています。彼はソーシャルメディアのスクレイピングやデータ分析に熱中していましたが、手動でウェブサイトをクリックして回る作業に大きなフラストレーションを感じていました。その後、Claude CodeのようなAIツールを使い始めた際にも、依然として多くの手動クリック作業が必要であることに気づきます。「なぜ機械が代わりにクリックしてくれないのか?」このシンプルな疑問が、EdoAIの原点となりました。
当初はREADMEファイルの動作検証から始まり、「AIが変更をチェックし、新しいツールをセットアップする」というアイデアへと発展していきました。手動での検証作業の非効率性に直面した経験が、AIがコードの変更を自動で検証するという、EdoAIのコンセプトを形作ったのです。
AIモデルの価値を最大化する「ハーネス」の重要性
AIモデル自体の性能向上が緩やかになっている現在、より大きな価値を引き出す鍵は、モデルそのものよりも**「ハーネス(Harness)」**にあるとEdoAIは考えています。ハーネスとは、モデルを最大限に活用し、意図した挙動を引き出すための周囲のインフラやワークフロー、ツール群を指す概念です。
EdoAIの内部では、このハーネスを「馬車(carriage)」に例えて説明することがあります。単一の馬を繋ぐハーネスではなく、複数の馬(エージェント)が協力して動作する「馬車」として、全体として大きな成果を生み出すシステムを構築する、という考え方です。
ハーネスエンジニアリングとは?
ハーネスエンジニアリングは、非常に実験的なプロセスです。外部のベンチマークだけではシステムの実際の振る舞いを完全に反映できないため、独自の内部評価セット(eval sets)を管理し、継続的に試行錯誤を重ねる必要があります。これは、AIシステムの挙動を精密にコントロールし、予測可能性を高めるための重要なアプローチと言えます。
「厚いハーネス」と「薄いハーネス」:EdoAIのアプローチ
ハーネスの設計には、大きく分けて2つの考え方があります。
- 厚いハーネス(Thick Harness): モデルの能力が停滞している状況において、ハーネス自体に多くの機能やロジックを追加することで、より良い結果を得ようとするアプローチ。EdoAIはこの考え方に近く、単なるモデルの呼び出し層に留まらない「フル機能の馬車」を目指しています。
- 薄いハーネス(Thin Harness): モデルに多くの仕事を任せ、ハーネスは最小限の役割に留めるアプローチ。
EdoAIは、「モデルの成長が鈍化している」という信念から、前者である「厚いハーネス」の考え方を採用しています。これは、ハーネスの設計において、より多くの責任と機能を担わせることで、AIシステム全体のパフォーマンスを最大化しようとする戦略です。
エージェント設計の鍵:確定的境界と目標設定
EdoAIの設計において特に重視されているのが、**「確定的境界(deterministic boundaries)」と「検証可能性(verification)」**です。
モデルの能力が向上すると、エージェントはより創造的で予測不能なアプローチを取るようになる可能性があります。この状況でエージェントに「Aの後にBをして、次にCをする」といった具体的な手順を指示しすぎると、モデルの進化とともにハーネスが陳腐化してしまいます。
そのため、EdoAIではエージェントに対して「この検証可能な確定的な目標に到達せよ」という明確なゴールを設定します。これにより、システム内で確率的なエラーが複合的に蓄積することを防ぎつつ、エージェントが進化してもその恩恵を受け続けることができます。
強力な環境と適切な目標設定
エージェントから最大の価値を引き出すためには、**「強力な環境(powerful environments)」**が不可欠です。EdoAIのエージェントは、フル機能の仮想マシン(VM)で動作します。これらは「高い壁を持つ大きなサンドボックス」として機能し、エージェントが意図しない範囲に影響を与えるのを防ぎます。
また、エージェントの目標設定も極めて重要です。もしエージェントのパフォーマンスを意図的に低下させたいなら、複数の目標を与えるのが最も簡単な方法です。「これとあれをやれ」と指示すると、エージェントはどの目標を優先すべきか分からなくなり、効率が落ちてしまいます。
したがって、エージェントシステムを設計する際には、タスクを能力(ステップA、ステップB、ステップC)ではなく、**「自然な目標(natural goals)」**に基づいて分割すべきです。これは、すでにコード開発の現場で「コードレビューボット」と「コード生成ボット」が分かれているように、根本的に異なる目標を持つタスクは別々に扱うべきである、という考え方に基づいています。
ハーネスを改善するために必要なもの:インフラとタスク分解
モデルからより効率的な成果を引き出すための「ハーネス」を構築するには、何が必要なのでしょうか? EDOAIの経験からすると、それは主に「インフラ」と「タスク分解」の領域にあります。
例えば、「ClaudeとPlaywrightを使ってQAを自動化できないか?」という疑問がよく寄せられます。しかし、これを自身のローカルマシンで実行し、その結果を監視するのは現実的ではありません。専用の環境が必要になり、さらにその環境の構築と維持には多大な労力とコストがかかります。
完璧なプロンプトがあれば毎回理想的な結果が得られるかもしれませんが、現実には多くのガードレール(安全策)やワークフローの設計が不可欠です。モデルの能力だけに頼るのではなく、堅牢なインフラ、適切な環境管理、そして複雑なタスクをエージェントに効率的に割り振るための賢明なタスク分解戦略が、より良いハーネスを構築するための鍵となります。
まとめ
AIモデルの進化が落ち着きを見せる中、AIを活用したコード開発の効率化は、モデルの性能向上だけでなく、それを支える「ハーネス」の設計にかかっています。
EdoAIは、QAにおけるボトルネックを解消するため、コードを実際に実行し、プルリクエストに検証結果を統合する革新的なツールを提供しています。これは、確定的境界に基づいたエージェント設計、強力な実行環境、そして自然な目標に基づくタスク分解という、「厚いハーネス」のアプローチを通じて実現されています。
手動でのクリック作業やローカル環境での確認に費やされていた膨大な時間を削減し、開発チームがより本質的な問題解決に集中できる未来は、EdoAIのような先進的なハーネスエンジニアリングによって現実のものとなるでしょう。