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という形で整理すると、それぞれの役割を理解しやすくなります。