Claude Codeのcommandsとsubagent
これはなに?
Claude Codeを色々触ってて commands と subagent の挙動とか設定とかで気になったことのメモ
2025/8/10 頃の記録を元にしたもの
最新情報とかは本家のページを参照 https://docs.anthropic.com/ja/docs/claude-code/overview
超サマリー
commands
/hogehoge で実行出来るコマンド
.claude/commands に記述するmdファイル
手作りが基本
メインのコンテキスト消費 有り
並列実行 不可
tool制約 メインのtool制約を継承
model選択 メインのモデルを継承
色選択 無し
subagent
@hogehoge で実行出来るエージェント
.claude/agents に記述するmdファイル
/agents で作成支援あり
メインのコンテキスト消費 無し
並列実行 可
tool制約 独自のtool制約
model選択 独自のmodelを設定可(haikuも選べる)
色選択 あり
ここに @task を加える
Claude Codeであまり話題になってないタスク実行
@task とは、何かをメインのコンテキストを消費せずに(場合によっては複数)を実行可能な方法
agentの一種っぽい挙動をしつつ、アドホックにsubagentっぽい挙動を起こせる
@task でテストケースを実行して
こんな感じで書くと、テストケースの実行結果などがメインのコンテキストの消費なく実行して結果をメインのコンテキスト側で把握できる。commandも同じように @task で実行可能
個人的使い分け
2025/8/10頃の判断です。3ヶ月すると変わってる可能性があるので注意してください
commands 人が直接指示するものは commands に纏めておく。
subagent はcommand内だけの利用やClaude Codeの判断で実行する為の物にする。ただしmodelを積極的に切り替えたい理由があればこっち一択
@task はアドホックな実行とかcommand内でメインのコンテキスト消費を抑える為に積極的に利用する
commnads 内で @task で /commands を実行して とかを使っても人が呼び出すなら積極的な subagent 化はしない感じですね
Discussion