>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

How Replit’s Agent 3 Achieves True Autonomy - Luis Héctor Chávez, Replit

再生時間

17分 34秒

Replit Agent 3徹底解説:AIエージェントの自律性を飛躍させる「自己テスト」と「ランタイム自律性」の秘密

ポイント

  • Replit Agent 3は、AIエージェントの自律性を大幅に向上させる自己テスト機能とランタイム自律性を提供する最新バージョンです。
  • 自己テスト機能により、エージェントは構築したアプリケーションを自らテストし、バグを発見・修正(セルフヒーリング)を行い、人間による介入を大幅に削減します。
  • ランタイム自律性は、エージェントが他のエージェントを構築することを可能にし、継続的な監視や介入なしに複雑な自動化タスクを実現します。

Replit Agent 3のローンチは、AIエージェントの能力を新たなレベルへと引き上げました。今回の発表は、エージェントが人間からの支援なしに、より多くの作業を自ら遂行できるよう、その「自律性」を大幅に向上させることを目的としています。本記事では、Agent 3でリリースされた主要な2つの重要な機能、すなわち「自己テスト機能」と「エージェントが他のエージェントを構築する機能(ランタイム自律性)」について詳しく解説します。これらの進化が、これからのソフトウェア開発と自動化にもたらす影響を見ていきましょう。

伝統的なソフトウェア開発とテストの重要性

AIが世に登場して以来、私たちのワークフローは劇的に変化しました。すべてのエンジニアは、ソフトウェアの構築、実行、テストの方法を変化させる必要に迫られています。しかし、伝統的なエンジニアリングには、今でも有効な優れたアイデアやベストプラクティスが存在します。その一つが「テスト」です。

では、なぜテストが重要なのでしょうか。テストは開発者に「自律性」をもたらします。ソフトウェアを定義する際、同時にそのソフトウェアに対するテストも定義します。これは、あたかも「もしこの状況が発生したら、私のソフトウェアはこのように振る舞うべきであり、このような観測可能な副作用を持つはずだ」といった仮説をコードとして組み込むことと同じです。つまり、ソフトウェアを記述し、変更を加えた後、一連のテストを実行します。これらのテストは自律的にすべての仮説を検証し、もし何か問題があればそれを報告してくれます。その報告を受けて、開発者は修正を行うことができます。このように、テストはソフトウェアの品質保証だけでなく、開発プロセスの効率化と自律化に不可欠な役割を果たすのです。

Agent 2.0の課題:不足していた「テスト」能力

Agent 3の前のバージョンであるAgent 2.0のケーススタディを見てみましょう。Replitは、ユーザーが「地元のランドマークを表示する地図アプリケーションを作成してほしい」と依頼するだけで、数分以内に完全なアプリケーションを構築してくれるアプリ構築プラットフォームです。Agent 2.0も、ユーザーの要求に応じてアプリケーションを構築する能力は持っていました。

しかし、そこには一つ小さな問題がありました。アプリケーションは構築できたものの、完成した後に「人間がテストを実行する」必要があったのです。ユーザーはReplitエージェントに「何か構築してほしい」と依頼したにもかかわらず、エージェント側が「テストはあなたが実行してください」と伝えてくるという、一種の「制御の反転」が発生していました。

ほとんどの読者の皆様は、エージェントの基本的な仕組みについて、この図に類似するものをよくご存知かもしれません。これは、エージェントが何であるかを非常に簡略化したものです。基本的に、エージェントは大規模言語モデル(LLM)への呼び出しを中核とするループで動作します。ユーザープロンプトを受け取ると、環境に影響を与えるアクション(通常はツール呼び出しを通じて)を実行し、ツール呼び出しが完了した後、環境に何が変化したかを検査します。これはフィードバックループのようなもので、要求が完了したと判断するか、または続行できなくなるまで何度も繰り返されます。完了した場合、または続行できない場合は、ユーザーに制御を戻します。

Replit Agent 2.0は、アプリケーションを自らテストする能力を持っていなかったため、この図の「環境検査」の部分が機能不全に陥っていました。エージェントはタスクを継続できなくなり、頻繁にユーザーに制御を戻す必要があったのです。この課題を解決するために、自己テスト機能の構築がAgent 3にとって不可欠となりました。

Agent 3の解決策:AIエージェントによる自己テスト機能

Agent 2.0の課題を解決するため、Agent 3ではエージェント自身が構築したアプリケーションをテストする能力が導入されました。

テストフレームワークの選定:Playwright

過去のプレゼンテーションでは、OpenAI APIやTraffic Computerなどの多くのテストオプションが紹介されてきました。しかし、これらの強力なオプションは、非常に高価で処理速度も遅いという欠点がありました。そこで私たちは、オープンソースツールや一部のベンダーツールを検討しました。最終的に、「Playwright」に決定しました。その理由は以下の通りです。

  • オープンソースであること: コミュニティによる活発な開発とサポートが期待できます。
  • TypeScriptとの親和性: 開発チームが持つTypeScriptのスキルセットを最大限に活用できます。
  • バランスの取れた機能性: 拡張性が高く、Playwrightの内部状態をある程度検査できる能力が、私たちの要件に合致しました。Chrome DevToolsのようなブラウザサイドの高度なツールを完全に活用するのではなく、私たちにとって最適なバランスを見つけることができました。

自己テストの仕組みとセルフヒーリング

Agent 3では、開発アプリケーション内でブラウザを実行する方法がすでに確立されていたため、Playwrightを統合し、Playwrightを使用してブラウザと対話する能力を追加しました。これにより、エージェントはリクエストが完了したと判断すると、自身で構築したアプリケーションのテストを実行できるようになりました。

それだけでなく、一連のテストを実行し、もしバグを発見した場合にはそのバグを報告し、さらに自らバグを修正することまで可能になりました。これはつまり、ほとんどの場合において、エージェントが「セルフヒーリング」できるようになることを意味します。もちろん完璧ではありませんが、この機能により、エージェントの自律性は格段に向上しました。

新しいエージェントのループ

Agent 3での新しいエージェントの内部ループは、以前とは少し異なります。テスト機能が有効な場合、エージェントはタスクが完了したと判断した後、すぐにユーザーに制御を戻すことはしません。まずテストを実行し、テストがすべてパスし、かつタスクリストに他にやるべきことがない場合にのみ、ユーザーに制御を戻します。これにより、エージェントは以前よりもはるかに多くの作業を自力で遂行できるようになりました。

驚くべき統計と効果

Agent 3の自己テスト機能は、非常に良い結果をもたらしています。いくつかの誇るべき統計をご紹介します。

  • 90%の成功率: テストエージェントが関与したケースの90%で、自律性目的のタスクは成功しました。これは、テストがパスしたか、またはテストが失敗したがエージェントが自らバグを修正できたことを意味します。
  • 40%のバグ修正: 成功ケースのうち40%は、エージェントがバグを発見し、その後修正したものです。
  • 低コスト: テスト1回あたりのコスト中央値は約20セントと、非常に優れた投資収益率を示しています。

これにより、人間がバグを発見し、エージェントにその状況を説明する手間が大幅に削減されました。現在では、エージェントが全体の軌跡を観察し、何が問題だったのかを正確に把握して自ら修正できるようになっています。

もちろん、このシステムはまだ完璧ではありません。約4%の人間による介入(例えばCAPTCHAの認証や、他のサイトへのログインなど)が依然として必要です。しかし、全体としてみれば、これは計り知れないほどの純利益をもたらしています。

ビルドタイムを超えて:ランタイム自律性(エージェントがエージェントを構築)

自己テスト機能は「ビルドタイム」の自律性、つまりアプリケーション構築時の自律性を高めるものでした。しかし、Agent 3のもう一つの重要な進化は、「ランタイム自律性」、すなわちエージェントが他のエージェントを構築する能力です。これは、特定のタスクを別の小さなソフトウェア(エージェント)に委譲できる機能です。

通常、Replitが構築するアプリケーションは「半静的」であり、一度構築されると、それ以上の自律的な動作は組み込まれていません。しかし、もし異なる種類の自律性が必要な場合はどうでしょうか。例えば、「毎日S&P 500の市場データを取得し、その情報を要約してメールで送信する」といった、継続的な自動化を必要とするものを構築したい場合です。これは通常のウェブサイトやアプリケーションでは不可能です。より「エージェント的」な何かが必要となります。

このランタイム自律性は、先ほど示したエージェントの内部ループと似たステートマシンによって実現されます。ただし、ユーザーへのエスカレーションではなく、常に何らかの出力(時にはエラーも含む)を返すように設計されています。これにより、ユーザーは継続的に監視や介入を行うことなく、エージェントに複雑で継続的なタスクを委任できるようになります。

まとめ

Replit Agent 3のリリースは、AIエージェントの自律性を大きく前進させました。自己テスト機能により、エージェントは自らアプリケーションを構築し、テストし、さらにはバグを発見して修正する「セルフヒーリング」能力を獲得しました。これにより、開発プロセスの効率が飛躍的に向上し、人間が介入する頻度を大幅に減らすことができます。

さらに、エージェントが他のエージェントを構築する「ランタイム自律性」は、これまで実現が難しかった継続的かつ複雑な自動化タスクを可能にします。市場データの取得と分析、レポートの生成と送信など、エージェントが自律的に動作し続けることで、私たちの仕事のあり方を根本から変える可能性を秘めています。

Agent 3は、AIエージェントが単なるツールを超え、真に自律的なパートナーとして機能する未来への大きな一歩を示しています。今後の進化が非常に楽しみです。

参考動画