Kiroは、自然言語で指示することで、コードの調査や編集、コマンドの実行などを進められるエージェント型の開発環境です。

以前の記事では、Spec、Hook、Steeringなどの機能を紹介しましたが、今回は、それらの処理を実際に進める Agent に注目します。

Kiroを利用していると、Custom AgentやSubagentといった似た言葉が登場します。

今回はKiro公式ドキュメントをもとに、以下を整理します。

  • Agentとは何か
  • Custom AgentとSubagentの違い
  • IDEとCLIでの使い方
  • どのように使い分けるのか

Agentとは

Kiroでは、チャットに自然言語で指示することで、コードに関する質問だけでなく、ファイルの作成や編集、エラー調査、コマンドの実行などを依頼できます。

普段、Kiroのチャットでやり取りしている相手が基本となるAgentです。

Kiro IDEのAgent selectorには、次の組み込みAgentが用意されています。

  • Default
  • Spec
  • Quick Spec
  • Bug Fix
  • Plan

通常の作業ではDefaultを利用し、要件や設計を整理する場合はSpec、バグ修正ではBug Fixといった形で、作業内容に応じてAgentを切り替えられます。

Agentを切り替えても、それまでの会話履歴は保持されます。次のメッセージから、切り替えたAgentの指示や利用できるツールなどが適用されます。

Custom AgentとSubagent

Custom Agent

Custom Agentは、特定の用途に合わせて、指示、モデル、ツール、MCP Server、権限などを設定したAgentです。

例えば、次のようなCustom Agentを作成できます。

  • セキュリティを確認するAgent
  • テストを実行するAgent
  • ドキュメントの更新漏れを確認するAgent

Custom Agentは設定ファイルを作成するだけの機能ではありません。

作成したCustom Agentは、Agent selectorから選択し、ユーザーが直接やり取りするAgentとして実際に作業させることができます。また、メインAgentから作業を任されるSubagentとして利用することもできます。

Kiro IDEでは、Custom AgentをMarkdownファイルとして作成します。YAML frontmatterにモデルやツールなどの設定を書き、Markdown本文にAgentへの指示を書きます。

保存場所 利用範囲
.kiro/agents/ 現在のプロジェクト
~/.kiro/agents/ ユーザーのすべてのプロジェクト

プロジェクト内のCustom Agentは、バージョン管理を通じてチーム内で共有できます。

Subagent

Subagentは、メインAgentから一部の作業を任され、独立したコンテキストで動くAgentです。

例えば、Terraformの変更を確認する際に、次のように作業を分担できます。

メインAgent
├─ Subagent:セキュリティを確認
├─ Subagent:テストへの影響を確認
└─ Subagent:ドキュメントの更新漏れを確認

各Subagentは個別のコンテキストで作業し、完了すると結果をメインAgentへ返します。メインAgentは、すべてのSubagentが完了した後に処理を続けます。

Subagentを利用したい場合は、自然言語で指示できます。

Subagentsを使って、セキュリティとテストへの影響を並行して確認してください。

Custom AgentをSubagentとして利用する場合、Kiroはdescriptionをもとに適切なCustom Agentを選択できます。特定のCustom Agentを使いたい場合は、名前を明示して依頼することもできます。

security-agentをSubagentとして使い、この変更を確認してください。

Custom AgentとSubagentの違いを整理すると、次のとおりです。

用語 意味
Custom Agent 特定の指示、ツール、権限などを設定したAgent
Subagent メインAgentから一部の作業を任され、独立したコンテキストで動くAgent

Custom Agentは、ユーザーが直接利用するAgentとしても、Subagentとしても動作できます。

IDEとCLIでの使い方

AgentやSubagentの基本的な考え方は、Kiro IDEとKiro CLIで共通しています。

主な違いは、操作方法とCustom Agentの設定形式です。

項目 Kiro IDE Kiro CLI
操作場所 コードエディタ ターミナル
Agentの選択 Agent selector --agentで指定
Agentの切り替え Agent selector /agent swap
Custom Agentの設定 MarkdownとYAML frontmatter 公式CLI資料ではJSON形式
Subagentの利用 自然言語で指示 メインAgentによる委任、または自然言語で指示
Subagentの同時実行数 公式ドキュメントに数値の記載なし 最大4つ
Subagentの監視 公式ドキュメントに専用操作の記載なし Ctrl+G

Kiro IDEでは、チャット入力欄のAgent selectorからDefaultやCustom Agentを選択します。

Kiro CLIでは、次のように起動時にAgentを指定できます。

kiro-cli chat --agent security-agent

実行中にAgentを切り替える場合は、次のコマンドを利用します。

/agent swap security-agent

Kiro CLIでは、メインAgentが最大4つのSubagentを同時に起動できます。実行中のSubagentは、Ctrl+Gで開く実行モニターから確認できます。

使い分けとまとめ

Agent、Custom Agent、Subagentは、次のように整理できます。

Agent
=Kiroで調査、編集、コマンド実行などを行うAI

Custom Agent
=特定の指示、ツール、権限などを設定したAgent

Subagent
=メインAgentから一部の作業を任され、
  独立したコンテキストで動くAgent

Custom Agentは、設定を定義するだけのものではありません。

ユーザーが直接利用するAgentとして実際に作業させることも、メインAgentから仕事を任されるSubagentとして動かすこともできます。

使い分けは、次のように考えると分かりやすくなります。

一般的な作業
→ Default Agent

特定の役割や利用できるツールを固定したい作業
→ Custom Agent

複数の独立した作業を分担・並行実行したい場合
→ Subagents

例えば、通常のコード調査や小さな修正はDefault Agentで進められます。

一方、セキュリティレビューのように役割や権限を固定したい場合はCustom Agentが適しています。さらに、セキュリティ、テスト、ドキュメントなどの独立した確認を同時に進めたい場合は、複数のSubagentへ作業を分担できます。

まずはDefault Agentを利用し、用途を限定したい場合はCustom Agent、複数の作業を分担したい場合はSubagentsという形で整理すると、それぞれの役割を理解しやすくなります。