Amazon Web Services ブログ

すべてのタスクを一括実行:リリースを見送り続けていた機能をついに公開

Kiro を最初にローンチしたとき、私たちは初期ユーザーの一部を困惑させる意図的な決断を下しました。「すべてのタスクを一括実行」ボタンを実装しなかったのです。各タスクの後に必ずエージェントと確認する必要がありました。これは見落としではありません。意図的な設計でした。

スピードとコントロールの間の緊張

「なぜ仕様のすべてのタスクを一度に実行できないのか?」は、6 か月前のローンチ後に最も多く寄せられた質問の 1 つでした。このリクエストは理にかなっていました。仕様には 5 個、10 個、時には 20 個以上のタスクが含まれることがよくあります。それぞれを個別にクリックするのは面倒に感じられました。エージェントは、できるだけ手を離せるようにするためのものではないのでしょうか?はい、でもいいえでもあります。

Kiro における私たちの基本的な考え方は、開発者が可視性とコントロールを維持することで AI 開発が最も効果的に機能するというものです。何が起こっているかを確認し、各タスクの実行を理解し、問題を早期に発見してほしかったのです。その対極にある選択肢、つまりコーヒーを取りに行っている間に AI がコードベース全体を自動実行するというのは、無謀に思えました。内部テストでは、エージェントが自律的にうまく機能するケースもありましたが、失敗するケースもあり、その場合ユーザーは問題の発生箇所を特定し、修正するために多くの時間を費やすことになりました。

そこで私たちはノーと言いました。そして、リクエストが積み重なってもノーと言い続けました。

まず基盤を構築する

ユーザーの要望を急いで実装する代わりに、私たちは「すべて実行」を本当に安全にするための基盤構築に集中しました。過去数か月間、Kiro の信頼性を根本的に向上させる一連の機能を着実にリリースしてきました。

  • プロパティベーステスト(PBT) – 「このタスクは私が望むことをしているか?」:コードが実行されるだけでなく、仕様の要件を満たしていることを検証するプロパティベーステストを生成するようになりました。これらは単純なユニットテストではありません。コードがさまざまな入力にわたって正しく動作することを保証する不変条件チェックです。PBT により、エージェントは次に進む前に、タスクの実装が期待どおりに動作することを確認できます。
  • 開発サーバーLSP 診断 – 「実装は実際に機能するか?」:タスクが実行中のサーバーに対してテストされ、言語サーバー診断で分析される実際の検証環境です。コードは、ランタイムの動作と静的な正確性の両方について検証され、メインブランチに到達する前に問題をキャッチします。
  • サブエージェント – 「エージェントはコンテキストの腐敗に迷うことなく軌道に乗り続けるか?」:独自のローカルコンテキストを維持しながら、特定のタスクを処理する特殊なエージェントです。メインエージェントが仕様を進めるにつれて、サブエージェントはコンテキスト管理を分散して集中させることで、過負荷になるのを防ぎます。

これらの機能を組み合わせることで、Kiro はコードを生成するツールから、コードを検証するツールへと変貌しました。これにより、複数のタスクを実行することが単に高速であるだけでなく、安全であるという確信が得られました。

すべてのタスクを一括実行:ついに利用可能に

本日、皆さんが求めていたものを公開します。1 回のクリックで仕様のすべてのタスクを実行する機能です。この機能は、皆さんが求めていたものの精神に従っていますが、私たちの実装により、必要なだけ頻繁に使用できる自信が得られます。

「すべてのタスクを実行」を押すと、単にコードをより速く実行するだけではありません。検証の試練を通してコードを実行します。

  • 各タスクの出力は、プロパティベーステスト(PBT)に対して検証されます
  • コードは開発サーバーに対して検証され、LSP 診断でチェックされます
  • サブエージェントは、集中したローカルコンテキストを維持するため、メインエージェントは仕様全体で効果的に機能し続けます
  • 各ステップで何が起こっているかをリアルタイムで確認できます

結果は?慎重に監視された開発の信頼性を備えた自動実行のスピードが得られます。

これは、エージェントを手取り足取り導きたくない小規模な機能仕様に最適だと考えています。そして、いつものように、プロンプトに基づいて Kiro が考え出した仕様を事前に少し時間をかけて検証することで、実際に必要なコードをより速く全体的に公開できるようになります。

「すべてのタスクを実行」は、単に追加したボタンではありません。これは、バッチ実行を実際に信頼できるものにするための数か月の作業の集大成であり、事後により複雑な混乱を修正する必要なく、タスクを実行しながら時間と労力を節約できます。

「すべてのタスクを実行」は、現在すべての Kiro ユーザーが利用できます。次の仕様で試してご意見をお聞かせください