Amazon Web Services ブログ

Kiro autonomous agent の紹介

本記事は「Introducing Kiro autonomous agent」を翻訳したものです。

IDE アシスタントは、AI 開発者ツールの第一波でした。シンプルなインライン補完から始まり、チャットインターフェースへと発展し、IDE から直接マルチステップタスクを計画・実行できるエージェント型ワークフローへと進化しました。その後、CLI アシスタントが登場し、コマンドラインにも AI サポートをもたらしました。

今年の初めに、私たちはこれらの AI ワークフローに構造を与える Kiro IDE と Kiro CLI を発表しました。ローカルマシンでエージェントと直接作業するには最適なツールです。エージェント型ワークフローは進化を続けており、新しいクラスのエージェントが登場しています。それは独立して動作し、コンテキストを維持し、あらゆるやり取りから学習する最先端エージェントです。

本日、開発者とチームがソフトウェアを構築・運用する方法を変革する 3 つの新しい最先端エージェントの 1 つである、Kiro autonomous agent のプレビュー版をリリースします。

Kiro autonomous agent は、Kiro Pro、Pro+、Power プランを契約されている個人開発者向けにプレビュー版として順次展開されています。プレビュー期間中は無料で、使用量は週次制限があります。チームは早期アクセスのためにウェイトリストに参加できます

開発コンテキストのギャップ

ほとんどの AI コーディングアシスタントでは、コンテキストを積極的に管理する必要がありますが、これは簡単ではありませんでした。設定やパターンを常に再説明したり、リポジトリにコンテキストを保存するシステムを構築したりする必要があります。そして、これらはセッションベースです。セッションを閉じると、すべてを忘れてしまいます。複数のリポジトリで作業する際は特に困難になります。各リポジトリでコンテキストを設定し、エージェントにそれぞれへのアクセスを与える必要があります。

15 のマイクロサービスで使用されている重要なライブラリをアップグレードする必要があるとしましょう。

自分で行う場合: 各リポジトリを開き、依存関係を更新し、破壊的変更を修正し、テストを実行し、PR を作成する必要があります。これを 15 回繰り返すと、数日分の作業になる可能性があります。

エージェント型 IDE/CLI を使用する場合: 手動よりは速くなります。最初のリポジトリを開き、エージェントにライブラリの更新を指示し、変更をレビューし、見落としを修正し、テストを実行し、PR を作成します。その後、リポジトリ 2 に移動して最初からやり直し。すべてのリポジトリで作業に関与し続ける必要があり、セッションを閉じるとエージェントはすべてを忘れてしまいます。

Kiro autonomous agent の場合: 一度説明するだけです。マルチリポジトリ作業を統一されたタスクとして扱い、影響を受けるリポジトリを特定し、各サービスがライブラリをどのように使用しているかを分析し、あなたのパターンに従ってコードを更新し、完全なテストスイートを実行し、あなたが他の作業をしている間に 15 のテスト済みプルリクエストをレビュー用に開きます。

違いは何でしょうか? Kiro autonomous agent はセッションベースではありません。常にそこにあり、作業全体でコンテキストを維持します。エラーハンドリングについて1つの PR でフィードバックを与えると、それを記憶し、その後の変更にそのパターンを適用します。類似のアーキテクチャ決定に遭遇すると、既存の実装と設定を考慮します。コードベースを再説明したり、同じ作業を繰り返したりする必要はありません。エージェントはすでにあなたの働き方を知っており、やり取りのたびに向上していきます。

仕組み

Kiro autonomous agent の展開に伴い、有料プランのユーザーはオンラインアカウントでアクセスできるようになります。チャットしたり、必要な変更や改善を説明したりして、最大 10 のタスクを同時に実行できます。エージェントは独立して作業を完了する方法を見つけ出します。

タスクを割り当てると、Kiro autonomous agent は以下のことを行います。

  1. 開発セットアップを反映した独立したサンドボックス環境を立ち上げ
  2. リポジトリをクローンしてコードベースを分析
  3. 作業を分解し、要件と受け入れ基準を定義
  4. 専門化されたサブエージェントを調整(1 つは調査と計画を担当、もう 1 つはコードを書き、検証エージェントが進行前に出力をチェック)
  5. 作業の任意の側面について不確実な場合は質問
  6. 変更と実装決定の詳細な説明とともにプルリクエストを開く

各タスクは、設定可能なネットワークアクセス、環境変数、開発環境設定を持つ独自の独立したサンドボックスで実行されます。Kiro autonomous agent は非同期で実行されるため、開発環境を適切にセットアップし、テストスイートを実行し、変更を検証するのに必要な時間を取ることができ、その間あなたは他の作業に集中できます。

Kiro autonomous agent との作業

Kiro autonomous agent とチャットして、アプローチを議論したり、質問したり、作業についてコンテキストを提供したりします。委任する準備ができたら、タスクを作成するよう依頼します。

タスク作成前

チャットを使用して異なる実装アプローチを議論し、要件や制約を明確にし、技術的決定についてエージェントの意見を求めます。エージェントはウェブ検索、以前のコードレビューからの学習、他のタスクからのコンテキストにアクセスして、情報に基づいた回答を提供します。

タスク実行中

タスクが作成されたら、チャットを続けて実装アプローチを指導したり、追加要件を提供したり、初期結果をレビューした後にエージェントにより多くの作業を依頼したりします。コメントや指導は現在のタスクの範囲を更新します。異なるタスクで作業するには、新しいチャットを開始します。

GitHub からのタスク割り当て

GitHub イシューから直接作業を割り当てることもできます。任意のイシューに kiro ラベルを追加するか、コメントで /kiro に言及して、その特定のタスクを Kiro autonomous agent に割り当てます。エージェントは追加のコンテキストやフィードバックのために イシューのすべてのコメントを聞きます。

コードレビューから学習

「常に標準のエラーハンドリングパターンを使用する」や「チームの命名規則に従うことを忘れずに」などの PR フィードバックを残すと、Kiro autonomous agent はその PR を修正するだけではありません。それを記憶し、将来の作業にそれらのパターンを自動的に適用します。

作業を続けるにつれて、エージェントはあなたのコード、製品、従う標準をより良く理解し、その後のすべてのタスクを改善する知識を構築します。

安全で設定可能な実行

エージェントが実行する各タスクは、設定可能なアクセス制御を持つ独立したサンドボックスで動作します。権限、ネットワークアクセス、エージェントが触れることができるリソースを制御します。

ネットワークアクセス制御

各タスクに対して 3 つのレベルから選択できます。統合のみ(サンドボックスは GitHub プロキシのみにアクセス)、共通依存関係(npm、PyPI、Maven などのパッケージレジストリへのアクセス)、またはオープンインターネット。正確な制御のためにカスタムドメイン許可リストを定義することもできます。

MCP 統合

MCP 統合はタスク実行中に使用され、Kiro により多くのツールへのアクセスを提供します。個別のタスクのために Model Context Protocol サーバーを通じて専門ツールや独自システムを接続します。

環境変数とシークレット

個別のタスク実行中にエージェントが利用できる環境変数とシークレットを設定します。シークレットは暗号化されて保存され、ログやプルリクエストで公開されることはありません。

環境設定

エージェントはリポジトリ内の DevFiles や Dockerfiles を自動的に検出して、適切な依存関係、ビルドコマンド、ランタイム要件でサンドボックス環境を設定します。どちらも見つからない場合、エージェントはプロジェクト構造を分析してプロジェクトの環境を設定します。

チーム向け Kiro autonomous agent

チームにとって、Kiro autonomous agent は全員と一緒に働く共有リソースとなり、コードベース、製品、標準の集合的理解を構築します。独立して動作する個別の AI アシスタントとは異なり、チームエージェントは仕様、議論、プルリクエストを統一されたメモリに織り込み、チーム全体をより効果的にします。

新しい決済処理機能を構築するチームを考えてみましょう。1人の開発者がコードレビューを通じてチームのエラーハンドリングパターンをエージェントに教えます。数日後、別の開発者がエージェントに返金ワークフローの実装を割り当てます。エージェントはすでにそれらのパターンを知っており、誰も標準を再説明する必要なく、機能全体で一貫性を保ちながら自動的に適用します。

より速く一緒に出荷

エージェントは複数のリポジトリとタスクで並行して開発作業を実行するため、リリースはボトルネックを減らして前進します。1人の開発者が API 再設計に集中している間、エージェントはワークフローの一部として、クライアントライブラリ、ドキュメント、統合テストの対応する更新を処理します。

スタック全体で動作

チームのリポジトリ、パイプライン、コラボレーションツール(Jira、GitHub、GitLab、Teams、Slack、Confluence)を接続して、作業が進行するにつれてエージェントがコンテキストを維持できるようにします。誰かが Confluence で仕様を更新したり、Jira チケットにコメントしたり、Slack でアプローチを議論したりすると、エージェントはそのコンテキストをタスクに組み込み、変更がチームのベストプラクティスと一致することを保証します。

チームから学習

コードレビュー、機能リクエストやバグ、アーキテクチャ決定がエージェントの理解の一部になります。文書化されたものだけでなく、チームが実際にどのように働き、どのパターンを好むかから学習します。この学習により、エージェントは一般的なコーディングが上手になるだけでなく、時間をかけて特定のチームをより良くサポートできるようになります。

チームはすばやいアクセスのためにウェイトリストに参加できます。

Kiro autonomous agent のプレビュー版を Kiro Pro、Pro+、Power ユーザー向けに段階的に展開を開始しています。詳細を確認するか、サインインして利用可能かをチェックしてください。