「このサブエージェント、どこまで渡しておけばいいんでしょうか」。手元でAIエージェントを分けて動かし始めた人から、よく出てくる質問です。

広く渡せば止まらない。狭く渡せば事故らない。その両方が頭にあるので、どちらにも振り切れないまま、既定のまま動かしている。そういう状態でこの記事にたどり着いた方も多いはずです。

この記事は、権限を「広い・狭い」という1本の物差しで測るのをやめるところから始めます。渡しているものは、指示・権限・参照範囲の3つに分かれています。根拠はClaude Codeの公式ドキュメントと、Anthropicの公式エンジニアリングブログです。

こんなふうに調べていませんか

  • サブエージェントのtoolsに何を並べるか、毎回その場で決めている
  • 権限を絞ったつもりなのに、想定していない動きがなくならない

この記事を読み終えたときに手に入るもの

  • 指示・権限・参照範囲を、別々の軸として切り分けられるようになります
  • 絞りすぎと広げすぎの合図を、軸ごとに読み分けられるようになります
  • 最小構成から広げる手順を、着手のたびに同じ形で回せるようになります

結論30秒でわかる、この記事の結論

  • サブエージェントの権限設計は、指示・権限・参照範囲という3つの軸を、業務ごとに別々に絞る作業です。
  • 1つの軸を絞っても、残りの2つは自動では狭まりません。渡しすぎと絞りすぎは、軸ごとに違う症状で出ます。
  • 絞り方は最小構成から始め、実際に手が止まった軸だけを1段階ずつ広げます。
渡しているものを、分けて数え直します3つそろって、はじめて線が引けます渡しているものを、分けて数え直します軸1指示任せる裁量の広さ軸2権限手を出せる操作の数軸3参照範囲目に入る情報の量鈴木さん3つそろって、はじめて線が引けます
渡しているものを、分けて数え直します — 3つそろって、はじめて線が引けます

進行役は3人です。若葉さんが用語のそもそもを聞き、高梨課長が自分の手で動かす立場から聞き、鈴木さん(本誌監修)が答えます。

01サブエージェントの権限設計とは、結局どこを絞る話なんですか?

若葉さん
若葉さんの発言

権限を絞る、という言い方はよく聞くんですが、何を絞っているのかが分かりません。設定を1か所きつくすれば済む話ではないんですか。

鈴木さん
鈴木さんの発言

外注先に仕事をお願いする場面を思い浮かべてみてください。渡すものは3つありますよね。依頼書と、貸す道具と、入ってよい部屋。どれか1つを厳しくしても、残りは開いたままなんです。

渡しているものは、指示・権限・参照範囲の3つです。指示は「どこまで自分で決めていいか」を、権限は「何をしてよいか」を、参照範囲は「何を見てよいか」を決めます。

外注先に仕事をお願いする場面と、同じ形です渡しているものを分けて数えると、3つあります外注先に仕事をお願いする場面と、同じ形です渡しているものを分けて数えると、3つあります外注でいうとサブエージェントでいうと何をどこまでやるかを書いた依頼書指示作業のために貸し出す道具ツールの権限入ってよい部屋と、鍵を渡さない部屋参照範囲依頼書を厳しくしても、道具と部屋はそのままです。
外注先に仕事をお願いする場面と、同じ形です — 渡しているものを分けて数えると、3つあります

この3つを分けずに広い・狭いだけで決めると、渡しすぎた軸で想定外の動作が起き、絞りすぎた軸で手戻りが増えます。しかも症状は同時に出ます。稼働中のサブエージェントの中に、絞りすぎて使われないまま残っている機能と、広げすぎて誰も気づいていない権限が、同居していることがあります。

軸を分けないままだと、点検の手段が「動いているかどうか」しか残りません。動いているサブエージェントは、絞りすぎていても広げすぎていても、そのまま動き続けます

Anthropicは、ワークフローとエージェントを設計上分けています(出典: Anthropic公式)。あらかじめ決めた手順でLLMと道具を動かすのが前者、進め方をLLM自身が決めるのが後者です。同じ資料は、まず単純な構成から始め、必要になったときだけ複雑さを足すべきだとも述べています(出典: Anthropic公式)。3つの軸を絞る作業は、この単純さをどこまで保つかを軸ごとに選ぶ作業にあたります。

何体に分け、判断役と実行役をどう置くかという設計思想は『サブエージェント設計|委譲の線引きと3つの失敗』が扱います。この記事は、分けたあとの1体に何をどこまで渡すかだけを見ます。

この章のまとめ

絞る場所は1か所ではありません。指示・権限・参照範囲という入口が、それぞれ別に開いています。

02指示は、サブエージェントにどこまで書いて渡せばいいんですか?

高梨課長
高梨課長の発言

指示文は細かく書くほど安全だと思っていました。手順を最後まで書いておけば、変なことはしないはずですよね。

鈴木さん
鈴木さんの発言

手順を全部書き切ると、裁量はゼロになります。ただ、そのぶん想定から外れた瞬間に止まります。書き手が分岐を思いつけなかったところが、そのまま行き止まりになるんです。

指示の絞り方は、手順を何段まで書くかという1点に集約されます。全段書けば裁量はゼロ、目的だけを渡せば裁量は最大です。

指示の絞り方起きやすい症状典型的な原因
絞りすぎ(手順を全段固定)現実が手順から外れた時点で停止するか、的外れな結果を返す分岐が要る仕事に、分岐のない指示文を当てた
広すぎ(目的だけで境界なし)担当範囲を自分で決めた結果、隣の担当と同じ作業を重ねる「境界」を渡さず「目的」だけを渡した
絞り込み済み目的とやってはいけない範囲が、それぞれ1文ある目的と禁止事項をセットで渡している

Anthropicは、タスクを固定の手順に分解できる場合はワークフローが向くと整理しています(出典: Anthropic公式)。分解できない複雑な調査やコーディングでは、中央のLLMがそのつど分担を決めるオーケストレーター・ワーカー構成が向くとも述べています。指示を絞りすぎる典型は、後者に向く仕事へ前者の書き方を当ててしまうことです。

書き足すほど強くなる、とはかぎりません段数を増やすか、境界を書くか書き足すほど強くなる、とはかぎりません段数を増やすか、境界を書くか手順を全段まで書く想定した道すじの上でしか進めない書き手が思いつけなかった分岐で行き止まる渡し直しがもう一往復ぶん増える目的と、やらないことを1文ずつ途中の道すじは相手が選ぶ外れた状況でも進み方を組み直せる隣の担当と作業が重なりにくい
書き足すほど強くなる、とはかぎりません — 段数を増やすか、境界を書くか

絞りすぎた指示は、分岐を人が想像しきれなかったところで壊れます。「設定ファイルAを直して報告して」という指示は、Aが2つの階層に分かれていて優先順位を持つ場合、その判断を代行できていません。サブエージェントは指示どおりに動いても、意図と違う階層を直して返します。書き直しは1回では終わらず、階層構造を説明した指示文を渡し直す2回目のやり取りが発生します。

広すぎる指示との境界線は、「やってよい範囲」と「やってはいけない範囲」を1文ずつ書けているかどうかです。この2文があれば、途中の手順を渡さなくても、状況に応じて手順を選べます。委譲プロンプトそのものの型は、ゴール・スコープ・入力・出力形式・制約・返し方の6項目に整理できます。ここで扱うのは、そのうち「どれだけ具体的に書くか」という程度だけです。

境界を渡さない指示には、もう1つの副作用があります。同じ目的のサブエージェントを並行させたとき、境界がなければ、それぞれが同じ調査や同じ下書きを重ねる確率が上がります。単体では起きない重複が、並列に切り替えた瞬間に表面化します

03サブエージェントのtoolsは、どこから広げていくんですか?

権限の絞り方は、toolsフィールドに何を並べるかで決まります。Claude Codeの公式ドキュメントは、このフィールドを省略すると利用可能な全ツールを継承すると明記しています(出典: Claude Code公式ドキュメント)。書かないことは、絞ったことになりません。既定はいちばん広い状態です。

---
name: read-only-checker
description: 指定されたファイルを読み、条件に合うかどうかだけを判定して返す。書き込みはしない
tools: Read, Grep, Glob
---

WriteEditBashを一覧に含めなければ、このサブエージェントは書き込みも任意コマンドの実行も構造的にできません。Claude Codeの組み込みサブエージェント「Explore」も同じ設計です。公式ドキュメントは、Exploreのツールが読み取り専用で、WriteEditが拒否されると明記しています(出典: Claude Code公式ドキュメント)。

本数が増えると、承認の要否まで変わりますできることが増えるほど、人が止まる場面も増えます本数が増えると、承認の要否まで変わりますできることが増えるほど、人が止まる場面も増えます1読むだけ|3本既定では承認なしに動く段2Webを見る|5本取得先をドメインで許可する段3書き込む|7本ファイル編集に承認が要る段4実行する|8本以上コマンド実行にも承認が要る段
本数が増えると、承認の要否まで変わります — できることが増えるほど、人が止まる場面も増えます

広げる基準は、本数を先に決めることではありません。読み取り専用のまま最後まで完了できるかを、先に1回試すことです。完了できなければ、足りなかった1つだけを足して再実行します。まとめて広げると、どのツールが本当に必要だったのかが分からなくなります。

絞りすぎたときの症状は、広げすぎたときと対称です。読み取り専用のサブエージェントに「ファイルを直しておいて」と頼むと、修正案を言葉で説明するところまでしか進みません。ディレクター役が権限不足に気づき、Editを足した別のサブエージェントへ渡し直す2手目が発生します。これも手戻りの一種です。

逆に広げすぎた場合は、想定していない書き込みや実行がそのまま通ります。自社でこの事故が起きた経緯は『AIエージェントの権限設計|絞らなかった空白と4段の戻し方』にまとめました。この記事が扱うのは、その再発防止に要る絞る側の目安の作り方です。

この章のまとめ

既定は全継承です。toolsを書かないことは、狭めたことにはなりません。

04参照範囲は、サブエージェントに何をどこまで見せる話ですか?

高梨課長
高梨課長の発言

権限を読み取り専用にしたので、安全側に倒したつもりでいます。あとは見せる範囲まで気にしなくていいですよね。

鈴木さん
鈴木さんの発言

そこが分かれ目です。読むだけでも、見えてはいけないものが見えていれば境界は越えています。道具を貸さないことと、部屋の鍵を渡さないことは別なんです。

参照範囲は、サブエージェントが読んでよい情報の広さです。ツールの権限が何をしてよいかを決めるのに対して、参照範囲は何を見てよいかを決めます。書き込み権限をゼロにしても、参照範囲が広いままなら、読み取りだけで起きる問題は残ります。

Claude Codeの権限ルールは、ツール名だけでなく、対象を絞り込む書き方(specifier)を持ちます。公式ドキュメントは、パスを指定するRead(./.env)のような書き方を例示しています(出典: Claude Code公式ドキュメント)。ドメインを指定するWebFetch(domain:example.com)も、同じ仕組みの一部です。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./confidential/**)"
    ],
    "allow": [
      "WebFetch(domain:code.claude.com)"
    ]
  }
}

読み取り専用のツールは、既定では承認なしに動きます(出典: Claude Code公式ドキュメント)。対象は作業ディレクトリとadditionalDirectoriesに指定した範囲です。参照範囲を絞る一次的な手段は、toolsの取捨選択ではなく、どのディレクトリをその範囲に含めるかという設計になります。

見せる範囲は、下の段から閉じます上の段だけ書いても、土台が開いていれば効きません見せる範囲は、下の段から閉じます上の段だけ書いても、土台が開いていれば効きません上段|外へ取りにいく先を1件ずつ許す許した相手だけが取得先になる中段|見せたくないパスを名指しで閉じる同じパスへの書き込みも一緒に閉じる土台|作業する場所そのものを狭くする追加のディレクトリは、まず空のまま試す
見せる範囲は、下の段から閉じます — 上の段だけ書いても、土台が開いていれば効きません
絞り方対象書き方の例
ディレクトリ単位作業ディレクトリ・追加ディレクトリadditionalDirectoriesに読ませてよい範囲だけを列挙する
パス単位個別ファイル・特定フォルダ配下Read(./.env)のようなdenyで機密ファイルだけ除外する
ドメイン単位Web参照先WebFetch(domain:example.com)で取得先を1件ずつ許可する

05参照範囲を狭めると、サブエージェントの何が一緒に変わるんですか?

Readのdenyルールには副次効果があります。公式ドキュメントは、同じパスに対するEditも道連れにブロックすると明記しています(出典: Claude Code公式ドキュメント)。参照範囲を絞ると、そのパスへの書き込みリスクの一部も一緒に閉じます。2つの軸が実装レベルで重なる場面です。機密をそもそも読ませない境界の作り方は『AIエージェントに機密情報を渡さない|3段階の分離と検査』のフォルダ構成が具体例になります。

読ませた量は、そのまま請求書に出ますAnthropicの計測より(出典は本文の記載を参照)読ませた量は、そのまま請求書に出ますAnthropicの計測より(出典は本文の記載を参照)ふつうの対話基準複数体で動かす構成約15倍見せる範囲を狭めるほど、読み込む量も下がります。
読ませた量は、そのまま請求書に出ます — Anthropicの計測より(出典は本文の記載を参照)

広げすぎた参照範囲は、コストにも出ます。Anthropicの計測では、マルチエージェント構成は通常のチャット対話に比べて約15倍のトークンを消費します(出典: Anthropic公式)。参照範囲を絞るほど読み込む情報量は減り、消費するトークンもそれに応じて減ります。

絞りすぎると、今度は裏取りができないまま結論を書くことになります。検証環境の記述は、公式ドキュメントのURLだけを渡しても書けません。自社の設定ファイルを実際に読ませて、両者が一致しているかまで確かめる必要があります。参照先を1件しか渡さなければ突合そのものが実行できず、後段で食い違いが見つかり、参照先を追加して書き直す2回目の作業が発生します。

063つの軸は、サブエージェントの権限設計でどう並べるんですか?

軸を毎回ゼロから考え直さないために、着手時の順番を固定します。指示を書けるか確かめ、ツールは読み取りだけで始め、参照範囲は作業ディレクトリに閉じ、止まったところだけを1段階動かす。この並びです。

毎回この並びで通すと、迷う場面が減ります狭いところから、1段ずつ動かします毎回この並びで通すと、迷う場面が減ります狭いところから、1段ずつ動かします1目的と禁止を、それぞれ1文で言い切れるか確かめる言い切れないうちは、まだ広い状態です2読み取りだけの構成で、まず1回動かす書き込みも実行も外したまま通します3見せる場所を、作業している場所だけに閉じる届かない情報が出たときにだけ足します4止まった軸を1つ選び、そこだけ1段動かす広げた理由を、あとから言葉にできます
毎回この並びで通すと、迷う場面が減ります — 狭いところから、1段ずつ動かします

順番には理由があります。指示が広いままだと、止まった原因が権限なのか参照範囲なのかを切り分けられません。権限より先に参照範囲を広げると、読めるようになったから動いたのか、もともと権限の側で止まっていたのかが分からなくなります。狭いところから1つずつ動かすと、広げた理由をあとから説明できる状態が残ります

最初から広い構成で始めると、どの権限が必要で、どの権限が余っていたのかが分からないまま運用が固定されます。Anthropicは、複雑さは実際に必要になってから足すべきだと述べています(出典: Anthropic公式)。権限の絞り方も、同じ原則に従います。

07絞りすぎか広げすぎかは、サブエージェントの様子から見分けられますか?

若葉さん
若葉さんの発言

動いてはいるけれど、これが正しい広さなのかが分かりません。何を見れば気づけるんでしょう。

鈴木さん
鈴木さんの発言

返ってくるものが変わります。絞りすぎているときは手戻りの形で、広げすぎているときは事故の形で出ます。同じ「うまくいっていない」でも、顔つきが違うんです。

絞りすぎも広げすぎも、止まらずに動いているあいだは見えません。判定は、軸ごとの兆候を確かめて行います。

絞りすぎのサイン広げすぎのサイン
指示同じ依頼を2回に分けて渡し直すことが増える担当範囲が毎回変わり、他の担当と作業が重なる
権限(ツール)「〜してください」という提案止まりの返答が増える指示していない書き込みや実行が結果に混ざる
参照範囲結論の根拠にその旨の注記が増える関係のない情報まで踏まえた、的外れな結論が増える
合図に気づいたあと、手を動かす順番3つを同時に疑うと、原因が分からなくなります合図に気づいたあと、手を動かす順番3つを同時に疑うと、原因が分からなくなります1合図に気づく手戻りか、事故か2軸を1つに決める表と照らして当てはめる3その軸だけ動かす動かす量は1段ぶん4同じ仕事を通す変わったかどうかを見る
合図に気づいたあと、手を動かす順番 — 3つを同時に疑うと、原因が分からなくなります

3つの軸を同時に疑わないことが、判定を早くする方法です。症状が指示に出ているのに権限を広げても直りません。表と照らしてどの軸の症状かを先に決め、その軸だけを1段階動かします。

この章のまとめ

うまくいかない状態を、ひとかたまりで見ないでください。合図の形が、動かすべき軸を指しています。

08サブエージェントに権限を渡すとき、AI導入の現場ではどこでつまずくんですか?

高梨課長
高梨課長の発言

動作確認のときだけBashを足したんですが、そのままにしてあります。動いているので、困ってはいません。

鈴木さん
鈴木さんの発言

困るのは次に呼ぶ人です。なぜそこにBashがあるのかを説明できる人が、もういない状態になります。

つまずきは3つに整理できます。

1つ目は、権限だけを絞って安心することです。toolsを読み取り専用にしても、渡した参照範囲に機密が含まれていれば、読み取っただけで境界を越えます。3軸は独立しているので、1軸を絞った達成感が、残り2軸の点検を止めさせます。

片方だけでは、境界になりません道具を貸さないことと、部屋を開けないことは別です片方だけでは、境界になりません道具を貸さないことと、部屋を開けないことは別ですできることを絞った見えるものを絞った書き込みを外した/実行を外した機密の置き場を外した/取りにいく先を限ったはじめて境界はじめて境界 : 越えようがないできることだけを絞っても、見えていれば読まれます。
片方だけでは、境界になりません — 道具を貸さないことと、部屋を開けないことは別です

2つ目は、広げた権限を元に戻さないことです。動作確認のために一時的にBashを足し、確認後も一覧をそのままにする運用があります。次に呼ぶ人にとっては、理由の分からない権限がそこに残ります。

3つ目は、指示文の追加だけで境界を作った気になることです。Claude Codeの公式ドキュメントは1点を明記しています。権限ルールを強制するのはClaude Code自身であり、モデルではないという点です(出典: Claude Code公式ドキュメント)。指示文に「読むだけにしてください」と書いても、toolsにツールが残っていれば、その操作自体は実行できます。指示文は振る舞いを導くだけで、境界そのものにはなりません。

09担当業務が変わったサブエージェントは、AI社員の権限をどう見直すんですか?

判定は初回の設計時だけでは足りません。担当業務が変わるたびに行います。業務が変わってもtoolsや参照範囲を使い回すと、前の業務向けに広げた権限がそのまま残ります。次の担当業務でその広さが要らなくても、絞り直さない限り自然には狭まりません。

担当が変わった日に、設定は動きましたか説明文だけ書き換えると、広さは前のまま残ります担当が変わった日に、設定は動きましたか説明文だけ書き換えると、広さは前のまま残ります前の設定を持ち越した説明文だけ新しい仕事に合わせた前の仕事のために足した分が残る残った理由を言える人がいない放っておくと広い側へ寄っていきますその場で絞り直した名前と説明文と一緒に見直す確認のために足した分を戻すいま要る広さだけが残る狭める側に、きっかけを決めておきます
担当が変わった日に、設定は動きましたか — 説明文だけ書き換えると、広さは前のまま残ります

見直しの入口は、担当業務の変更そのものです。名前と説明文を書き換えるときに、toolsの一覧と参照範囲も同じ場で見直します。説明文だけを新しい業務に合わせると、渡している権限は前の業務のまま残ります。

もう1つの入口は、動作確認のあとです。確認のために足した権限は、確認が終わった時点で戻します。戻す作業を後回しにすると、次に見た人には、最初からその広さだったように見えます

この章のまとめ

権限は、放っておくと広い側へ寄っていきます。狭める作業のほうに、きっかけを決めておきます。

10サブエージェントの権限設計は、着手前に何を確かめるんですか?

見直すきっかけは、先に決めておきます終わったら1回、では足りません見直すきっかけは、先に決めておきます終わったら1回、では足りません新しく作るとき3つの軸を、いちばん狭い形から組む担当の仕事を変えたとき説明文だけでなく、渡す中身も見る並べて動かし始めたとき境界がないと、作業が重なり始める確認のために足したとき戻すところまでが、確認の作業です上:組み直すとき / 下:そのまま使い続けるとき左:動かす前 / 右:動かしたあと
見直すきっかけは、先に決めておきます — 終わったら1回、では足りません

着手前と運用中に、同じ項目を通します。設計が終わった時点で1回だけ通すものではありません。担当業務を変えたとき、動作確認で権限を足したとき、並列で動かし始めたときに、もう一度同じ項目を通します。

  • 指示に、目的とやってはいけない範囲をそれぞれ1文で書いたか
  • toolsを読み取り専用から始め、書き込み・実行系を省いた状態で1回試したか
  • 参照範囲を作業ディレクトリとadditionalDirectoriesの範囲で先に試したか
  • 機密を含むパスをReadのdenyルールで明示的に除外したか
  • 止まった軸だけを1段階広げ、他の軸を同時に広げていないか
  • 動作確認のために広げた権限を、確認後に元へ戻したか
  • 指示文の追加を、toolsdisallowedToolsによる境界の代わりにしていないか
  • 絞りすぎ・広げすぎのサインを、軸ごとの表と照らして定期的に見直しているか

11よくある質問

サブエージェントに渡す権限は、最初から広めに設定してはいけませんか

読み取り専用から始めることをすすめます。広めに始めても動きはしますが、どの権限が本当に必要だったのかが分からないまま運用が固定されます。止まった箇所だけを広げるほうが、あとから見直しやすくなります。

指示を細かく書きすぎると、何が起きますか

現実が手順から外れたとき、その場で停止するか、的外れな結果を返す確率が上がります。手順を固定できる仕事にはこの書き方が向きますが、分岐が要る仕事には、目的と禁止事項の2文で渡すほうが安定します。

参照範囲は、フォルダを丸ごと渡すのと個別ファイルを指定するのはどちらが安全ですか

個別ファイルやパターンを指定するほうが安全です。フォルダを丸ごと渡すと、あとから追加されたファイルまで自動的に参照範囲へ入ります。機密パスをReadのdenyルールで個別に除外しておくと、フォルダの中身が増えても境界は動きません。

権限を絞りすぎて動かなくなったら、まず何を疑えばいいですか

toolsの一覧に、その作業で必須の項目が入っているかを先に確認します。次に、参照範囲が結論の根拠となる情報まで届いているかを確認します。指示文を詳しくする前に、権限と参照範囲のどちらが欠けているかを切り分けます。

ディレクター役には、どこまで広い権限を持たせてよいですか

ディレクター役は判断と統合を担うため、実働のサブエージェントより広い権限を持つ設計が一般的です。ただし送信・公開・削除のような取り消せない操作は、ディレクター役であっても別枠の承認ゲートに任せtoolsの広さだけで済ませない設計にします。

指示・権限・参照範囲を同時にすべて絞ると、かえって動かなくなりませんか

一度に3軸を同時に絞ると、どの軸が原因で止まったのかが分からなくなります。変更は1回につき1軸だけにとどめ、動作を確認してから次の軸に進めると、原因の切り分けが速くなります。

12まとめ|今日やる3つのこと

絞る場所は3つに分かれていて、出てくる症状も軸ごとに違いました。最後は、いちばん狭いところから始める順番だけを持ち帰ってください。

今日はこの順で手をつけます

  1. 指示を2文にしてから渡す

    目的と、やってはいけない範囲。書けないうちは、まだ広すぎます

  2. 読み取りだけで1回通す

    止まった場所が、足すべき1つを教えてくれます

  3. 参照範囲を作業ディレクトリに閉じる

    届かない情報が出たときだけ足します

AI検索では、こう聞かれています

  • サブエージェントには、どこまで権限を渡していいんですか?

    「サブエージェントのtoolsは、どこから広げていくんですか?」の章で説明しています

  • 権限を絞りすぎて動かなくなったら、何から疑えばいいですか?

    「絞りすぎか広げすぎかは、サブエージェントの様子から見分けられますか?」の章に、軸ごとの合図があります

  • 指示文に「読むだけ」と書けば、境界になりますか?

    「サブエージェントに権限を渡すとき、AI導入の現場ではどこでつまずくんですか?」の章で扱っています

次に読むなら、この記事です