原文(日本語)
エージェントの"tools"フロントマター内で Task(agent_type) 構文を使用して、どのサブエージェントを起動できるかを制限できるようになりました。
原文(英語)
Added support for restricting which sub-agents can be spawned via Task(agent_type) syntax in agent "tools" frontmatter
概要
カスタムエージェントを定義する際に、frontmatterの"tools"セクションで Task(agent_type) 構文を使用することで、そのエージェントが起動できるサブエージェントの種類を制限できるようになりました。これにより、エージェントの動作をより細かく制御し、セキュリティや用途に応じた制約を設定できます。
基本的な使い方
エージェント定義ファイル(例:custom-agent.md)のfrontmatterで、使用可能なサブエージェントを指定します。
markdown
---
name: restricted-agent
description: 特定のサブエージェントのみを使用するエージェント
tools:
- Read
- Write
- Task(Bash)
- Task(Explore)
---
このエージェントは、BashとExploreサブエージェントのみを起動できます。実践例
セキュリティを重視したエージェント
ファイル操作のみを許可し、外部コマンド実行を制限するエージェント:
markdown
---
name: safe-file-editor
description: ファイル編集専用の安全なエージェント
tools:
- Read
- Write
- Edit
- Glob
- Grep
---
このエージェントは、ファイル操作のみが可能で、
Bashやその他の外部コマンド実行はできません。探索専用エージェント
コードベースの探索とドキュメント作成に特化したエージェント:
markdown
---
name: documentation-explorer
description: コードベースを探索してドキュメントを作成
tools:
- Read
- Glob
- Grep
- Task(Explore)
- Write
---
このエージェントは、コードの読み取りと探索に特化し、
Exploreサブエージェントのみを起動できます。計画立案専用エージェント
タスクの計画立案に特化し、実装は行わないエージェント:
markdown
---
name: planning-agent
description: 実装計画を立案するエージェント
tools:
- Read
- Glob
- Grep
- Task(Plan)
- Task(Explore)
---
このエージェントは、計画立案のためにPlanとExploreエージェントのみを使用し、
実装や変更は行いません。開発用フルアクセスエージェント
開発作業に必要なすべてのサブエージェントへのアクセスを許可:
markdown
---
name: full-dev-agent
description: すべての開発機能を使用できるエージェント
tools:
- Read
- Write
- Edit
- Bash
- Task(Bash)
- Task(Explore)
- Task(Plan)
- Task(general-purpose)
---
このエージェントは、開発に必要なすべてのサブエージェントを起動できます。テスト実行専用エージェント
テスト実行とレポート作成に特化したエージェント:
markdown
---
name: test-runner
description: テスト実行専用エージェント
tools:
- Read
- Task(Bash)
- Write
---
このエージェントは、テスト実行(Bash経由)と
結果の読み取り・レポート作成のみが可能です。CI/CD統合エージェント
継続的インテグレーション/デプロイメント作業に制限されたエージェント:
markdown
---
name: ci-cd-agent
description: CI/CDパイプライン用エージェント
tools:
- Read
- Bash
- Task(Bash)
- Grep
- Glob
---
このエージェントは、CI/CDスクリプトの実行とログ解析に特化しています。
ファイルの変更は行いません。注意点
Task(agent_type)構文を使用しない場合、デフォルトではすべてのサブエージェントの起動が許可されます- 利用可能なサブエージェントタイプには、
Bash、Explore、Plan、general-purposeなどがあります - 制限されたエージェントが許可されていないサブエージェントを起動しようとすると、エラーが発生します
- frontmatterの"tools"セクションには、通常のツール(Read、Write など)とサブエージェント(Task(agent_type))の両方を混在して記述できます
- セキュリティが重要な環境では、最小権限の原則に従い、必要最小限のツールとサブエージェントのみを許可することを推奨します
- カスタムエージェントの作成方法については、Claude Agent SDKのドキュメントを参照してください