Skip to content

原文(日本語)

エージェントの"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) 構文を使用しない場合、デフォルトではすべてのサブエージェントの起動が許可されます
  • 利用可能なサブエージェントタイプには、BashExplorePlangeneral-purpose などがあります
  • 制限されたエージェントが許可されていないサブエージェントを起動しようとすると、エラーが発生します
  • frontmatterの"tools"セクションには、通常のツール(Read、Write など)とサブエージェント(Task(agent_type))の両方を混在して記述できます
  • セキュリティが重要な環境では、最小権限の原則に従い、必要最小限のツールとサブエージェントのみを許可することを推奨します
  • カスタムエージェントの作成方法については、Claude Agent SDKのドキュメントを参照してください

関連情報