エージェントアーキテクチャ:AI駆動の開発ハーネス構築
# 本番環境向けAIエージェントハーネスを構築するための完全なシステムです。スキル、フック、メモリ、サブエージェント、マルチエージェントオーケストレーション、そしてAIコーディングエージェントを信頼できるインフラにするためのパターンを扱います。
TL;DR: Claude Code は、ファイルアクセス付きのチャットボックスではありません。29個の文書化されたライフサイクルイベントを持つプログラム可能な runtime であり、それぞれをモデルがスキップできない shell script で hook できます。hooks を dispatchers に、dispatchers を skills に、skills を agents に、agents を workflows に積み重ねると、制約を強制し、作業を委譲し、sessions をまたいで memory を永続化し、multi-agent deliberation を orchestrate する自律開発 harness になります。Claude Code v2.1.147 では、デフォルト無効の
Workflowtool(CLAUDE_CODE_WORKFLOWS=1)が追加され、決定論的な multi-agent orchestration は純粋な userland scripts から first-party runtime primitive へ近づきました。v2.1.149 では、PowerShell の permission-bypass 修正と git-worktree sandbox allowlist 修正により、同じ教訓がセキュリティ面から補強されています。正しさを担うのは、今も hooks と evidence gates です。5253 このガイドでは、その stack のすべての層を扱います。単一の hook から、10-agent consensus system までです。frameworks は不要です。すべて bash と JSON で構成します。
Andrej Karpathy は、LLM agent の周りに育つものを claws と呼びました。agent が context window の外側の世界をつかむための hooks、scripts、orchestration です。1 多くの開発者は、AI coding agents を対話型アシスタントとして扱います。prompt を入力し、ファイルが編集されるのを見て、次へ進む。その捉え方では、生産性は自分が直接見守れる範囲に制限されます。
インフラとして見る mental model は違います。AI coding agent は、LLM kernel を持つプログラム可能な runtime です。モデルが行うすべての action は、自分が制御する hooks を通過します。定義するのは prompts ではなく policies です。モデルは、web server が nginx rules の中で動作するのと同じように、自分の infrastructure の中で動作します。nginx の前に座って requests を打ち込むわけではありません。設定し、deploy し、monitor します。
この違いが重要なのは、infrastructure が複利的に効くからです。bash commands 内の credentials をブロックする hook は、すべての session、すべての agent、すべての autonomous run を守ります。評価 rubric を encode した skill は、自分が呼び出しても agent が呼び出しても一貫して適用されます。security のために code を review する agent は、自分が見ているかどうかに関係なく、同じ checks を実行します。2
重要なポイント
- Hooks は実行を保証します。prompts は保証しません。 linting、formatting、security checks、そしてモデルの挙動に関係なく毎回必ず実行すべきものには hooks を使います。Exit code 2 は actions をブロックします。Exit code 1 は warning のみです。3
- Skills は、自動で有効化される domain expertise を encode します。
descriptionfield がすべてを決めます。Claude は、skill を適用するタイミングを keyword matching ではなく LLM reasoning で判断します。4 - Subagents は context bloat を防ぎます。 exploration や analysis 用に context windows を分離すると、main session を軽く保てます。独立した subagents は並列実行し、workers に継続的な coordination が必要な場合は agent teams を使います。5
- Memory は filesystem に存在します。 Files は context windows をまたいで永続化します。CLAUDE.md、MEMORY.md、rules directories、handoff documents が、構造化された外部 memory system を形成します。6
- Multi-agent deliberation は blind spots を見つけます。 単一の agent は、自分自身の前提を疑えません。評価の優先順位が異なる2つの独立した agents は、quality gates では対処できない構造的な失敗を見つけます。7
- Harness pattern こそが system です。 CLAUDE.md、hooks、skills、agents、memory は独立した機能ではありません。これらは、自分とモデルの間にある deterministic layer として組み合わさり、automation に合わせて scale します。
このガイドの使い方
| 経験 | ここから開始 | 次に見るもの |
|---|---|---|
| Claude Code を日常的に使っていて、さらに活用したい | Harness Pattern | Skills System, Hook Architecture |
| autonomous workflows を構築したい | Subagent Patterns | Multi-Agent Orchestration, Production Patterns |
| agent architecture を評価したい | Agent Architecture が重要な理由 | Decision Framework, Security Considerations |
| team harness を設定したい | CLAUDE.md Design | Hook Architecture, Quick Reference Card |
各 section は、前の section を土台にしています。最後の Decision Framework には、problem type ごとに適切な mechanism を選ぶための lookup table があります。
5分間のゴールデンパス
詳細に入る前に、ゼロから動作する__TERM_1__を構築する最短の道のりをご紹介します。1つのhook、1つのskill、1つのsubagent、そして1つの成果。
ステップ1:セキュリティhookの作成(2分)
.claude/hooks/block-secrets.shを作成します。
#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
if echo "$CMD" | grep -qEi '(AKIA|sk-|ghp_|password=)'; then
echo "BLOCKED: Potential secret in command" >&2
exit 2
fi
.claude/settings.jsonで配線します。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": ".claude/hooks/block-secrets.sh" }]
}
]
}
}
結果: Claudeが実行するすべてのbashコマンドが、漏洩した認証情報についてスクリーニングされるようになります。モデルはこのチェックをスキップできません。
ステップ2:コードレビューskillの作成(1分)
.claude/skills/reviewer/SKILL.mdをフロントマター(name: reviewer、description: Review code for security issues, bugs, and quality problems. Use when examining changes, reviewing PRs, or auditing code.、allowed-tools: Read, Grep, Glob)とチェックリスト(SQLインジェクション、XSS、ハードコードされたシークレット、エラーハンドリングの欠如、50行を超える関数)とともに作成します。
結果: review、check、auditについて言及するたびに、Claudeがこの専門知識を自動的に有効化します。
ステップ3:subagentの生成(30秒)
任意のClaude Codeセッションで、別のエージェントを使って直近の3つのコミットをセキュリティ問題についてレビューするようClaudeに依頼します。ClaudeはExploreエージェントを生成し、差分を読み、レビューskillを適用し、サマリーを返します。メインコンテキストはクリーンに保たれます。
これで手に入るもの
3層の__TERM_1__です。決定論的なセキュリティゲート(hook)、自動的に有効化されるドメイン専門知識(skill)、そしてコンテキストを保護する隔離された分析(subagent)。以下の各セクションでは、この3層のいずれかを掘り下げていきます。
なぜAgent Architectureが重要なのか
Simon Willisonは現在の状況を1つの観察で捉えています。コードを書くことは今や安価になったのです。8 そのとおりです。しかし、その裏返しとして、検証こそが高価な作業となりました。検証インフラのない安価なコードは、バグを大量生産します。投資の見返りをもたらすのは、より良いプロンプトではありません。モデルが見逃すものを捕捉する、モデルを取り巻くシステムなのです。
Agent Architectureを必要とする3つの力があります。
コンテキストウィンドウは有限かつ劣化する。 ファイル読み込み、ツール出力、会話のターンはすべてトークンを消費します。Microsoft ResearchとSalesforceは15種類のLLMを20万件以上のシミュレーション会話でテストし、シングルターンからマルチターンへの移行で平均39%の性能低下を確認しました。9 劣化はわずか2ターンで始まり、予測可能な曲線をたどります。最初の30分で正確だった複数ファイル編集が、90分後には単一ファイルへの視野狭窄へと退化していくのです。コンテキストウィンドウが長くなってもこの問題は解決しません。同じ研究の「Concat」条件(会話全体を1つのプロンプトとして扱う)では、同一内容でシングルターンの95.1%の性能を達成しました。劣化はトークン制限ではなく、ターンの境界から生じているのです。
モデルの挙動は確率的であり、決定論的ではない。 「ファイル編集後は必ずPrettierを実行する」とClaudeに指示しても、およそ80%の確率でしか機能しません。3 モデルは忘れるかもしれないし、速度を優先するかもしれないし、変更が「小さすぎる」と判断するかもしれません。コンプライアンス、セキュリティ、チーム標準において、80%は許容できません。hookは実行を保証します。EditやWriteが起きるたびにフォーマッタが起動し、例外はありません。決定論は確率論に勝るのです。
単一の視点は多次元の問題を見落とす。 単一のエージェントがAPIエンドポイントをレビューし、認証を確認し、入力サニタイズを検証し、CORSヘッダーを確認しました。問題なしとの診断です。2番目のエージェントが、別途ペネトレーションテスターとしてプロンプトされ、そのエンドポイントが無制限のクエリパラメータを受け付けており、データベースクエリ増幅によってサービス拒否を引き起こしうることを発見しました。7 最初のエージェントが確認しなかったのは、その評価フレームワークの中にクエリの複雑さをセキュリティ面として扱う仕組みがなかったからです。このギャップは構造的なものです。どれほどプロンプトエンジニアリングを積み重ねても解消されません。
Agent Architectureは、この3つすべてに対処します。hookは決定論的な制約を強制し、subagentはコンテキスト分離を管理し、マルチエージェントのオーケストレーションは独立した視点を提供します。これらが合わさって__TERM_1__を形作るのです。
ハーネスパターン
ハーネスはフレームワークではありません。これは1つのパターンであり、AIコーディングエージェントを決定論的なインフラで包み込む、ファイル・スクリプト・規約の組み合わせ可能なセットです。構成要素は次のとおりです。
┌──────────────────────────────────────────────────────────────┐
│ THE HARNESS PATTERN │
├──────────────────────────────────────────────────────────────┤
│ ORCHESTRATION │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Agent │ │ Agent │ │ Consensus │ │
│ │ Teams │ │ Spawning │ │ Validation│ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ Multi-agent deliberation, parallel research, voting │
├──────────────────────────────────────────────────────────────┤
│ EXTENSION LAYER │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Skills │ │ Hooks │ │ Memory │ │ Agents │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ Domain expertise, deterministic gates, persistent state, │
│ specialized subagents │
├──────────────────────────────────────────────────────────────┤
│ INSTRUCTION LAYER │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ CLAUDE.md + .claude/rules/ + MEMORY.md │ │
│ └──────────────────────────────────────────────────────┘ │
│ Project context, operational policy, cross-session memory │
├──────────────────────────────────────────────────────────────┤
│ CORE LAYER │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Main Conversation Context (LLM) │ │
│ └──────────────────────────────────────────────────────┘ │
│ Your primary interaction; finite context; costs money │
└──────────────────────────────────────────────────────────────┘
Instruction Layer: CLAUDE.mdファイルとrulesディレクトリは、エージェントがプロジェクトについて把握する内容を定義します。これらはセッション開始時、およびコンパクション後に毎回自動で読み込まれます。これがエージェントの長期的な設計記憶となります。
Extension Layer: skillsはコンテキストに応じて自動起動するドメイン専門知識を提供します。hooksは、一致するすべてのツール呼び出しで発火する決定論的なゲートを提供します。memoryファイルはセッションをまたいで状態を永続化します。カスタムagentsは特化したsubagentの構成を提供します。
Orchestration Layer: マルチエージェントパターンは、リサーチ・レビュー・熟議のために独立したエージェントを協調させます。スポーン予算は暴走的な再帰を防ぎます。コンセンサス検証によって品質を担保します。
重要な洞察は次のとおりです。多くのユーザーはCore Layerだけで作業しており、コンテキスト膨張とコスト上昇をただ見ているだけです。一方、パワーユーザーはInstructionレイヤーとExtensionレイヤーを構成したうえで、Core Layerはオーケストレーションと最終判断のためだけに使うのです。2
マネージド型 vs セルフホスト型ハーネス(2026年4月)
2026年初頭を通じて、「自前でハーネスを構築する」道が事実上の唯一の選択肢でした。それが2026年4月に変わります。AnthropicはClaude Managed Agentsをパブリックベータとしてリリースし(4月8日)、ハーネスループ+ツール実行+サンドボックスコンテナ+状態永続化をREST APIとして提供、課金は標準トークン+セッション稼働時間あたり0.08ドルとなりました。OpenAIのAgents SDKアップデート(4月16日)は同じ分割を公式化し、ハーネスとコンピュートを別レイヤーとして扱い、ネイティブのサンドボックスプロバイダー(Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel)と、コンテナ消失を生き延びるためのスナップショット/再水和をサポートしました。2324
OpenAI側のより深いSDK表面は、openai-agents Python v0.14.0(2026年4月15日リリース、4月16日発表)に到達しました。AgentのサブクラスであるSandboxAgentはdefault_manifest、サンドボックス命令、ケイパビリティを備え、Manifestは新規ワークスペース契約(ファイル、ディレクトリ、ローカルファイル、Gitリポジトリ、環境、ユーザー、マウント)を記述、SandboxRunConfigは実行ごとのサンドボックスクライアント配線、ライブセッション注入、マニフェストオーバーライド、スナップショット、マテリアライゼーションの並列実行上限を制御します。組み込みケイパビリティは、シェルアクセス、ファイルシステム編集、画像インスペクション、skills、サンドボックスメモリ、コンパクションをカバーします。サンドボックスメモリは抽出された教訓を実行間で永続化し、段階的に開示します。ワークスペースはローカルファイル、Gitリポジトリエントリ、リモートマウント(S3、R2、GCS、Azure Blob、S3 Files)をサポートし、スナップショットはプロバイダー間でポータブルです。バックエンドはUnixLocalSandboxClient、DockerSandboxClient、およびオプション extras 経由でBlaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel向けのホステッドクライアントを揃えます。24
Claude Codeランタイムをライブラリとして埋め込みたいPythonプロジェクトには——「claudeをシェルアウトする」と「Managed AgentsへのREST API」の中間に位置する選択肢として——claude-agent-sdk-pythonが第3の道となります。4月28〜29日のシリーズ(v0.1.69 → v0.1.71)は、同梱されるCLIをv2.1.123にバンプし、mcp依存の下限を>=1.19.0に引き上げ(古いバージョンはインプロセスMCPツールからのCallToolResultの戻り値を黙って捨てており、モデルにはバリデーションエラーのblobだけが残されていました)、SandboxNetworkConfigをTypeScript SDKとのスキーマパリティ(allowedDomains、deniedDomains、allowManagedDomainsOnly、allowMachLookup)に揃えました。30
ハーネスにボイスやリアルタイム層が含まれる場合、openai-agents-python v0.17.0(2026年5月8日)はRealtimeAgentのデフォルトをgpt-realtime-2に更新しました。41 既存のリアルタイムセッションは新しいデフォルトを自動的に取り込みます。評価のために以前の挙動を保持する必要がある場合は、明示的に旧モデルをピンしてください。
アーキテクチャの分岐は今や現実のものとなりました。
| 観点 | セルフホスト型ハーネス(本ガイドの既定) | マネージド型ハーネス(Claude Managed Agents / OpenAI Agents SDK) |
|---|---|---|
| 運用負担 | すべて自分で運用 | ベンダーがループ、サンドボックス、状態を運用 |
| カスタマイズ性 | 完全自由——自分のhooks、skills、memory | 制限あり——ベンダー定義の拡張ポイント |
| コストモデル | トークン+セルフホストのコンピュート | トークン+ランタイム時間プレミアム |
| 状態の耐久性 | 自分で設計 | 切断をまたいでベンダーがチェックポイント |
| エージェントチームのオーケストレーション | 自前で構築 | ベンダー提供のマルチエージェント協調 |
どちらを選ぶか: セルフホストが適しているのは、すでにインフラ運用力を持つチーム、自分で制御するskills/hooksを望むチーム、特定のワークフローを深く最適化しているチームです。マネージドが適しているのは、専任のプラットフォームエンジニアがいないチーム、カスタマイズよりも価値創出までの早さを優先する場合、あるいはエージェント実行をラップトップを閉じても確実に生き延びさせたいが、その永続化レイヤーを自前で構築したくない場合です。両者は併用可能です——セルフホストのハーネスを動かしつつ、特定の長時間タスクをそのREST API経由でManaged Agentsに委譲することができます。
ディスク上でのハーネスの姿
~/.claude/
├── CLAUDE.md # Personal global instructions
├── settings.json # User-level hooks and permissions
├── skills/ # Personal skills (44+)
│ ├── code-reviewer/SKILL.md
│ ├── security-auditor/SKILL.md
│ └── api-designer/SKILL.md
├── agents/ # Custom subagent definitions
│ ├── security-reviewer.md
│ └── code-explorer.md
├── rules/ # Categorized rule files
│ ├── security.md
│ ├── testing.md
│ └── git-workflow.md
├── hooks/ # Hook scripts
│ ├── validate-bash.sh
│ ├── auto-format.sh
│ └── recursion-guard.sh
├── configs/ # JSON configuration
│ ├── recursion-limits.json
│ └── deliberation-config.json
├── state/ # Runtime state
│ ├── recursion-depth.json
│ └── agent-lineage.json
├── handoffs/ # Session handoff documents
│ └── deliberation-prd-7.md
└── projects/ # Per-project memory
└── {project}/memory/MEMORY.md
.claude/ # Project-level (in repo)
├── CLAUDE.md # Project instructions
├── settings.json # Project hooks
├── skills/ # Team-shared skills
├── agents/ # Team-shared agents
└── rules/ # Project rules
この構造内のすべてのファイルには目的があります。~/.claude/ツリーは、すべてのプロジェクトに適用される個人インフラです。各リポジトリ内の.claude/ツリーはプロジェクト固有のもので、git経由で共有されます。両者が組み合わさって、完全なハーネスを構成するのです。
Skills System
Skillsは、モデルが呼び出す拡張です。Claudeは、明示的に呼び出さなくても、コンテキストに基づいて自動的に検出し、適用します。4 セッションをまたいで同じコンテキストを何度も説明していると気づいたら、それがskillを作るべきタイミングです。
Skillを作るべきタイミング
| 状況 | 作るもの | 理由 |
|---|---|---|
| 毎セッションで同じチェックリストを貼り付けている | Skill | 自動で有効化されるドメイン知識 |
| 同じコマンド列を明示的に実行している | Slash command | 予測可能なトリガーでユーザーが呼び出すアクション |
| コンテキストを汚さずに隔離された分析が必要 | Subagent | 集中作業用の別コンテキストウィンドウ |
| 特定の指示を含む1回限りのプロンプトが必要 | 何もしない | そのまま入力しましょう。すべてを抽象化する必要はありません。 |
Skillsは、Claudeが常に利用できる知識のためのものです。Slash commandsは、明示的にトリガーするアクションのためのものです。どちらにするか迷う場合は、こう問いましょう。「Claudeがこれを自動で適用すべきか、それとも実行するタイミングを自分で決めるべきか?」
Skillの作成
Skillsは、スコープが広い順に、次の4つの場所に配置できます。4
| スコープ | 場所 | 適用対象 |
|---|---|---|
| Enterprise | Managed settings | 組織内のすべてのユーザー |
| Personal | ~/.claude/skills/<name>/SKILL.md |
自分のすべてのプロジェクト |
| Project | .claude/skills/<name>/SKILL.md |
このプロジェクトのみ |
| Plugin | <plugin>/skills/<name>/SKILL.md |
pluginが有効な場所 |
すべてのskillには、YAML frontmatterを含むSKILL.mdファイルが必要です。
---
name: code-reviewer
description: Review code for security vulnerabilities, performance issues,
and best practice violations. Use when examining code changes, reviewing
PRs, analyzing code quality, or when asked to review, audit, or check code.
allowed-tools: Read, Grep, Glob
---
# Code Review Expertise
## Security Checks
When reviewing code, verify:
### Input Validation
- All user input sanitized before database operations
- Parameterized queries (no string interpolation in SQL)
- Output encoding for rendered HTML content
### Authentication
- Session tokens validated on every protected endpoint
- Permission checks before data mutations
- No hardcoded credentials or API keys in source
Frontmatterリファレンス
| フィールド | 必須 | 目的 |
|---|---|---|
name |
はい | 一意の識別子(小文字、ハイフン、最大64文字) |
description |
はい | 検出トリガー(最大1024文字)。Claudeはこれを使ってskillを適用するか判断します |
allowed-tools |
いいえ | Claudeの機能を制限します(例:読み取り専用ならRead, Grep, Glob) |
disable-model-invocation |
いいえ | 自動有効化を防ぎ、skillは/skill-name経由でのみ有効になります |
user-invocable |
いいえ | falseに設定すると、/メニューから完全に非表示になります |
model |
いいえ | skillが有効なときに使うモデルを上書きします |
context |
いいえ | forkに設定すると、隔離されたコンテキストウィンドウで実行します |
agent |
いいえ | 独自の隔離コンテキストを持つsubagentとして実行します |
hooks |
いいえ | このskillにスコープされたライフサイクルhooksを定義します |
$ARGUMENTS |
いいえ | 文字列置換:/skill-nameの後に入力されたユーザー入力で置き換えられます |
Descriptionフィールドがすべてです
セッション開始時、Claude Codeはすべてのskillのnameとdescriptionを抽出し、Claudeのコンテキストに注入します。メッセージを送ると、Claudeは言語モデルの推論を使って、関連するskillがあるかを判断します。Claude Codeソースの独立した分析でも、この仕組みは確認されています。skill descriptionsはシステムプロンプトのavailable_skillsセクションに注入され、モデルは通常の言語理解によって関連するskillsを選択します。10
悪いdescription:
description: Helps with code
効果的なdescription:
description: Review code for security vulnerabilities, performance issues,
and best practice violations. Use when examining code changes, reviewing
PRs, analyzing code quality, or when asked to review, audit, or check code.
効果的なdescriptionには、何をするのか(具体的な問題タイプについてコードをレビューする)、いつ使うのか(変更、PR、品質分析を調べるとき)、そしてユーザーが自然に入力するトリガーフレーズ(review、audit、check)が含まれています。
Context Budget
すべてのskill descriptionsは、コンテキストウィンドウの1%として動的にスケールするcontext budgetを共有します。フォールバックは8,000文字です。4 Skillsが多い場合は、各descriptionを簡潔にし、主要なユースケースを先に置きましょう。SLASH_COMMAND_TOOL_CHAR_BUDGET環境変数でbudgetを上書きできますが、11 より良い解決策は、短く、より正確なdescriptionにすることです。セッション中に/contextを実行して、除外されているskillsがないか確認できます。
Supporting Filesと構成
Skillsは、同じディレクトリ内の追加ファイルを参照できます。
~/.claude/skills/code-reviewer/
├── SKILL.md # Required: frontmatter + core expertise
├── SECURITY_PATTERNS.md # Referenced: detailed vulnerability patterns
└── PERFORMANCE_CHECKLIST.md # Referenced: optimization guidelines
SKILL.mdから相対リンクで参照します。Claudeは、skillが有効になったときに、必要に応じてこれらのファイルを読みます。SKILL.mdは500行未満に保ち、詳細な参照資料はsupporting filesに移しましょう。12
GitでSkillsを共有する
Project skills(repo rootの.claude/skills/)は、バージョン管理で共有されます。4
mkdir -p .claude/skills/domain-expert
# ... write SKILL.md ...
git add .claude/skills/
git commit -m "feat: add domain-expert skill for payment processing rules"
git push
チームメイトがpullすると、skillを自動的に取得します。インストールも設定も不要です。チーム全体で専門知識を標準化するには、これが最も効果的な方法です。
Prompt LibraryとしてのSkills
単一目的のskillsにとどまらず、ディレクトリ構造は整理されたprompt libraryとして機能します。
~/.claude/skills/
├── code-reviewer/ # Activates on: review, audit, check
├── api-designer/ # Activates on: design API, endpoint, schema
├── sql-analyst/ # Activates on: query, database, migration
├── deploy-checker/ # Activates on: deploy, release, production
└── incident-responder/ # Activates on: error, failure, outage, debug
各skillは、専門知識の異なる側面をエンコードします。これらが合わさることで、Claudeがコンテキストに基づいて自動的に参照するknowledge baseになります。ジュニア開発者でも、明示的に頼まなくてもシニアレベルのガイダンスを得られます。
SkillsはHooksと組み合わせられます
Skillsは、実行中のみ有効になる独自のhooksをfrontmatterで定義できます。これにより、他のセッションを汚さないドメイン固有の振る舞いを作れます。2
---
name: deploy-checker
description: Verify deployment readiness. Use when preparing to deploy,
release, or push to production.
hooks:
PreToolUse:
- matcher: Bash
hooks:
- type: command
command: "bash -c 'INPUT=$(cat); CMD=$(echo \"$INPUT\" | jq -r \".tool_input.command\"); if echo \"$CMD\" | grep -qE \"deploy|release|publish\"; then echo \"DEPLOYMENT COMMAND DETECTED. Running pre-flight checks.\" >&2; fi'"
---
Philosophy skillsはSessionStart hooks経由で自動有効化され、明示的に呼び出さなくても品質制約をすべてのセッションに注入します。skillそのものは知識です。hookは強制です。組み合わせることで、policy layerになります。
よくあるSkillの失敗
Descriptionが広すぎる。 任意のgit関連プロンプト(rebase、merge、cherry-pick、さらにはgit status)で有効になるgit-rebase-helper skillは、セッションの80%でコンテキストを汚します。修正方法は、descriptionを絞るか、disable-model-invocation: trueを追加して明示的な/skill-name呼び出しを必須にすることです。4
Budgetを奪い合うskillsが多すぎる。 Skillsが増えるほど、1%のcontext budgetをめぐってdescription同士が競合します。Skillsが有効にならないことに気づいたら、/contextで除外されているものを確認してください。曖昧なskillsを大量に持つより、少数のよく記述されたskillsを優先しましょう。
重要情報がsupporting filesに埋もれている。 ClaudeはSKILL.mdをすぐに読みますが、supporting filesには必要になったときだけアクセスします。重要情報がsupporting fileにあると、Claudeが見つけられない可能性があります。必須情報はSKILL.mdに直接入れてください。4
SDK Skill Surface(2026年5月8日)
claude-agent-sdk-python v0.1.77以降のセルフホストharnessでは、利用可能なskillsを宣言するために、allowed_tools内の従来の"Skill"値ではなく、ClaudeAgentOptionsのskillsオプションを使うべきです。37 "Skill"の省略記法は非推奨であり、専用オプションにより、どのskillsが利用可能かについて、Claude Codeにより構造化された情報を渡せます。v0.1.77に同梱されているCLIはv2.1.133です。
.claude/skills/におけるPluginとSkillの収束(2026年5月29日)
Skillsは以前から、プロジェクトの.claude/skills/ディレクトリから読み込まれていました。Claude Code v2.1.157では、このディレクトリがpluginsにも拡張されました。.claude/skills/に置かれたpluginは、marketplace登録なしで自動的に読み込まれるようになり、claude plugin init <name>はmanifestとSKILL.mdがすでに接続された新しいpluginをそこにscaffoldします。58 これにより、以前は別々の場所に存在していた2つのproject-tooling形態のギャップが埋まります。つまり、repoに直接commitされる素のskillと、skillにhooksやMCP serverを組み合わせてbundleするものの、以前はインストールにmarketplaceが必要だったpluginです。harness designへの実務上の効果は明確です。project-scoped toolingは、配布のためにregistryを迂回する必要がなくなりました。書いて、commitすれば、チームメイトはgit pullで同じsurfaceを得られます。Pluginsは今でも、bundle install可能なユースケース(hooks + skills + MCP servers + agentsを1つのZIPにまとめる)を担います。変わったのは、プロジェクトが自分のtreeからそれを読み込むためだけにmarketplaceを立てる必要がなくなったことです。
Governanceとして同梱Surfaceを隠す(2026年6月8日)
Skillsはcapabilityであり、capabilityはattack surfaceです。Claude Code v2.1.169では、disableBundledSkills設定(および対応するCLAUDE_CODE_DISABLE_BUNDLED_SKILLS環境変数)が追加され、同梱skills、workflows、組み込みslash commandsをモデルから完全に隠せるようになりました。60 強化済みまたは規制対象のharnessでは、これは意図的なattack-surface削減です。特定のproject skillsとpersonal skillsのセットを監査・承認したoperatorは、Anthropicが標準で同梱するものをすべて抑制できます。その結果、モデルはoperatorが精査したsurfaceだけを推論対象にします。これはtool allowlistと同じように扱ってください。デフォルトは広いcapabilityであり、そのデフォルトをオフにすることは、便利なtoggleではなくgovernance上の判断です。
ネストされた.claude/skillsとClosest-Wins解決(2026年6月16日)
Claude Code v2.1.178により、project toolingはlocation-awareになりました。ネストされた.claude/skillsディレクトリ内のskillsは、repo rootからだけでなく、そのディレクトリ配下のファイルで作業しているときにも読み込まれるようになりました。名前が衝突した場合、ネストされたskillは<dir>:<name>として表示されるため、両方に到達できます。63 同じリリースでは、project surfaceの残りもworking directoryに最も近いものを解決するようになりました。ネストされた.claude/ディレクトリ間でagent、workflow、output-style名が衝突した場合、working directoryに最も近いものが勝ちます。また、project-scope workflowの保存先は常にrootではなく、最も近い既存の.claude/workflows/になります。63 Monorepoやrepo-of-reposでは、これは1つの平坦なglobal surfaceと、コンテキスト内で有効化されるpackageごとのtoolingとの差になります。services/api/.claude/skills/には、そのtreeで作業している間だけ表示されるAPI固有のskillsを置くことができ、同じ名前のservices/web/ skillとも衝突しません。
Hook Architecture
hooksは、Claude Codeのライフサイクルイベントによってトリガーされるシェルコマンドです。3 モデルが解釈するプロンプトではなく、通常のスクリプトとしてLLMの外側で実行されます。モデルがrm -rf /を実行したがっている場合はどうなるでしょうか。10行のbashスクリプトがコマンドをブロックリストと照合し、シェルに届く前に拒否します。hookは、モデルが望むかどうかに関係なく発火します。
利用可能なイベント
このガイド更新時点で、Claude Codeは8カテゴリにわたる29個のドキュメント化されたライフサイクルイベントを公開しています。イベントリストはリリースとともに増えるため、参照ドキュメントを信頼できる情報源として扱い、本番hooksを配線する前に、現在の完全な表をチートシートで確認してください。13
| カテゴリ | イベント | ブロック可能か |
|---|---|---|
| Session | SessionStart, Setup, SessionEnd |
いいえ |
| User / completion | UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle |
Prompt/expansion/stop/idleはブロック可能。StopFailureは不可 |
| Tool | PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch |
Pre/permission/batchはブロック可能。postイベントは不可 |
| Subagent / task | SubagentStart, SubagentStop, TaskCreated, TaskCompleted |
Stop/taskイベントはブロック可能。startは不可 |
| Context | PreCompact, PostCompact, InstructionsLoaded |
PreCompactはブロック可能。post/loadは不可 |
| Filesystem / workspace | CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove |
Worktree作成はブロック可能。それ以外は不可 |
| Configuration / notification | ConfigChange, Notification |
Config変更はpolicy設定を除きブロック可能。notificationsは不可 |
| MCP | Elicitation, ElicitationResult |
はい |
Exit Codeのセマンティクス
exit codeによって、hooksがアクションをブロックするかどうかが決まります。3
| Exit Code | 意味 | アクション |
|---|---|---|
| 0 | 成功 | 操作は続行されます。Stdoutはverbose modeで表示されます。 |
| 2 | ブロックエラー | 操作は停止します。StderrはClaudeに渡されるエラーメッセージになります。 |
| 1, 3, etc. | 非ブロックエラー | 操作は続行されます。Stderrはverbose mode(Ctrl+O)でのみ表示されます。 |
重要: すべてのsecurity hookはexit 1ではなく、必ずexit 2を使う必要があります。Exit 1は非ブロックの警告です。危険なコマンドはそのまま実行されます。これはチーム全体で最もよくあるhookのミスです。14
Hook設定
hooksは設定ファイルに置きます。共有hooksにはプロジェクトレベル(.claude/settings.json)を使います。個人用hooksにはユーザーレベル(~/.claude/settings.json)を使います。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/validate-bash.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; fi'"
}
]
}
]
}
}
matcherフィールドは、イベント固有の値をフィルタリングします。toolイベントでは、Bash、Edit、Write、Read、Glob、Grepなどのtool_name値、mcp__server__toolのようなMCP tool名、または全ツールを表す*に一致します。単純な名前と|区切りのリストは完全一致です。それ以外の文字を含む値はJavaScript正規表現です。一部のイベントはmatchersをサポートせず、設定されている場合は常に発火します。13
Hook入出力プロトコル
hooksはstdinで完全なコンテキストを含むJSONを受け取ります。
{
"tool_name": "Bash",
"tool_input": {
"command": "npm test",
"description": "Run test suite"
},
"session_id": "abc-123",
"agent_id": "main",
"agent_type": "main"
}
より高度な制御では、PreToolUse hooksがJSONを出力してtool入力を変更したり、コンテキストを注入したり、permission decisionsを行ったりできます。hookSpecificOutputラッパーを使ってください。古いトップレベルのdecision/reason形式は、PreToolUseでは非推奨です。
{
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "allow",
"permissionDecisionReason": "Command validated and modified",
"updatedInput": {
"command": "npm test -- --coverage --ci"
},
"additionalContext": "Note: This database has a 5-second query timeout."
}
}
3種類の保証
hookを書く前に、必ず問いましょう。どの種類の保証が必要なのでしょうか。14
Formatting guaranteesは、事後的に一貫性を確保します。Write/Editに対するPostToolUse hooksは、ファイル変更のたびにformatterを実行します。formatterがすべてを正規化するため、モデルの出力は重要ではありません。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; elif [[ \"$FILE_PATH\" == *.js ]] || [[ \"$FILE_PATH\" == *.ts ]]; then npx prettier --write \"$FILE_PATH\" 2>/dev/null; fi'"
}
]
}
]
}
}
Safety guaranteesは、危険なアクションが実行される前に防ぎます。Bashに対するPreToolUse hooksはコマンドを検査し、破壊的なパターンをexit code 2でブロックします。
#!/bin/bash
# validate-bash.sh — block dangerous commands
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')
if echo "$CMD" | grep -qE "rm\s+-rf\s+/|git\s+push\s+(-f|--force)\s+(origin\s+)?main|git\s+reset\s+--hard|DROP\s+TABLE"; then
echo "BLOCKED: Dangerous command detected: $CMD" >&2
exit 2
fi
Quality guaranteesは、意思決定ポイントで状態を検証します。git commitコマンドに対するPreToolUse hooksはlinterやtest suiteを実行し、品質チェックに失敗した場合はcommitをブロックします。
#!/bin/bash
# quality-gate.sh — lint before commit
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')
if echo "$CMD" | grep -qE "^git\s+commit"; then
if ! LINT_OUTPUT=$(ruff check . --select E,F,W 2>&1); then
echo "LINT FAILED -- fix before committing:" >&2
echo "$LINT_OUTPUT" >&2
exit 2
fi
fi
シェルコマンド以外のHookタイプ
Claude Codeは5種類のhookタイプをサポートしています。13
Command hooks(type: "command")はシェルスクリプトを実行します。高速で決定的であり、token costはありません。
MCP tool hooks(type: "mcp_tool")は、すでに接続済みのMCP server上のtoolを呼び出します。validation logicがすでにMCP境界の背後にあり、別のシェルスクリプトが不要な場合に使います。
Prompt hooks(type: "prompt")は、高速なClaudeモデルに単一ターンのプロンプトを送ります。モデルは許可する場合に{ "ok": true }、ブロックする場合に{ "ok": false, "reason": "..." }を返します。regexでは表現できない微妙な評価に使います。
Agent hooks(type: "agent")は、tool access(Read、Grep、Glob)を持つsubagentを起動してmulti-turn verificationを行います。これは実験的です。本番gatesにはcommand hooksを優先し、agent hooksは実際のファイルやtest outputを調べる必要が本当にあるチェックに限定してください。
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "agent",
"prompt": "Verify all unit tests pass. Run the test suite and check results. $ARGUMENTS",
"timeout": 120
}
]
}
]
}
}
Claude Code v2.1.140時点で、agent hook入力にはsubagent_typeが含まれます。これにより、共有hookはprompt textから推測せずに、security-reviewerの実行とexplorerやgeneric workerを区別できます。49
HTTP hooks(type: "http")は、イベントのJSON入力をPOST requestとしてURLに送り、JSONを受け取ります。webhooks、外部notification services、またはAPIベースのvalidation(v2.1.63+)に使います。SessionStartイベントではサポートされていません。
{
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"type": "http",
"url": "https://your-webhook.example.com/hook",
"headers": { "Authorization": "Bearer $WEBHOOK_TOKEN" },
"allowedEnvVars": ["WEBHOOK_TOKEN"],
"timeout": 10
}
]
}
]
}
}
Async Hooks
hooksは実行をブロックせず、バックグラウンドで実行できます。notificationsやloggingのような非クリティカルな操作にはasync: trueを追加します。13
{
"type": "command",
"command": ".claude/hooks/notify-slack.sh",
"async": true
}
asyncはnotifications、telemetry、backupsに使います。formatting、validation、または次のアクションの前に完了しなければならないものには、絶対にasyncを使わないでください。
独立HooksよりDispatchers
同じイベントで7つのhooksがすべて発火し、それぞれがstdinを独立して読むと、race conditionsが発生します。2つのhooksが同じJSON state fileに同時に書き込むと、JSONが切り詰められます。そのファイルをparseするすべての下流hookが壊れます。2
解決策は、イベントごとに1つのdispatcherを置き、cached stdinからhooksを順番に実行することです。
#!/bin/bash
# dispatcher.sh — run hooks sequentially with cached stdin
INPUT=$(cat)
HOOK_DIR="$HOME/.claude/hooks/pre-tool-use.d"
for hook in "$HOOK_DIR"/*.sh; do
[ -x "$hook" ] || continue
echo "$INPUT" | "$hook"
EXIT_CODE=$?
if [ "$EXIT_CODE" -eq 2 ]; then
exit 2 # Propagate block
fi
done
Hooksのデバッグ
静かに失敗するhooksをデバッグするための5つのテクニックです。14
- スクリプトを単独でテストします。 サンプルJSONをpipeします:
echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh - デバッグ出力にはstderrを使います。 Exit code 2のstderrは、エラーメッセージとしてClaudeに返されます。非ブロックのstderr(exit 1、3など)はverbose mode(Ctrl+O)でのみ表示されます。
- jq failuresに注意します。 間違ったJSON pathsは静かに
nullを返します。実際のtool inputに対してjq式をテストしてください。 - exit codesを確認します。
exit 1を使うPreToolUse hookは、動いているように見えても強制力はゼロです。 - hooksを高速に保ちます。 hooksは同期的に実行されます。すべてのhooksを2秒未満、理想的には500ms未満に保ちます。
SDK側のHook Event Streaming
claude-agent-sdk-python(v0.1.74+、2026年5月6日)上に構築されたself-hosted harnessesは、shell-script callbacksを経由する代わりに、message streamからhook eventsを直接subscribeできます。36 ClaudeAgentOptionsでinclude_hook_events=Trueを設定すると、HookEventMessageオブジェクト(PreToolUse、PostToolUse、Stopなど)が、assistant messagesやtool resultsと同じiteratorからyieldされます。これはTypeScript SDKのincludeHookEventsオプションを反映したものです。同じリリースでbundled CLIはv2.1.129に引き上げられました。
event-streamパターンは、harnessがすでにPython内にあり、hook signalsをmodel outputと同じcontrol flowで扱いたい場合に適しています。shell-script hook contract(exit codes、stdin JSON、dispatchers)は、複数ツールを組み合わせるharnesses、Claude CodeとCodexでhooksを共有するharnesses、またはブロックにexit-code semanticsが必要なharnessesに引き続き適した答えです。
EffortとSession Provenance(2026年5月7-8日)
Claude Code v2.1.132とv2.1.133の2つの追加により、hooksとsubprocessesは実行コンテキストについてより良いsignalを得られるようになりました。3839
- hook input内の
effort.level。 hooksは、tool_inputとsession_idを含む同じ入力でeffort.levelJSONフィールドを受け取るようになりました。同じ値は$CLAUDE_EFFORTenv varとしてexportされるため、Bash commandsはJSONをparseせずに読み取れます。これを使うと、effort tierに応じてhook costを調整できます。lowでは高価なvalidationをskipし、xhighまたはmaxではfull security gateを実行します。 - Bash subprocesses上の
CLAUDE_CODE_SESSION_IDenv var。 Bash tool subprocessesは、hooksが見るものと同じsession_id値をCLAUDE_CODE_SESSION_IDとして参照できるようになりました。これにより、session単位の状態をlogするtoolsが、以前は不可能だったsubprocess eventsとhook eventsの相関を取れるようになり、provenance gapが解消されます。
どちらのsignalもコード変更なしで利用できます。新しいフィールドを無視する既存hooksは、そのまま動作します。
autoMode.hard_denyとv2.1.136のHook/Plugin修正(2026年5月8日)
Claude Code v2.1.136では、auto modeに新しいhard-deny tierが追加され、長時間実行されるharnessesに影響していたpluginとMCPの問題群が修正されました。40
settings.autoMode.hard_deny。 ユーザー意図やallow exceptionsに関係なく、無条件でブロックするAuto mode classifier rulesです。これは既存のallow/deny matchersより上にある、交渉不可のgovernance leverです。operatorが個人設定でより広いカテゴリを承認している場合でも、絶対に上書きされてはならないルール(mainへのforce-push、secretを含むファイル、production database access)に使います。- MCP serversが
/clear後に消えなくなりました。.mcp.json、plugins、claude.ai connectorsで設定されたserversが、VS Code extension、JetBrains plugin、Agent SDKで/clearした後、active setから静かに落ちていました。この修正はv2.1.136に含まれています。「MCP server X went missing mid-session」を見た場合、これが原因でした。 - 同時refresh時のMCP OAuth refresh-token loss。 複数のremote MCP serversを使うユーザーは、毎日の再認証が不要になるはずです。同時refresh writesが互いに上書きしていました。
- Plan modeがfile writesを正しくブロックするようになりました。 一致する
Edit(...)allow ruleがplan-mode write protectionを回避していました。現在はallow rulesに関係なくPlan modeが強制されます。 - Pluginの
StopとUserPromptSubmithooksがセッション途中で失敗しなくなりました。 Cache cleanupが、実行中sessionでまだ使用中のplugin-version filesを削除し、特にこの2つのhook eventsを壊していました。この修正では、使用中versionsがpinされます。 plugin.jsonのskillsentry。skillsを設定するとpluginのデフォルトskills/directoryが隠れていました。現在はentryが正しく合成され、file pathを指した場合は静かに失敗する代わりに明示的なエラーが出ます。CLAUDE_ENV_FILESessionStart hook env varsのstale化。 SessionStart hooksがCLAUDE_ENV_FILE経由でexportしたvarsが、/resumeや/clear後にstaleになっていました。v2.1.136で修正されています。これらのイベントでsessionsはenv fileを再sourceするようになりました。
governance harnessesにとって運用上重要な項目は、autoMode.hard_deny(新しいlever)とMCP消失の修正(長いsessionsを壊していたsilent failure)です。それ以外はquality-of-life cleanupです。
Structured Hook ArgumentsとBlock Continuation(2026年5月11日)
Claude Code v2.1.139では、本番harnessesにとって重要な2つのhook詳細が追加されました。command hooks向けのargs: string[] exec形式と、PostToolUse hooks向けのcontinueOnBlockです。4244 hookがdynamic valuesやpath placeholdersを必要とする場合は、argsを優先してください。shellを使わずにcommandを直接spawnするため、quotingとinjectionのミスの大きな一群を取り除けます。
PostToolUse hookが拒否理由をClaudeに返しつつ、flowを終了せずにturnを継続すべき場合は、continueOnBlockを使います。これはoperator-experience機能として扱い、security bypassとして扱わないでください。blocking gateは、危険な結果を引き続きブロックすべきです。
同じリリースでは、MCP stdio serversにCLAUDE_PROJECT_DIRが渡され、plugin configsがcommands内で${CLAUDE_PROJECT_DIR}を参照できるようになりました。42 MCP toolsは、serverを起動したprocess working directoryに依存せず、この値からproject-relative pathsを解決するべきです。
Claude Code v2.1.140は、主にharness operators向けのreliability releaseです。settings変更時にConfigChange hooksが発火しない問題、disableAllHooksとallowManagedHooksOnlyがsettings levelsをまたいで正しく合成されないedge cases、hook resultsが返した意図しないenvironment variablesがpermission dialogsに露出する問題を修正しています。49 これにより、このsectionの既存governance patternsはより信頼できるものになりますが、新しいhook architectureは必要ありません。
Claude Code v2.1.141では、制御terminalなしでdesktop notifications、window titles、bellsを扱うためのhook-output terminalSequenceフィールドが追加されました。50 これはoperator signalingとして扱い、enforcementとして扱わないでください。security gatesとquality gatesは、通常のblocking contract、つまりstructured hook outputとunsafe actionを防ぐexit behaviorを通じて失敗を伝えるべきです。同じリリースでは、Agent Viewを1つのdirectoryにscopeするclaude agents --cwd <path>、GitHub SSH keysがない環境でplugin installsに使うCLAUDE_CODE_PLUGIN_PREFER_HTTPS、複数workspaceを対象にするworkload-identity federation rules向けのANTHROPIC_WORKSPACE_IDも追加されました。これらはteam harnesses向けのarchitecture detailsです。より狭いoperational views、plugin-install assumptionsの削減、明示的なenterprise token scopingを提供します。
Claude Code v2.1.142は、hook semanticsよりもbackground-session orchestrationにとって重要です。51 claude agentsは、wrapper stateに依存せず、明示的なdirectory、settings、MCP、plugin、permission、model、effort flagsを指定してbackground sessionsをdispatchできるようになりました。Fast modeのデフォルトはOpus 4.7になりました。harnessがOpus 4.6の挙動への依存を測定済みの場合にのみ、CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1をpinしてください。Root-level plugin SKILL.md discoveryとplugin-provided LSP visibilityは、packaging ambiguityを減らします。MCP_TOOL_TIMEOUT、既存background-session worktrees、daemon sleep/wakeとpost-upgrade cleanup、plugin cache cleanupの修正により、そうでなければorchestration bugsに見えるreliability gapsが閉じられます。
Stop-hook steering、cross-session authority、multi-agent v2(2026年6月)
6月上旬の4つの変更は、harnessとmulti-agent designに関わります。59
Stop/SubagentStop hooksにsteering channelが追加されました。 Claude Code v2.1.163以降、StopまたはSubagentStop hookはhookSpecificOutput.additionalContextを返して、hook errorとしてラベル付けされることなく、Claudeにfeedbackを渡し、turnを継続できます。これ以前は、Stop hookの実質的なleverはexit-2 blockだけでしたが、これはerrorとして読まれ、consecutive-block capにもカウントされます。quality-gate harnessにとっては、こちらのほうがよりきれいなprimitiveです。「doneと言ったがtestsがred」の検出時に、Stop hookはhard-blockする代わりに、「まだ失敗している内容はこれです。続けてください」と注入できるようになりました。本当のstop conditionsにはblockを使い、「まだ完了していない理由を伝える」場合にはadditionalContextを使ってください。
Cross-session messagingはborrowed authorityを運ばなくなりました。 v2.1.166ではmulti-session caseが強化されました。別のClaude sessionからSendMessage経由で中継されたmessagesは、originating userのauthorityを持たなくなったため、受信sessionは中継されたpermission requestsを拒否し、auto modeもそれらをブロックします。orchestrationでagents同士にmessageを送らせている場合、inbound messageはauthenticated instructionではなく、untrusted dataとして扱ってください。これはsecurity sectionがtool outputに適用している原則を、inter-agent messagingに拡張したものです。
Model resilienceがfirst-class settingになりました。 fallbackModel設定は最大3つのbackup modelsをchainできるようになり、primaryがoverloadedまたはunavailableの場合に順番に試行されます。また、予期しない非retryableなAPI errorsでは、fallbackでturnが1回auto-retryされます。長時間実行されるautonomous harnessでは、これにより一時的なprimary-model outageがdropped runではなくgraceful degradationになります。claude agents --jsonにもwaitingForフィールド(v2.1.162)が追加され、permission promptなど、blocked background sessionが何を待っているかが表面化します。agentsのfleetをpollingするcoordinatorにとって、observability上の改善です。
clean-room governanceとtroubleshootingのためのSafe mode。 Claude Code v2.1.169では、すべてのcustomizationを一括で無効にしてsessionを開始する--safe-mode flag(および対応するCLAUDE_CODE_SAFE_MODE environment variable)が追加されました。CLAUDE.md、plugins、skills、hooks、MCP serversが無効になります。60 これはharnessの逆、つまり意図的なclean-roomです。operatorがいずれ必ず抱く問いに答えるために使います。「この挙動はmodelから来ているのか、それとも設定した何かから来ているのか」。hookが誤発火したとき、skillが発動すべきでないときに発動したとき、MCP serverがcontextを汚染したとき、--safe-modeは比較対象となる既知の空baselineを提供します。これはgovernance primitiveでもあります。通常harnessが付与するpersistent authorityを一切持たないbare modelを実行する方法であり、operator-defined scaffoldingの影響なしに結果を再現する必要がある場合に重要です。
model tiersについての注記。 このガイドでは、Opus 4.8をClaude Codeのagentic default、つまり別途選択しない限りautonomous harnessesを実行するモデルとして扱います。2026年6月9日時点で、AnthropicはClaude Fable 5(claude-fable-5)をリリースしました。これはOpusより上の新しいtierで、最も強力なmodel、「Mythos-class」systemを一般利用向けに安全化したものとして説明され、Claude Code v2.1.170で/model claude-fable-5から選択できます。60 Opus 4.8はagentic defaultのままです。より高いtierは、raw reasoning depthがcostを正当化するdecisionで意図的に使うべきであり、fleet全体のblanket settingとして使うものではありません。
Codexがmulti-agent v2を出荷しました。 Codex CLI v0.137.0では、runtime choiceが各threadに保持され、spawned agents向けのfollow-upとmetadata defaultsがより整理され(hide_spawn_agent_metadataはデフォルトでtrue)、raw parent eventsがchild listenersに伝播されます。subagent modelは明示的なままです。built-in default/worker/explorer agent types、TOML-defined custom agents、concurrency controls(agents.max_threads default 6、agents.max_depth default 1)があります。同じリリースでは、per-turn skill-catalog resolutionと新しいthread-start/turn-error lifecycle contributor eventsを持つv1 skills extensionも追加され、kernel-sandbox postureをデフォルト境界として保ちながら、Claude Codeのhook/skill surfaceとの差を縮めています。その後、Codex v0.138.0–v0.139.0では、multi-agent v2が本番向けに強化されました。inter-agent message payloadsは暗号化され、v2 agent config catalogとagent-residency LRUがどのagentsをresidentに保つかを管理し、concurrencyはspawned threadsではなくactive executionでカウントされるため、idle agentsはslotを消費しなくなりました。61 lifecycle APIも成熟しました。close_agentはinterrupt_agent(v0.139.0)にrenameされ、単にhandleを閉じるのではなく実行中agentをinterruptすることを反映しています。また、subagentが出したMCP startup warningsは、parent transcriptに重複して上がるのではなく、owning threadにscopeされるようになりました。61 Codex側のorchestrationを構築する人にとって、これらはdemoとfleetの違いです。暗号化されたmessage transport、bounded residency、execution-counted concurrency、thread boundaryを越えて漏れないwarningsです。Codex v0.140.0では、cross-toolのseamも開かれました。/importはClaude Codeからsetup、project config、recent chatsを選択的にCodexへ取り込み、sessionsは永久削除可能になりました(codex delete / /delete、confirmation safeguards付き)。64 /importは、operatorsがharnesses間を移動することを初めて公式に認めたものです。あるharnessのために構築したconfigurationは、もうそこに閉じ込められていません。
Memory と Context
すべての AI 会話は、有限の context window の中で動作します。会話が長くなると、システムは新しい内容のための余地を作るために、以前のターンを圧縮します。この圧縮には情報の欠落が伴います。3ターン目に記録したアーキテクチャ上の判断が、15ターン目まで残るとは限りません。9
Multi-Turn Collapse の3つの仕組み
MSR/Salesforce の研究では、3つの独立した仕組みが特定されています。それぞれに異なる介入が必要です。9
| 仕組み | 何が起きるか | 介入 |
|---|---|---|
| Context compression | 新しい内容を収めるため、以前の情報が破棄される | ファイルシステムへの state checkpointing |
| Reasoning coherence loss | モデルが複数ターンにわたって、自分自身の以前の判断と矛盾する | Fresh-context iteration(Ralph loop) |
| Coordination failure | 複数の agents が異なる state snapshot を保持する | agents 間の共有 state protocols |
Strategy 1: Memory としてのファイルシステム
context の境界をまたいで最も信頼できる memory は、ファイルシステム上にあります。Claude Code は、すべての session 開始時と compaction 後に CLAUDE.md と memory files を読み込みます。6
~/.claude/
├── configs/ # 14 JSON configs (thresholds, rules, budgets)
│ ├── deliberation-config.json
│ ├── recursion-limits.json
│ └── consensus-profiles.json
├── hooks/ # 95 lifecycle event handlers
├── skills/ # 44 reusable knowledge modules
├── state/ # Runtime state (recursion depth, agent lineage)
├── handoffs/ # 49 multi-session context documents
├── docs/ # 40+ system documentation files
└── projects/ # Per-project memory directories
└── {project}/memory/
└── MEMORY.md # Always loaded into context
MEMORY.md ファイルには、session をまたいだエラー、判断、パターンを記録します。VAR が 0 のとき、bash の set -e で ((VAR++)) が失敗することを見つけたら、それを記録します。3 sessions 後に Python で似た integer edge case に遭遇したとき、MEMORY.md のエントリがそのパターンを浮かび上がらせます。15
Auto Memory(v2.1.32+): Claude Code は project context を自動的に記録し、呼び出します。作業中、Claude は観察内容を ~/.claude/projects/{project-path}/memory/MEMORY.md に書き込みます。Auto memory は session 開始時に先頭の200行を system prompt に読み込みます。簡潔に保ち、詳細なメモは別の topic files にリンクしてください。6
Memory volume より memory curation(2026年5月): LLM-agent cooperation に関する最近の arXiv preprint は、recall の拡張を失敗モードになり得るものとして位置づけています。著者らの実験では、より長い visible history が、28の model-game settings のうち18で協調を悪化させました。48 これは確定した法則ではなく、デザイン上の警告として扱ってください。production rule はすでに十分明確です。MEMORY.md は短く保ち、詳細へリンクし、handoffs には判断に使える要約を置きます。生の transcript dumps、tool logs、長い recall feeds は searchable storage に置くべきであり、active prompt に自動投入するものではありません。
Strategy 2: Proactive Compaction
Claude Code の /compact command は、会話を要約し、重要な判断、file contents、task state を保持しながら context space を解放します。15
compact するタイミング: - 明確な subtask が完了した後(feature implemented、bug fixed) - codebase の新しい領域に入る前 - Claude が繰り返し始めたり、以前の context を忘れ始めたりしたとき - 集中的な session では、おおよそ25〜30分ごと
CLAUDE.md の custom compaction instructions:
# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session
Compaction は会話を守ります。一方、/cd command(Claude Code v2.1.169)は prompt cache を守ります。これは、ターンの中で蓄積された cache を壊さずに、session を途中で新しい working directory へ移動します。60 以前は、directory を変更すると fresh session と cold cache が必要でした。長時間の session が、ある repository から sibling repository へ切り替わる場合、これは monorepo や multi-service work でよくありますが、/cd は高コストな cached prefix を維持したまま、filesystem context だけを差し替えます。
Strategy 3: Session Handoffs
複数 sessions にまたがる task では、全体の state を記録する handoff documents を作成します。
## Handoff: Deliberation Infrastructure PRD-7
**Status:** Hook wiring complete, 81 Python unit tests passing
**Files changed:** hooks/post-deliberation.sh, hooks/deliberation-pride-check.sh
**Decision:** Placed post-deliberation in PostToolUse:Task, pride-check in Stop
**Blocked:** Spawn budget model needs inheritance instead of depth increment
**Next:** PRD-8 integration tests in tests/test_deliberation_lib.py
Status/Files/Decision/Blocked/Next 構造により、次の session は最小限の token cost で完全な context を受け取れます。claude -c(continue)で新しい session を始めるか、handoff document を読むだけで、そのまま implementation に進めます。15
Strategy 4: Fresh-Context Iteration(The Ralph Loop)
60〜90分を超える sessions では、iteration ごとに新しい Claude instance を起動します。state は conversational memory ではなく、ファイルシステムを通じて保持されます。各 iteration は context budget を丸ごと使えます。16
Iteration 1: [200K tokens] -> writes code, creates files, updates state
Iteration 2: [200K tokens] -> reads state from disk, continues
Iteration 3: [200K tokens] -> reads updated state, continues
...
Iteration N: [200K tokens] -> reads final state, verifies criteria
単一の長い session と比較します。
Minute 0: [200K tokens available] -> productive
Minute 30: [150K tokens available] -> somewhat productive
Minute 60: [100K tokens available] -> degraded
Minute 90: [50K tokens available] -> significantly degraded
Minute 120: [compressed, lossy] -> errors accumulate
iteration ごとに fresh context を使う approach では、orient step(state files の読み込み、git history の scan)に15〜20%の overhead がかかる代わりに、各 iteration で認知リソースを完全に使えます。16 cost-benefit の計算はこうです。60分未満の sessions では、単一の conversation のほうが効率的です。90分を超えると、overhead があっても fresh-context のほうが高品質な output を生みます。
Strategy 5: Managed Memory Curation(Dreaming)
Anthropic の Claude Managed Agents は、2026年5月6日に Dreaming を Research Preview として追加しました。35 Anthropic によると、「Dreaming is a scheduled process that reviews your agent sessions and memory stores, extracts patterns, and curates memories so your agents improve over time.」です。35
Dreaming は sessions の間に background で実行され、critical path には入りません。これは filesystem-as-memory pattern を置き換えるのではなく、補完します。MEMORY.md ファイルは引き続き load-bearing surface です。Dreaming は curated memory entries を Managed Agents memory store に書き込み、agent は session 開始時にそれを読みます。self-hosted filesystem state と managed-side curation を組み合わせる harnesses では、この2つの patterns が共存します。
| Filesystem Memory | Dreaming(Managed) | |
|---|---|---|
| memory の所在 | 自分の repo、version-controlled | Anthropic-managed memory store |
| 更新タイミング | 手動または hooks 経由で entries を書く | sessions 間の background process |
| 何を記録するか | 自分が flag した判断、エラー、パターン | session history から抽出された patterns |
| 最適な用途 | project-specific institutional knowledge | 手作業では見つけられない cross-session pattern discovery |
Dreaming は Research Preview のため、behavior は変わる可能性があります。上で説明した session-handoffs と CLAUDE.md patterns は、self-hosted harnesses における authoritative memory mechanism であり続けます。
Anti-Patterns
10行だけ必要なのにファイル全体を読む。 2,000行のファイルを1つ読むだけで、15,000〜20,000 tokens を消費します。line offsets を使ってください。Read file.py offset=100 limit=20 により、そのコストの大部分を節約できます。15
verbose error output を context に残し続ける。 bug を debug した後、context には失敗した iterations からの40件以上の stack traces が残ります。bug 修正後に一度 /compact するだけで、その無駄な重みを解放できます。
毎回の session を、すべてのファイルを読むことから始める。 Claude Code の glob と grep tools に、必要に応じて relevant files を見つけさせてください。不要な pre-loading による100,000+ tokens を節約できます。15
Subagent Patterns
Subagentsは、複雑なタスクを独立して処理する特化型のClaudeインスタンスです。クリーンなcontext(メイン会話からの汚染なし)で開始し、指定されたツールで動作し、結果を要約として返します。探索結果でメイン会話が肥大化することはなく、戻ってくるのは結論だけです。5
組み込みSubagentタイプ
| Type | Model | Mode | Tools | Use For |
|---|---|---|---|---|
| Explore | Haiku(高速) | 読み取り専用 | Glob, Grep, Read, safe bash | codebase探索、ファイル検索 |
| General-purpose | 継承 | 完全な読み書き | 利用可能なすべて | 複雑な調査 + 変更 |
| Plan | 継承(またはOpus) | 読み取り専用 | Read, Glob, Grep, Bash | 実行前の計画 |
Custom Subagentsの作成
.claude/agents/(project)または~/.claude/agents/(personal)でsubagentsを定義します。
---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
You are a senior security engineer reviewing code for vulnerabilities.
When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps
Focus on actionable security findings, not style issues.
Subagent設定フィールド
| Field | Required | Purpose |
|---|---|---|
name |
Yes | 一意の識別子(小文字 + ハイフン) |
description |
Yes | 呼び出すタイミング(自動委任を促すには「PROACTIVELY」を含めます) |
tools |
No | カンマ区切り。省略するとすべてのツールを継承します。生成可能なagentsを制限するにはAgent(agent_type)をサポートします |
disallowedTools |
No | 拒否するツール。継承または指定されたリストから削除されます。v2.1.178時点では、MCPサーバーレベルの指定(mcp__server, mcp__server__*, mcp__*)がここで正しくマッチします。それ以前のバージョンでは黙って無視されていたため、MCPサーバーをブロックするためのdenyルールが実際には何もしていませんでした。63 |
model |
No | sonnet, opus, haiku, inherit(default: inherit) |
permissionMode |
No | default, acceptEdits, delegate, dontAsk, bypassPermissions, plan |
maxTurns |
No | subagentが停止するまでの最大agentic turn数 |
memory |
No | 永続memoryスコープ: user, project, local |
skills |
No | 起動時にskillコンテンツをsubagent contextへ自動ロードします。v2.1.133時点では、subagentsも親sessionと同じようにSkillツール経由でproject、user、plugin skillsを検出します。それ以前のバージョンでは、これらはsubagent contextから黙って落とされていました。39 |
hooks |
No | このsubagentの実行にスコープされたライフサイクルhooks |
background |
No | 常にバックグラウンドタスクとして実行します |
isolation |
No | 分離されたgit worktreeコピーにはworktreeを設定します |
Worktree分離
Subagentsは一時的なgit worktrees内で動作でき、リポジトリの完全に分離されたコピーを提供します。5
---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---
You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.
codebaseを壊す可能性がある実験的な作業では、worktree分離が不可欠です。
並列Subagents
互いに調整する必要のない独立した調査タスクには、並列subagentsを使います。5
> Have three explore agents search in parallel:
> 1. Authentication code
> 2. Database models
> 3. API routes
各agentはそれぞれ独自のcontext windowで実行され、関連コードを見つけ、要約を返します。メインcontextはクリーンなままです。
Recursion Guard
spawn制限がないと、agentsがagentsへ委任し、そのagentsがさらにagentsへ委任していきます。そのたびにcontextが失われ、tokensが消費されます。recursion guardパターンは予算を強制します。16
#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"
MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12
# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)
if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
exit 2
fi
# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"
重要な教訓: 深さ制限だけでなく、spawn予算を使ってください。深さベースの制限は親子チェーンを追跡します(depth 3でブロック)が、幅を見落とします。depth 1に23 agentsがいても、それはまだ「depth 1」です。spawn予算は、親ごとのアクティブな子の総数を追跡し、設定可能な最大値で上限をかけます。この予算モデルは、代理指標(ネストレベルが多すぎる)ではなく、実際の故障モード(agentsの総数が多すぎる)に対応しています。7
再帰的委任は、今ではfirst-partyの深さになっています。 Claude Code v2.1.172(2026年6月10日)時点で、sub-agentsは自分自身のsub-agentsをspawnでき、最大5レベルまでネストできます。以前は委任は実質的に1レベルでした。62 これにより、上記のrecursion guardの重要性は下がるどころか高まります。platformが、contextとtokensを消費するagents-delegating-to-agentsのチェーンをまさに許可するようになったため、spawn予算とdepth capこそが、5レベルのツリーが数百のアクティブagentsへ広がるのを防ぐ仕組みです。5レベルはplatformが許す上限であり、目指すdefaultではないと考えてください。
Auto modeはlaunch前にspawnsを審査するようになりました。 Claude Code v2.1.178では、対応するgovernance gapが解消されました。auto modeでは、subagentがlaunchされた後に行動を取り始めてからではなく、launch前にpermission classifierによってsubagent spawnsが評価されます。63 以前は、親sessionではブロックされるはずのactionを要求するためにsubagentをspawnできました。spawn自体がbypassになっていたのです。spawn時点で審査されるようになったことで、recursion guardとpermission modelがようやく接続されました。childを、policyが禁じるactionのロンダリング手段として使うことはできません。
Agent Teams(Research Preview)
Agent Teamsは、独立して作業する複数のClaude Codeインスタンスを調整し、共有mailboxとtask listを介して通信し、互いの発見に異議を唱えることもできます。5
| Component | Role |
|---|---|
| Team lead | teamを作成し、teammatesをspawnし、作業を調整するメインsession |
| Teammates | 割り当てられたタスクに取り組む別個のClaude Codeインスタンス |
| Task list | teammatesがclaimして完了する共有作業項目(file-locked) |
| Mailbox | inter-agent communicationのためのmessaging system |
有効化: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
agent teamsとsubagentsの使い分け:
| Subagents | Agent Teams | |
|---|---|---|
| Communication | 結果だけを返します | Teammatesが互いに直接messageします |
| Coordination | メインagentがすべての作業を管理します | 共有task listで自己調整します |
| Best for | 結果だけが重要な集中タスク | 議論と協働が必要な複雑な作業 |
| Token cost | 低い | 高い(各teammate = 別個のcontext window) |
Agent ViewとGoal Loops(2026年5月)
Claude Code v2.1.139ではAgent Viewが追加されました。これはclaude agentsで開始するresearch-previewインターフェースで、実行中、ブロック中、完了済みのClaude Code sessionsを1つの画面で表示します。4243 公式docsでは、多数のsessionsをdispatchして管理し、各sessionが何をしているかを確認し、operator inputが必要なものを特定する方法として説明されています。43 これにより、multi-agent作業には、最終要約だけでは得られないoperations viewが加わります。
subagentまたはteamパターンを昇格させるときは、Agent Viewを使ってください。どのsessionsがブロックされているか、どれがまだ実行中か、作業分配が意図したarchitectureに合っているかを確認します。ただし、品質の証明として扱ってはいけません。これはobservabilityです。作業がsoundかどうかは、tests、review gates、evidence reportsが引き続き判断します。
同じreleaseでは/goalも追加されました。これは完了条件を設定し、その条件が満たされるまでClaudeをturnをまたいで継続させます。interactive、-p、Remote Controlでの利用も含まれます。42 /goalは、deterministic gatesの代替ではなく、session-scoped completion loopとして扱ってください。agentをtargetに集中させ続けるには便利ですが、tests、citation checks、deploy checks、security hooksなど、failureがblockしなければならないものは、commandまたはscript backedのままにするべきです。
Workflow Tool(v2.1.147+)
Claude Code v2.1.147では、defaultではoffのWorkflowツールが追加され、deterministic multi-agent orchestrationに使えます。CLAUDE_CODE_WORKFLOWS=1で有効化します。52 architecture上これが重要なのは、以前はcustom dispatch scripts、mailbox state、subagent coordination conventionsが必要だったflowsに対して、Claude Codeにfirst-party orchestration primitiveを与えるためです。
その周囲のharnessを削除してはいけません。Workflowは実行を構造化できますが、safety modelを置き換えるものではありません。PreToolUseとPostToolUse hooksはblocking layerとして維持し、runaway widthを防ぐためにspawn budgetsまたはworkflow step budgetsを維持し、filesystem stateを監査可能に保ち、最終的なevidence reportsはmodelの自己評価の外側に置いてください。実務では、orchestration shapeにはWorkflowを使い、truthにはhooks、tests、review gatesを使います。
マルチエージェントオーケストレーション
シングルエージェントのAIシステムには構造的な盲点があります。自身の前提を検証できないという点です。7 マルチエージェントによる審議では、意思決定が確定する前に、複数の視点から独立した評価を強制的に行います。
クロスツール・オーケストレーション(2026年4月): Googleは4月7日に Scion をオープンソース化しました。Claude Code、Gemini CLI、その他の「ディープエージェント」を並行プロセスとして実行するマルチエージェント・ハイパーバイザーで、各エージェントには分離されたコンテナ、git worktree、認証情報が割り当てられます。ローカル、ハブ、またはKubernetesで動作します。明示的な思想は「制約よりも分離」というもので、エージェントはプロンプト内ではなくインフラ層で強制される境界の内側で、高い自律性を持って動作します。25 これは subagent-isolation の主張を異なるツールベンダー間にまで直接拡張するものです。ワークフローが Claude とOpenAIモデルにまたがる場合、Scion はエージェント単位の worktree と認証情報の分離を備えたクロスツール subagent の最初の実用的なリファレンス実装です。
ディベートは万能薬ではありません: M3MAD-Bench研究クラスター(2026年初頭)では、マルチエージェント・ディベートには頭打ちがあり、誤解を招くコンセンサスによって覆される可能性があることが判明しました。妥当な議論であっても、他のエージェントが自信たっぷりに誤った答えを主張すると敗れてしまうのです。26 Tool-MADはこの点を改善しており、各エージェントに異種のツールアクセスを与え、判定段階でFaithfulness(忠実度)/Relevance(関連性)スコアを使用します。ディベート型のオーケストレーションを構築する場合は、(a)エージェントごとのツールの異質性と、(b)「エージェントを増やせば答えが良くなる」と仮定するのではなく定量的な判定スコアリング、この2点に投資しましょう。
マネージド・マルチエージェント・オーケストレーションとOutcomes(パブリックベータ)
以下に述べる審議インフラを自前で構築したくない場合、Multiagent Orchestration が2026年5月6日に Claude Managed Agents でパブリックベータに入りました。35 Anthropic によれば「単一エージェントではうまくこなせないほどの作業がある場合、マルチエージェント・オーケストレーションでは、リードエージェントがジョブを分割し、それぞれを独自のモデル、プロンプト、ツールを持つスペシャリストに委譲できます」とのことです。35 スペシャリストは「共有ファイルシステム上で並行して作業し、リードエージェントの全体的なコンテキストに貢献します」。35
トレーシングは標準で組み込まれています。Anthropic によれば「Claude Console ですべてのステップをトレースすることもできます。どのエージェントが、どの順序で、なぜ何を行ったのかが分かり、タスクがどのように委譲・実行されたかを完全に可視化できます」。35
これと組み合わさるパブリックベータ機能が Outcomes です。Anthropic によれば「成功とは何かを記述したルーブリックを書くと、エージェントはそれに向けて作業します。別個のグレーダー(採点者)が、独立したコンテキストウィンドウであなたの基準に照らして出力を評価するため、エージェントの推論に影響を受けることがありません」。35 これは、本セクションの後半で説明する2ゲート検証パターンのマネージドサービス版です。手書きのゲートをルーブリックが置き換え、コンセンサス・バリデーターを別個のグレーダーが置き換えます。
| セルフホスト型審議(本セクション) | Managed Multiagent + Outcomes | |
|---|---|---|
| スペシャリストのルーティング | spawn ロジックを自分で書く | リードエージェントがジョブを分割 |
| 検証 | 2ゲートのフック + コンセンサススコアリング | 別コンテキストでのルーブリック + グレーダー |
| トレーシング | 自分で計装する | Claude Console |
| 適している用途 | 完全な制御や特定のツール構成が必要なパターン | 検証ルーブリックが契約となる標準的な委譲パターン |
| 料金 | トークン + harness のコストのみ | 標準のトークンに加えて Managed Agents のセッション時間料金(4月8日ローンチのベース。23 参照) |
セルフホスト型審議が正解となるのは、検証を自前のフック面(PreToolUse のブロッキング、終了コードのセマンティクス、カスタムディスパッチャー)と統合する必要がある場合や、harness が外部依存なしで動作しなければならない場合です。Managed Multiagent が正解となるのは、標準的な委譲とルーブリックによる採点こそが実際に必要な契約である場合です。
最小実用審議(Minimum Viable Deliberation)
2エージェントと1つのルールから始めましょう。エージェントは互いの作業を見る前に、独立して評価しなければならないというルールです。7
Decision arrives
|
v
Confidence check: is this risky, ambiguous, or irreversible?
|
+-- NO -> Single agent decides (normal flow)
|
+-- YES -> Spawn 2 agents with different system prompts
Agent A: "Argue FOR this approach"
Agent B: "Argue AGAINST this approach"
|
v
Compare findings
|
+-- Agreement with different reasoning -> Proceed
+-- Genuine disagreement -> Investigate the conflict
+-- Agreement with same reasoning -> Suspect herding
このパターンで価値の80%をカバーできます。それ以外はすべて段階的な改善にすぎません。
コンフィデンス・トリガー
すべてのタスクに審議が必要なわけではありません。コンフィデンス・スコアリング・モジュールは4つの次元を評価します。17
- 曖昧さ - クエリには複数の有効な解釈があるか?
- ドメインの複雑さ - 専門知識を必要とするか?
- 重要度(Stakes) - 意思決定は可逆か?
- コンテキスト依存性 - より広範なシステムへの理解を必要とするか?
スコアは3つのレベルに対応します。
| レベル | しきい値 | アクション |
|---|---|---|
| HIGH | 0.85+ | 審議なしで進行 |
| MEDIUM | 0.70-0.84 | コンフィデンスノートを記録した上で進行 |
| LOW | 0.70未満 | フルマルチエージェント審議をトリガー |
しきい値はタスクの種類に応じて適応します。セキュリティに関する意思決定では0.85のコンセンサスが必要です。ドキュメントの変更では0.50で十分です。これにより単純なタスクの過剰設計を防ぎつつ、リスクのある意思決定にはきちんと精査が入るようにします。7
ステートマシン
7つのフェーズがあり、それぞれが前段階によってゲートされます。7
IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
|
(or FAILED)
RESEARCH: 独立したエージェントがトピックを調査します。各エージェントには異なるペルソナ(Technical Architect、Security Analyst、Performance Engineer、その他)が割り当てられます。コンテキストの分離により、リサーチ中にエージェントが互いの発見を見られないようにします。
DELIBERATION: エージェントはすべてのリサーチ結果を見て、代替案を生成します。Debate エージェントが矛盾を特定します。Synthesis エージェントが矛盾しない発見を統合します。
RANKING: 各エージェントは、提案されたすべてのアプローチを5つの加重次元で採点します。
| 次元 | 重み |
|---|---|
| Impact | 0.25 |
| Quality | 0.25 |
| Feasibility | 0.20 |
| Reusability | 0.15 |
| Risk | 0.15 |
2ゲート検証アーキテクチャ
2つの検証ゲートが、異なる段階で問題を捕捉します。7
ゲート1:コンセンサス検証(PostToolUse フック)。各審議エージェントが完了した直後に実行されます。 1. フェーズが少なくともRANKINGに到達していること 2. 最低2エージェントが完了していること(設定可能) 3. コンセンサススコアがタスク適応型のしきい値を満たすこと 4. 反対したエージェントがいた場合、その懸念が文書化されていること
ゲート2:プライドチェック(Stop フック)。セッションが終了する前に実行されます。 1. 多様な手法:複数のユニークなペルソナが代表されている 2. 矛盾の透明性:反対意見には文書化された理由がある 3. 複雑性への対応:少なくとも2つの代替案が生成されている 4. コンセンサスの確信度:strong(0.85超)またはmoderate(0.70-0.84)に分類されている 5. 改善のエビデンス:最終コンフィデンスが初期コンフィデンスを上回っている
ライフサイクルの異なる時点に2つのフックを置く構成は、実際に発生する障害の在り方に合致しています。瞬時に分かるもの(スコアの低さ)もあれば、徐々に明らかになるもの(多様性の欠如、反対意見の文書化漏れ)もあります。7
なぜ合意は危険なのか
Charlan Nemeth は1986年から少数派の異議について研究を続け、2018年の著書 In Defense of Troublemakers に結実させました。反対者がいるグループは、すぐに合意に至るグループよりも優れた意思決定を行います。反対者は正しくある必要はありません。異議を唱えるという行為そのものが、多数派に対し本来なら飛ばしてしまう前提の検証を強いるのです。18
Wu らは LLM エージェントが本当にディベートできるかを検証し、不一致への構造的なインセンティブがなければ、エージェントは正しさにかかわらず最も自信ありげに聞こえる初期回答へ収束していくことを発見しました。19 Liang らはその根本原因を「Degeneration-of-Thought(思考の退化)」と特定しました。一度 LLM がある立場に確信を抱くと、自己内省では新しい反論を生成できなくなり、マルチエージェント評価が構造的に必要となるのです。20
独立性こそが決定的な設計上の制約です。同じデプロイ戦略を、互いの発見が見える状態で評価した2つのエージェントのスコアは0.45と0.48でした。同じエージェントを互いに見えない状態で動かすと、スコアは0.45と0.72に広がりました。0.48と0.72の差こそ、群れ行動(herding)のコストなのです。7
偽の合意を検出する
コンフォーミティ検出モジュールは、エージェントが本物の評価なしに同意していることを示すパターンを追跡します。7
スコアのクラスタリング: 10点満点のスケールで全エージェントのスコアが0.3ポイント以内に収まるのは、独立した評価ではなく共有コンテキストの汚染を示すシグナルです。認証リファクタリングを評価した5エージェント全員のセキュリティリスクスコアが7.1〜7.4に収まっていた事例で、新鮮なコンテキスト分離で再実行したところ、スコアは5.8〜8.9に分散しました。
ボイラープレート反対意見: エージェントが独立した異論を生成する代わりに、互いの懸念表現をコピーしている状態です。
少数派視点の不在: 優先順位が衝突するペルソナ(Security Analyst と Performance Engineer がすべてに同意することは稀です)からの全会一致の承認。
コンフォーミティ検出は分かりやすいケース(エージェントが早く収束しすぎる審議のおよそ10〜15%)を捕捉します。残りの85〜90%については、コンセンサスゲートとプライドチェックゲートが十分な検証を提供します。
審議でうまくいかなかったこと
自由形式のディベートラウンド。 データベースのインデックス設計議論で3ラウンドの往復テキストを行ったところ、7,500トークン分のディベートが生まれました。ラウンド1:本物の不一致。ラウンド2:立場の言い直し。ラウンド3:同じ主張を別の言葉で。構造化された次元スコアリングが自由形式のディベートを置き換え、コストを60%削減しつつランキング品質を向上させました。7
単一の検証ゲート。 最初の実装ではセッション終了時に1つの検証フックを実行していました。あるエージェントは0.52のコンセンサススコア(しきい値以下)で審議を完了し、その後20分間も無関係なタスクを続けてからセッション終了フックが失敗を検知しました。これを2つのゲート(タスク完了時と、セッション終了時)に分割することで、同じ問題を異なるライフサイクル時点で捕捉できるようになりました。7
審議のコスト
各リサーチエージェントは約5,000トークンのコンテキストを処理し、2,000〜3,000トークンの調査結果を生成します。3エージェントなら、意思決定あたり追加で15,000〜24,000トークン。10エージェントならおよそ50,000〜80,000トークンとなります。7
現行のOpus料金では、3エージェント審議のコストはおよそ $0.68〜0.90、10エージェント審議は $2.25〜3.00 です。本システムは意思決定のおよそ10%で審議をトリガーするため、全意思決定にわたって平均化したコストはセッションあたり $0.23〜0.30 となります。これに見合うかどうかは、誤った意思決定がどれだけのコストを生むかに依存します。
審議すべき場面
| 審議する | 省略する |
|---|---|
| セキュリティアーキテクチャ | ドキュメントの誤字 |
| データベーススキーマ設計 | 変数名の変更 |
| API 契約の変更 | ログメッセージの更新 |
| デプロイ戦略 | コメントの言い換え |
| 依存関係のアップグレード | テストフィクスチャの更新 |
CLAUDE.md の設計
CLAUDE.md は人間向けの README ではなく、AI agent の運用ポリシーです。21 agent に、なぜ conventional commits を使うのかを理解させる必要はありません。必要なのは、実行すべき正確なコマンドと、「完了」がどう見えるかです。
優先順位の階層
| 場所 | スコープ | 共有 | ユースケース |
|---|---|---|---|
| Enterprise managed settings | 組織 | 全ユーザー | 会社標準 |
./CLAUDE.md or ./.claude/CLAUDE.md |
プロジェクト | git 経由 | チームのコンテキスト |
~/.claude/CLAUDE.md |
ユーザー | 全プロジェクト | 個人の設定 |
./CLAUDE.local.md |
プロジェクトローカル | 共有しない | 個人用のプロジェクトメモ |
.claude/rules/*.md |
プロジェクト rules | git 経由 | 分類されたポリシー |
~/.claude/rules/*.md |
ユーザー rules | 全プロジェクト | 個人ポリシー |
Rules ファイルは自動的に読み込まれ、CLAUDE.md を散らかさずに構造化されたコンテキストを提供します。6
無視されるもの
以下のパターンは、agent の挙動に観測可能な変化をほぼ生みません。21
コマンドのない prose 段落。 「クリーンで十分にテストされたコードを重視します」はドキュメントであって、運用指示ではありません。agent はそれを読んだうえで、実行可能な指示がないため、テストなしでコードを書き進めます。
曖昧な指示。 「データベース migration には注意する」は制約ではありません。「migration を適用する前に alembic check を実行する。downgrade path がない場合は中止する。」であれば制約になります。
矛盾する優先順位。 「素早く進めて迅速に出荷する」に加えて、「包括的な test coverage を確保する」「runtime は 5 分未満に保つ」「すべての commit 前に full integration tests を実行する」。agent はこの 4 つを同時に満たせないため、デフォルトで verification を省略します。21
強制手段のない style guides。 ruff check --select D なしで「Google Python Style Guide に従う」と書いても、agent には準拠を検証する仕組みがありません。
機能するもの
コマンド優先の指示:
## Build and Test Commands
- Install: `pip install -r requirements.txt`
- Lint: `ruff check . --fix`
- Format: `ruff format .`
- Test: `pytest -v --tb=short`
- Type check: `mypy app/ --strict`
- Full verify: `ruff check . && ruff format --check . && pytest -v`
完了条件の定義:
## Definition of Done
A task is complete when ALL of the following pass:
1. `ruff check .` exits 0
2. `pytest -v` exits 0 with no failures
3. `mypy app/ --strict` exits 0
4. Changed files have been staged and committed
5. Commit message follows conventional format: `type(scope): description`
タスク別に整理されたセクション:
## When Writing Code
- Run `ruff check .` after every file change
- Add type hints to all new functions
## When Reviewing Code
- Check for security issues: `bandit -r app/`
- Verify test coverage: `pytest --cov=app --cov-fail-under=80`
## When Releasing
- Update version in `pyproject.toml`
- Run full suite: `pytest -v && ruff check . && mypy app/`
Escalation rules:
## When Blocked
- If tests fail after 3 attempts: stop and report the failing test with full output
- If a dependency is missing: check `requirements.txt` first, then ask
- Never: delete files to resolve errors, force push, or skip tests
書く順序
ゼロから始める場合は、次の優先順位でセクションを追加します。21
- Build と test のコマンド(agent が有用な作業をするには、まずこれが必要です)
- Definition of done(誤った完了報告を防ぎます)
- Escalation rules(破壊的な回避策を防ぎます)
- タスク別に整理されたセクション(無関係な指示の解析を減らします)
- Directory scoping(monorepo では、service ごとの指示を分離できます)
最初の 4 つが機能するまでは、style preferences は後回しにしてください。
File Imports
CLAUDE.md 内で他のファイルを参照します。
See @README.md for project overview
Coding standards: @docs/STYLE_GUIDE.md
API documentation: @docs/API.md
Personal preferences: @~/.claude/preferences.md
Import 構文は、relative(@docs/file.md)、absolute(@/absolute/path.md)、home directory(@~/.claude/file.md)です。最大深度は 5 レベルの imports です。6
Cross-Tool Instruction Compatibility
AGENTS.md は、主要な AI coding tool すべてに認識されるオープン標準です。21 チームで複数のツールを使う場合は、AGENTS.md を canonical source として書き、関連セクションをツール固有のファイルへ mirror します。
| Tool | Native File | AGENTS.md を読むか |
|---|---|---|
| Codex CLI | AGENTS.md | はい(native) |
| Cursor | .cursor/rules |
はい(native) |
| GitHub Copilot | .github/copilot-instructions.md |
はい(native) |
| Amp | AGENTS.md | はい(native) |
| Windsurf | .windsurfrules |
はい(native) |
| Claude Code | CLAUDE.md | いいえ(別 format) |
AGENTS.md のパターン(command-first、closure-defined、task-organized)は、ツールに関係なくどの instruction file でも機能します。乖離していく並列の instruction set を保守しないでください。信頼できる source を 1 つ書き、それを mirror します。
Codex Parity Notes
Codex には現在、主要な harness layer に対応する first-class equivalent があります。ただし migration は file copy ではなく、pattern translation です。Codex は作業開始前に AGENTS.md を読み込み、~/.codex からの global guidance に、project と nested repository の instructions を重ねます。31 Codex skills は progressive disclosure を備えた同じ SKILL.md mental model を使います。Codex はまず skill name、description、file path から始め、使うと判断したときだけ full skill を読み込みます。32 Codex には native hooks、plugin-bundled hooks、managed hooks、MCP support、明示的な subagent workflows もあります。3334
Codex v0.138.0–v0.139.0 では、非 trivial な workspace 向けに AGENTS.md discovery が強化されました。読み込みは environment の filesystem abstraction 経由になり、discovery walk 中に logical paths が保持されます。そのため、workspace が remote filesystem や symlinked tree であっても、正しいファイルが選択されます。61 これは、canonical な AGENTS.md が authoritative source であり、agent が mounted、container-materialized、または symlinked checkout 上で動作する場合に重要です。naive な path walk では、誤った instruction file を黙って選ぶか、何も選ばない可能性があるためです。1 つの authoritative な AGENTS.md を services 全体に mirror するなら、agent が実際に読み込んだファイルが自分の書いたものだと信頼するための下限として扱ってください。
Codex v0.141.0 では、remote-execution path 自体も強化されました。remote executors は authenticated かつ end-to-end encrypted な Noise-relay channels 経由で接続するようになり(control plane と executor は、その間の relay を信頼しなくなりました)、cross-platform remote execution は executor の native working directory と shell を保持し、TLS は enterprise proxies 向けに P-521 certificate signatures を受け入れます。65 orchestration が network boundary を越えて Codex executors を動かす場合、これは trusted-relay assumption と end-to-end-encrypted assumption の違いです。remote-executor topology の baseline として扱ってください。
実用上の対応関係は次のとおりです。
| Claude Code harness layer | Codex equivalent | Migration rule |
|---|---|---|
CLAUDE.md / .claude/rules/ |
AGENTS.md / nested AGENTS.override.md |
コマンドと completion rules は canonical に保ちます。directory scope が本当に異なる場合だけ分割します |
.claude/skills/<name>/SKILL.md |
.agents/skills/<name>/SKILL.md or plugin skill |
再利用可能な workflows を port します。ただし descriptions は Codex の activation wording と budget に合わせて書き直します |
.claude/settings.json hooks |
Codex config.toml, plugin hooks, or managed requirements hooks |
deterministic gates を先に port します。広く有効化する前に、各 hook を実際の tool events でテストします |
.claude/agents/*.md |
~/.codex/agents/*.toml, .codex/agents/*.toml, or built-in worker / explorer |
繰り返し価値がある agents だけを port します。Codex subagents は明示的なので、explicit delegation を優先します |
| Plugins | Codex plugins | local hooks と skills が実証された後、配布単位として plugins を使います |
重要な違いは、Claude subagents は descriptions から自動選択され得る一方、Codex は現在 subagent workflows を明示的なものとして文書化している点です。そのため Codex で常時有効な harness behavior には、skills と hooks をデフォルトにするのが適しています。subagents は、意図的な parallel work、review、exploration のためのものです。
Instructions をテストする
agent が実際に instructions を読み、従っているかを検証します。
# Check active instructions
claude --print "What instructions are you following for this project?"
# Verify specific rules are active
claude --print "What is your definition of done?"
Acid test: agent に build commands を説明させてください。逐語的に再現できない場合、instructions が冗長すぎる(content が context から押し出されている)、曖昧すぎる(agent が実行可能な instructions を抽出できない)、または discovery されていない、のいずれかです。GitHub による 2,500 repositories の分析では、失敗の多くは曖昧さが原因だとされています。21
本番環境のパターン
Opus 4.7 の長期タスクパターン(2026年4月)
Claude Opus 4.7(2026年4月16日)には、harness が防御すべき対象を変える具体的な機能が搭載されました:29
- ツール失敗への耐性: Opus 4.7 は、Opus 4.6 のセッションを停止させていたツール失敗があっても処理を継続します。subagent code の防御的な retry wrapper は減らせますが、完全にはなくせません。hook レベルのガードは残し、プロンプト内の「ツールが失敗したら3回再試行する」といった scaffolding は削減しましょう。
xhigheffort tier(Opus-4.7 のみ):highとmaxの中間に位置します。coding と agentic workload の推奨デフォルトです。長時間動作する subagents では、xhighはhighを明確に上回り、token cost の増加も比例未満に収まります。単発の難しい推論には引き続きmaxが適していますが、継続的なタスクにはxhighのほうが向いています。- Token-budget ceiling: agent run ごとに
output_config.task_budget(beta headertask-budgets-2026-03-13)で設定できます。モデルには進行中の countdown が見えるため、突然 token が尽きるのではなく、budget に合わせて作業範囲を自然に調整します。短いプロンプトで品質を犠牲にせず、agentic loop の token spend を予測可能にしたい場合に使います。 - Implicit-need awareness: 「implicit-need」テストに合格した最初の Claude model です。つまり、ユーザーの文字どおりの依頼だけでは実際のニーズが十分に指定されていない場合でも、それを認識できます。これにより、CLAUDE.md の「clarifying rules」セクションの必要性は下がります。CLAUDE.md が「ユーザーが Y を依頼したら X も考慮する」といった guardrails で200行あるなら、すでに native にカバーされるものは整理しましょう。
Worktree Base、Sandbox Paths、Admin Settings(2026年5月7日)
Claude Code v2.1.133 では、本番環境の harness で知っておく価値のある admin-tier settings が4つ追加されました:39
| Setting | Values | What it does |
|---|---|---|
worktree.baseRef |
fresh(デフォルト) | head |
新しい worktrees は再び origin/<default> から分岐します。ローカル HEAD を使っていた v2.1.128 からの breaking-default revert です。新しい worktrees で未 push の commit を利用する運用に依存しているチームでは、worktree.baseRef: "head" を設定してください。 |
sandbox.bwrapPath |
absolute path | Linux/WSL hosts で Bubblewrap binary が $PATH 上にない場合、または vendored version を同梱している場合に、その場所を固定します。 |
sandbox.socatPath |
absolute path | sandbox networking で使われる socat binary についても同じ考え方です。 |
parentSettingsBehavior |
'first-wins'(デフォルト) | 'merge' |
SDK managedSettings が親の enterprise/team settings とどのように合成されるかを制御する admin-tier 設定です。'merge' では child session が継承して拡張できます。'first-wins' では parent が authoritative のままです。 |
ユーザーに注意喚起すべきなのは worktree.baseRef の revert です。v2.1.128〜v2.1.132 の挙動(worktrees がローカル HEAD から分岐すること)に依存していた agents は、明示的に opt back in しない限り、新しい worktrees で未 push の作業にアクセスできなくなります。
Enterprise Observability 向け OTel Feedback Survey(2026年5月8日)
Claude Code v2.1.136 では、OpenTelemetry 経由で回答を取得する enterprise 向けに、セッション内の品質 survey を再度有効化する CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL が追加されました。40 組織が OTel events を中央の observability stack に送っている場合、この env var により survey が data path に戻り、latency や error metrics と同じ pipeline で品質シグナルが流れます。これは opt-in として扱ってください。デフォルトでは survey が抑制されており、非 OTel deployments ではそれが正しい挙動です。
品質ループ
すべての非自明な変更に必須の review process です。
- Implement - code を書く
- Review - すべての行を読み直します。typo、logic errors、不明瞭な箇所を見つけます
- Evaluate - evidence gate を実行します。patterns、edge cases、test coverage を確認します
- Refine - すべての issue を修正します。「後で」に先送りしません
- Zoom Out - integration points、imports、adjacent code に regressions がないか確認します
- Repeat - evidence gate criterion が1つでも失敗したら、step 4 に戻ります
- Report - 何を変更したか、どう検証したかを列挙し、具体的な evidence を引用します
Evidence Gate
「そう思う」「そうなるはず」は evidence ではありません。file paths、test output、specific code を引用します。
| Criterion | Required Evidence |
|---|---|
| codebase patterns に従っている | pattern 名と、それが存在する file を示す |
| 動作する最小の solution である | より単純な alternatives をなぜ採用しなかったか説明する |
| edge cases を扱っている | 具体的な edge cases と、それぞれの処理方法を列挙する |
| tests が pass している | 0 failures を示す test output を貼る |
| regressions がない | 確認した files/features を示す |
| 実際の問題を解決している | ユーザーの need と、それにどう対応しているかを述べる |
どの行についても evidence を出せない場合は、Refine に戻ります。22
人間によるマージ権限
2026年5月の arXiv study は、29,585 件の AI-agent pull-request lifecycle を分析し、operational agency と merge governance を分けて考えています。47 そこから得られる有用な architecture lesson はシンプルです。agents は作業を開始し、branches を進め、PRs を開き、work を review し、risk を要約できます。一方で、merge authority は別の governance boundary として残します。
この boundary は harness で明示してください。agents には PRs の準備と evidence の収集を任せます。merge、release、destructive repository operations には、人間の承認を必須にします。ただし、組織が別途 audited automation policy を持っている場合は例外です。automation が merge を実行する場合は、executor と、それを承認した人間または policy を区別できる logs を残してください。
Error Handling Patterns
Atomic file writes。 複数の agents が同じ state file に同時に書き込むと、JSON が破損します。.tmp files に書き込み、その後 mv で atomic に移動します。同一 filesystem 上では、OS が mv の atomic 性を保証します。17
# Atomic state update
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"
State corruption recovery。 state が破損した場合、recovery pattern では crash するのではなく、安全な defaults から再作成します:16
if ! jq -e '.depth' "$RECURSION_STATE_FILE" &>/dev/null; then
# Corrupted state file, recreate with safe defaults
echo '{"depth": 0, "agent_id": "root", "parent_id": null}' > "$RECURSION_STATE_FILE"
echo "- Recursion state recovered (was corrupted)"
fi
((VAR++)) bash trap。 ((VAR++)) は、VAR が 0 のときに exit code 1 を返します。0++ は 0 に評価され、bash が false と扱うためです。set -e が有効だと、これで script が終了します。代わりに VAR=$((VAR + 1)) を使ってください。16
Blast Radius Classification
すべての agent action を blast radius で分類し、それに応じて gate を設定します:2
| Classification | Examples | Gate |
|---|---|---|
| Local | File writes、test runs、linting | Auto-approve |
| Shared | Git commits、branch creation | Warn + proceed |
| External | Git push、API calls、deployments | 人間の承認を必須にする |
Remote Control(任意の browser や mobile app からローカルの Claude Code に接続する機能)により、「External」gate は blocking wait ではなく async notification になります。前の task をスマートフォンで review している間も、agent は次の task に取り組み続けます。2
自律実行のための Task Specification
効果的な autonomous tasks には、objective、completion criteria、context pointers の3つの要素が含まれます:16
OBJECTIVE: Implement multi-agent deliberation with consensus validation.
COMPLETION CRITERIA:
- All tests in tests/test_deliberation_lib.py pass (81 tests)
- post-deliberation.sh validates consensus above 70% threshold
- recursion-guard.sh enforces spawn budget (max 12 agents)
- No Python type errors (mypy clean)
CONTEXT:
- Follow patterns in lib/deliberation/state_machine.py
- Consensus thresholds in configs/deliberation-config.json
- Spawn budget model: agents inherit budget, not increment depth
Criteria は machine-verifiable である必要があります。test pass/fail、linter output、HTTP status codes、file existence checks などです。初期の task で agent に「pass する tests を書く」と依頼したところ、assert True と assert 1 == 1 が生成されました。技術的には正しいですが、実用上は無価値です。16
| Criteria Quality | Example | Outcome |
|---|---|---|
| 曖昧 | “Tests pass” | Agent が trivial tests を書く |
| 測定可能だが不完全 | “Tests pass AND coverage >80%” | Tests は行を cover するが、意味のある内容を何も test しない |
| 包括的 | “All tests pass AND coverage >80% AND no type errors AND linter clean AND each test class tests a distinct module” | Production-quality output |
注意すべき Failure Modes
| Failure Mode | Description | Prevention |
|---|---|---|
| Shortcut Spiral | 速く終わらせるために quality loop steps を省略する | Evidence gate が各 criterion の proof を要求する |
| Confidence Mirage | verification を実行せずに「I’m confident」と言う | completion reports で hedging language を禁止する |
| Phantom Verification | この session で実行していない tests が pass したと主張する | Stop hook が tests を独立して実行する |
| Deferred Debt | committed code に TODO/FIXME/HACK が残る | git commit の PreToolUse hook が diff を scan する |
| Filesystem Pollution | abandoned iterations からの dead-end artifacts が残る | completion criteria に cleanup step を含める |
具体的な Session Trace
5つの stories を持つ PRD を処理する autonomous run の session trace です:2
-
SessionStart fires。 Dispatcher が current date、project detection、philosophy constraints、cost tracking initialization を注入します。5つの hooks、合計180ms です。
-
Agent が PRD を読み、最初の story を計画します。
UserPromptSubmitが fire します。Dispatcher は active project context と session drift baseline を注入します。 -
Agent が tests を実行するために Bash を呼びます。
PreToolUse:Bashが fire します。Credentials check、sandbox validation、project detection。90ms。Tests が実行されます。PostToolUse:Bashが fire し、activity heartbeat が log され、drift check が行われます。 -
Agent が file を作成するために Write を呼びます。
PreToolUse:Writeが fire し、file scope check が行われます。PostToolUse:Writeが fire し、lint check と commit tracking が行われます。 -
Agent が story を終えます。
Stopが fire します。Quality gate が確認します。agent は evidence を引用したか。Hedging language はあるか。diff に TODO comments はあるか。check が1つでも失敗すると exit 2 となり、agent は続行します。 -
Independent verification: fresh agent が、前の agent の self-report を信頼せずに test suite を実行します。
-
3つの code review agents が並列に spawn します。 それぞれが diff を独立して review します。reviewer のいずれかが CRITICAL を指摘した場合、story は queue に戻ります。
-
Story が pass し、次の story が load されます。 この cycle が5つすべての stories で繰り返されます。
5つの stories 全体で fire した hooks の総数は約340。hooks にかかった総時間は約12秒です。この overhead により、1回の overnight run で3件の credential leaks、1件の destructive command、2件の incomplete implementations を防ぎました。
Case Study: Overnight PRD Processing
本番環境の harness は、8回の overnight sessions で12件の PRDs(47 stories)を処理しました。Metrics は、最初の4件の PRDs(minimal harness: CLAUDE.md のみ)と、最後の8件(full harness: hooks、skills、quality gates、multi-agent review)を比較しています。
| Metric | Minimal(4 PRDs) | Full Harness(8 PRDs) | Change |
|---|---|---|---|
| Credential leaks | 2件が git に leak | 7件を pre-commit で block | Reactive から preventive へ |
| Destructive commands | main への force-push が1件 | 4件を block | Exit 2 enforcement |
| False completion rate | 35% が tests fail | 4% | Evidence gate + Stop hook |
| Revision rounds/story | 2.1 | 0.8 | Skills + quality loop |
| Context degradation | 6 incidents | 1 incident | Filesystem memory |
| Token overhead | 0% | ~3.2% | 無視できる程度 |
| Hook time/story | 0s | ~2.4s | 無視できる程度 |
2件の credential leaks では、API keys の rotation と downstream services の audit が必要になり、incident response におよそ4時間かかりました。同等の事態を防いだ harness overhead は、story あたり2.4秒の bash でした。false completion rate が35%から4%に下がったのは、agent に完了報告を許可する前に Stop hook が独立して tests を実行したためです。
セキュリティ上の考慮事項
信頼できる Agent の5原則(Anthropic、2026年4月)
Anthropic は、2026年4月9日に Agent の信頼性に関する正式なフレームワークを公開しました。27 5つの原則は、このガイドの Evidence Gate の考え方と対応しつつ、それを拡張するものです。
| 原則 | 意味 | この harness がどう満たすか |
|---|---|---|
| 人間による制御 | すべての意思決定ポイントで意味のある人間の上書きができること | hooks がツール呼び出しをゲートします。PreCompact blocking。Auto Mode classifier をチェック層として使います |
| 価値整合性 | Agent の行動が周辺的な目標ではなく、ユーザーの意図に沿うこと | CLAUDE.md を明示的な意図仕様として使います。skills で能力範囲を限定します |
| セキュリティ | 敵対的入力やプロンプトインジェクションへの耐性 | sandbox + deny-rules + hook 層での入力検証 |
| 透明性 | 意思決定と行動の監査可能な記録 | Hook logging。セッショントランスクリプト。skill 呼び出しトレース |
| プライバシー | 適切なデータ取り扱いとガバナンス | 認証情報 env-var のスクラブ。hook 層でのシークレット検出 |
Anthropic はまた、MCP を Linux Foundation の Agentic AI Foundation に寄贈し、AGENTS.md(現在は OpenAI、Google、Cursor、Factory、Sourcegraph と共同管理)に加わりました。Agent 相互運用性の標準は、いまやベンダーニュートラルです。27
Skill sandbox tooling: skills を攻撃対象領域として扱うチーム向けに、Permiso の SandyClaw(2026年4月2日ローンチ)は専用 sandbox 内で skills を実行し、Sigma/YARA/Nova/Snort 検出に基づく evidence-backed verdicts を提供します。skill-sandbox カテゴリー初の製品です。28
Sandbox
Claude Code は任意の sandbox モードをサポートしています(settings.json または /sandbox コマンドで有効化)。これは OS レベルの分離(macOS では seatbelt、Linux では bubblewrap)を使って、ネットワークアクセスとファイルシステム操作を制限します。有効にすると、sandbox はモデルが任意のネットワークリクエストを行ったり、プロジェクトディレクトリ外のファイルへアクセスしたりするのを防ぎます。sandbox を使わない場合、Claude Code は個別のツール呼び出しを承認または拒否する、権限ベースのモデルを使用します。13
2026年5月のセキュリティ下限。 Claude Code v2.1.149 では、PowerShell の作業ディレクトリ権限バイパス、複数の PowerShell allow-rule と stale-variable permission-analysis の抜け、そして共有 git 内部だけでなくメインリポジトリルート全体を対象にしていた git-worktree sandbox 書き込み allowlist のバグが修正されました。53 harness で PowerShell や worktree 分離 Agent を許可する場合は、v2.1.149+ を下限として扱い、shell ルールは狭く保ってください。広い PowerShell(*) やリポジトリ全体への書き込み例外はオーケストレーション上の近道であり、安全境界ではありません。
OpenAI Agents SDK sandbox lockdown(v0.17.0、2026年5月8日)。 OpenAI 側では、openai-agents-python v0.17.0 が並行する境界を強化しました。LocalFile.src と LocalDir.src は、Manifest.extra_path_grants で SandboxPathGrant を使って明示的に許可されていない限り、materialization base_dir(manifest 適用時の SDK プロセスの現在の作業ディレクトリ)内に制約されるようになりました。41 相対ローカルソースは base_dir から解決されます。絶対パスは、すでにその内側にあるか、grant を持っている必要があります。これにより、ローカルアーティファクト境界の問題が閉じられます。以前のバージョンでは、manifest が任意のホストパスを sandbox workspace に取り込めました。移行方法: 読み取り専用マウントには、manifest レベルで SandboxPathGrant(path=..., read_only=True) を使い、信頼済みホストルートを宣言してください。extra_path_grants は信頼済みアプリケーション設定として扱い、モデル出力や信頼できない manifest 入力から grant を生成してはいけません。
OpenAI Agents SDK follow-up floor(v0.17.3)。 0.17.1〜0.17.3 系では、sandbox とセッションの堅牢化がさらに追加されました。アーカイブ展開制限、GitRepo サブパス検証、より明確な sandbox-provider エラー、sandbox コマンドからの mountpoint credentials 排除、相対 sandbox workspace ルートの拒否、Vercel-sandbox terminal-state 処理です。54 Claude Code hooks だけでなく OpenAI-hosted または provider-backed sandboxes を使っている場合、このセクションのパターンでは 0.17.3 を現在の下限として扱ってください。
権限境界
権限システムは複数のレベルで操作をゲートします。
| レベル | 制御対象 | 例 |
|---|---|---|
| ツール権限 | 使用できるツール | subagent を Read、Grep、Glob に制限する |
| ファイル権限 | 変更できるファイル | .env、credentials.json への書き込みをブロックする |
| コマンド権限 | 実行できる bash コマンド | rm -rf、git push --force をブロックする |
| ネットワーク権限 | アクセスできるドメイン | MCP サーバー接続用の allowlist |
パラメータレベルの権限ルール(2026年6月)
Claude Code v2.1.178 では、権限ルールがツールレベルからパラメータレベルまで拡張されました。Tool(param:value) はツールの入力パラメータに対してマッチし、* はワイルドカードとして機能します。標準的な例は Agent(model:opus) です。これは、特定のモデル階層で subagents が起動されるのをブロックするルールです。63 アーキテクチャ上、これは上の4レベル表では表現できなかったギャップを閉じます。以前はツール全体を許可または拒否できましたが、それがどのように呼び出されるかは制約できませんでした。ガバナンスポリシーで、「subagents の起動は許可するが、Fable 5 階層では許可しない」や「Bash は許可するが、このフラグ付きでは許可しない」といった指定を、プロンプトレベルの依頼ではなく決定論的なルールとして書けるようになりました。
付随する管理設定 enforceAvailableModels(v2.1.175)は、モデル選択を上位から制約します。Default model を固定し、ユーザーまたはプロジェクトスコープの設定が管理対象の availableModels allowlist を広げるのを防ぎます。63 この2つは組み合わせて使えます。allowlist はセッションに存在できる階層を定義し、パラメータレベルのルールは subagents がそこからどう選ぶかを制約します。
Auto-Mode の破壊的コマンド Guardrails(2026年6月)
Claude Code v2.1.183 では、作業を静かに失わせたり環境を破壊したりする操作について、auto mode の影響範囲が狭められました。auto mode は現在、セッション内で明示的に依頼されていない限り、破壊的な git 操作(git reset --hard、git checkout -- .、git clean -fd、git stash drop)、そのセッションで Agent が作成していない commit に対する git commit --amend、そして特定の stack を名指ししていない infrastructure teardown(terraform destroy、pulumi destroy、cdk destroy)を hard-block します。65 アーキテクチャ上、これは上の spawn-vetting とパラメータレベルルールを補完するものです。どのツールか、またはどう起動されるかをゲートするのではなく、意図に基づいて少数の具体的で不可逆なコマンドをゲートします。Agent はそれらを実行できますが、自発的にではなく、明示的な指示がある場合だけです。自律型 harness では、同じ原則を自前の PreToolUse hooks にエンコードしてください。状態を破壊するコマンドには、明示的なオペレーターシグナルがある場合にだけ解除される deny-by-default ルールが必要です。
プロンプトインジェクション防御
Skills と hooks は、プロンプトインジェクションに対する多層防御を提供します。
ツール制限付きの skills は、侵害されたプロンプトが書き込みアクセスを得るのを防ぎます。
allowed-tools: Read, Grep, Glob
PreToolUse hooks は、モデルがどのようにプロンプトされたかに関係なく、すべてのツール呼び出しを検証します。
# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
echo "BLOCKED: Sensitive file access" >&2
exit 2
fi
Subagent isolation は影響範囲を制限します。permissionMode: plan の subagent は、プロンプトが侵害されても変更を加えられません。
Agent Logs と Guardrails はセキュリティ表面です
2026年5月の2つの勧告は、あるパターンを補強しています。Agent infrastructure は、機密コンテンツや実行可能ポリシーが漏えいまたは脱出する新しい場所を作ります。GitHub Advisory GHSA-f3jg-756w-gm35 は、Gryph Agents の payload-filter 問題を扱っています。デフォルトの logging 動作では、機密性の高い tool-payload コンテンツがローカル SQLite ログに残る可能性がありました。45 OSV GHSA-wxxx-gvqv-xp7p は、LiteLLM の custom-code guardrail が admin-protected proxy endpoint で sandbox escape する問題を扱っています。46
本番運用のルールはこうです。agent transcripts、tool payloads、SQLite logs、guardrail execution は機密 infrastructure として扱ってください。永続化前に redact し、保持期間を制限し、custom guardrail code は sandbox 化してレビュー可能に保ちます。プロンプトレベルの「シークレットをログに記録しない」というルールだけでは不十分です。logging と guardrail の経路には、決定論的なテストが必要です。
Hook Security
環境変数をヘッダーに挿入する HTTP hooks では、任意の環境変数の流出を防ぐために、明示的な allowedEnvVars リストが必要です。13
{
"type": "http",
"url": "https://api.example.com/notify",
"headers": {
"Authorization": "Bearer $MY_TOKEN"
},
"allowedEnvVars": ["MY_TOKEN"]
}
人間と Agent の責任分界
Agent アーキテクチャのセキュリティには、人間と Agent の責任を明確に分けることが必要です。17
| 人間の責任 | Agent の責任 |
|---|---|
| 問題定義 | Pipeline execution |
| 信頼度しきい値 | しきい値内での実行 |
| 合意要件 | 合意計算 |
| Quality gate criteria | Quality gate enforcement |
| エラー分析 | エラー検出 |
| アーキテクチャ上の意思決定 | アーキテクチャ選択肢 |
| ドメインコンテキスト注入 | ドキュメント生成 |
パターンはこうです。組織的コンテキスト、倫理的判断、戦略的方向性を必要とする意思決定は人間が担います。大きな可能性空間に対する計算的探索を必要とする意思決定は Agent が担います。Hooks がその境界を強制します。
再帰的な Hook Enforcement
Hooks は subagent の行動にも発火します。13 Claude が Agent tool を介して subagent を起動すると、その subagent が使うすべてのツールに対して PreToolUse と PostToolUse hooks が実行されます。再帰的な hook enforcement がなければ、subagent は安全ゲートを迂回できてしまいます。SubagentStop イベントを使うと、subagent 完了時にクリーンアップや検証を実行できます。
これは任意ではありません。セキュリティ hooks なしで subagent を起動する Agent は、main に force-push したり、認証情報ファイルを読んだり、破壊的コマンドを実行したりできます。その間、ゲートはメイン会話が何もしていないのを見ているだけになります。
コストをアーキテクチャとして扱う
コストはアーキテクチャ上の意思決定であり、運用上の後付けではありません。2 3つのレベルがあります。
Token level。 システムプロンプトの圧縮。チュートリアル的なコード例は削除します(モデルは APIs を知っています)。ファイル間で重複するルールをまとめ、説明を制約に置き換えます。「機密パスに一致するツール呼び出しを拒否する」は、認証情報を読むべきではない理由を15行で説明するのと同じ働きをします。
Agent level。 長い会話よりも新規 spawn を使います。自律実行の各 story には、クリーンなコンテキストを持つ新しい Agent を割り当てます。各 Agent が新しく始まるため、コンテキストは膨れ上がりません。memory ではなく briefing を使います。モデルは、30ステップ分の蓄積されたコンテキストをたどるよりも、明確な briefing をうまく実行します。
Architecture level。 操作が stateless なら、MCP より CLI-first です。ワンショット評価の claude --print 呼び出しはコストが低く、接続オーバーヘッドも追加しません。MCP が理にかなうのは、ツールが永続状態または streaming を必要とする場合です。
判断フレームワーク
各仕組みを使うタイミング:
| 問題 | 使用するもの | 理由 |
|---|---|---|
| すべての編集後にコードを整形する | PostToolUse hook | 毎回、決定的に実行する必要があるため |
| 危険な bash コマンドをブロックする | PreToolUse hook | 実行前にブロックする必要があり、exit code 2 を使うため |
| セキュリティレビューのパターンを適用する | Skill | 文脈に応じて自動起動するドメイン知識のため |
| コンテキストを汚さずに codebase を探索する | Explore subagent | コンテキストが分離され、要約だけを返すため |
| 実験的なリファクタリングを安全に実行する | Worktree-isolated subagent | 失敗した場合に変更を破棄できるため |
| 複数の視点からコードをレビューする | Parallel subagents または Agent Team | 独立した評価により見落としを防げるため |
| 取り消せないアーキテクチャを決定する | Multi-agent deliberation | 信頼度トリガーと合意検証が必要なため |
| セッションをまたいで決定を保持する | MEMORY.md | ファイルシステムはコンテキスト境界を越えて残るため |
| チーム標準を共有する | Project CLAUDE.md + .claude/rules/ | Git で配布され、自動的に読み込まれるため |
| プロジェクトの build/test コマンドを定義する | CLAUDE.md | Agent が検証できるコマンド優先の指示になるため |
| 長時間の自律開発を実行する | Ralph loop(fresh-context iteration) | 各イテレーションでコンテキスト予算全体とファイルシステム状態を使えるため |
| セッション終了時に Slack へ通知する | Async Stop hook | 非ブロッキングで、セッションを遅くしないため |
| commit 前に品質を検証する | git commit に対する PreToolUse hook | lint/tests が失敗した場合に commit をブロックするため |
| 完了条件を強制する | Stop hook | タスクが終わる前に Agent が停止するのを防ぐため |
Skills vs Hooks vs Subagents
| 観点 | Skills | Hooks | Subagents |
|---|---|---|---|
| 呼び出し | 自動(LLM reasoning) | 決定的(イベント駆動) | 明示的、または自動委譲 |
| 保証 | 確率的(モデルが判断) | 決定的(常に発火) | 決定的(分離されたコンテキスト) |
| コンテキストコスト | メインコンテキストに注入 | ゼロ(LLM の外で実行) | 別のコンテキストウィンドウ |
| トークンコスト | Description 予算(ウィンドウの1%、フォールバックは8,000文字) | ゼロ | subagent ごとにフルコンテキスト |
| 最適な用途 | ドメイン知識 | ポリシー強制 | 集中的な作業、探索 |
FAQ
hooks はいくつあると多すぎますか?
制約になるのは数ではなくパフォーマンスです。各 hook は同期的に実行されるため、hook の合計実行時間が、マッチしたすべての tool call に加算されます。各 hook が 200ms 未満で完了するなら、user-level と project-level の設定を合わせて 95 個の hooks があっても、目立つ遅延なく動作します。注視すべきしきい値は、PostToolUse hook がすべてのファイル編集に 500ms を超える遅延を追加する場合です。その場合、セッションが重く感じられます。デプロイ前に time で hooks をプロファイルしてください。14
hooks で Claude Code のコマンド実行をブロックできますか?
はい。PreToolUse hooks は code 2 で終了することで、任意の tool action をブロックできます。Claude Code は保留中の action をキャンセルし、hook の stderr 出力をモデルに表示します。Claude は拒否理由を確認し、より安全な代替案を提案します。Exit 1 は非ブロッキング警告であり、action はそのまま続行されます。3
hook 設定ファイルはどこに置くべきですか?
Hook 設定は、project-level hooks なら .claude/settings.json(リポジトリに commit し、チームと共有)、user-level hooks なら ~/.claude/settings.json(個人用で、すべてのプロジェクトに適用)に置きます。両方が存在する場合は project-level hooks が優先されます。作業ディレクトリの問題を避けるため、スクリプトファイルには絶対パスを使ってください。14
すべての決定に deliberation が必要ですか?
いいえ。confidence module は、曖昧さ、複雑さ、影響度、コンテキスト依存性という 4 つの観点で決定をスコアリングします。全体の信頼度が 0.70 未満の決定だけが deliberation をトリガーし、これは全体の決定のおよそ 10% です。ドキュメント修正、変数名変更、定型的な編集では deliberation は完全にスキップされます。セキュリティアーキテクチャ、データベーススキーマ変更、取り消せないデプロイでは一貫してトリガーされます。7
意見の不一致を生むように設計されたシステムは、どうテストすればよいですか?
成功パスと失敗パスの両方をテストします。成功とは、agents が建設的に意見を分け、合意に到達することです。失敗とは、agents が早すぎる収束をする、まったく収束しない、または spawn 予算を超えることです。End-to-end tests では、決定的な agent responses を使って各シナリオをシミュレートし、両方の validation gates が文書化されたすべての failure mode を検出することを確認します。本番の deliberation system では、3 つの層にわたって 141 件のテストを実行します。内訳は、48 件の bash integration tests、81 件の Python unit tests、12 件の end-to-end pipeline simulations です。7
deliberation のレイテンシへの影響はどのくらいですか?
3-agent deliberation では、実時間で 30〜60 秒が追加されます(agents は Agent tool を通じて順次実行されます)。10-agent deliberation では 2〜4 分が追加されます。consensus hook と pride check hook は、それぞれ 200ms 未満で実行されます。主なボトルネックは orchestration overhead ではなく、agent ごとの LLM inference time です。7
CLAUDE.md ファイルの長さはどれくらいが適切ですか?
各セクションは 50 行未満、ファイル全体は 150 行未満に抑えてください。長いファイルはコンテキストウィンドウで切り詰められるため、最も重要な指示を先頭に置きます。style preferences より前に、commands と closure definitions を配置してください。21
これは Claude Code 以外のツールでも使えますか?
アーキテクチャ上の原則(決定的な gate としての hooks、ドメイン知識としての skills、分離コンテキストとしての subagents、memory としての filesystem)は、概念的にはどの agentic system にも適用できます。具体的な実装では、Claude Code の lifecycle events、matcher patterns、Agent tool を使っています。AGENTS.md は同じパターンを Codex、Cursor、Copilot、Amp、Windsurf に持ち込みます。21 実装の詳細が tool-specific であっても、harness pattern 自体は tool-agnostic です。
クイックリファレンスカード
Hook Configuration
{
"hooks": {
"PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
"PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
"Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
"SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
}
}
Skill Frontmatter
---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---
Subagent Definition
---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
Instructions for the subagent.
Exit Codes
| Code | 意味 | 用途 |
|---|---|---|
| 0 | 成功 | 操作を許可する |
| 2 | ブロック | セキュリティ gate、品質 gate |
| 1 | 非ブロッキング警告 | ログ記録、助言メッセージ |
Key Commands
| Command | 目的 |
|---|---|
/compact |
コンテキストを圧縮し、決定を保持する |
/context |
コンテキスト配分と有効な skills を確認する |
/agents |
subagents を管理する |
/goal <condition> |
Claude が完了条件に向けて作業を続けるようにする |
claude agents |
実行中、ブロック中、完了済みセッションの Agent View を開く |
CLAUDE_CODE_WORKFLOWS=1 |
決定的な multi-agent orchestration のために Workflow tool を有効にする |
claude -c |
直近のセッションを続行する |
claude --print |
1 回限りの CLI 呼び出し(会話なし) |
# <note> |
memory file に note を追加する |
/memory |
auto-memory を表示・管理する |
File Locations
| Path | 目的 |
|---|---|
~/.claude/CLAUDE.md |
個人用のグローバル指示 |
.claude/CLAUDE.md |
プロジェクト指示(git-shared) |
.claude/settings.json |
プロジェクトの hooks と permissions |
~/.claude/settings.json |
ユーザーの hooks と permissions |
~/.claude/skills/<name>/SKILL.md |
個人用 skills |
.claude/skills/<name>/SKILL.md |
プロジェクト skills(git-shared) |
~/.claude/agents/<name>.md |
個人用 subagent definitions |
.claude/agents/<name>.md |
プロジェクト subagent definitions |
.claude/rules/*.md |
プロジェクト rule files |
~/.claude/rules/*.md |
ユーザー rule files |
~/.claude/projects/{path}/memory/MEMORY.md |
Auto-memory |
変更履歴
| 日付 | 変更 |
|---|---|
| 2026-06-20 | ガイド v1.20: Claude Code v2.1.183 + Codex v0.141.0 — ガバナンスとリモート実行セキュリティ。 Security Considerations に auto-mode の破壊的コマンド guardrails(CC v2.1.183 は、依頼されていない限り git reset --hard/checkout -- ./clean -fd/stash drop、非エージェントコミットへの git commit --amend、名前付きスタックなしの terraform/pulumi/cdk destroy を hard-block します)を追加しました。parameter-level ルールと spawn-vetting を補完する intent-level の仕組みとして位置づけています。また Codex Parity Notes に 暗号化された Noise-relay リモート executor(Codex v0.141.0: end-to-end encrypted executor channels、cross-platform cwd/shell preservation、P-521 TLS)を追加しました。 |
| 2026-06-16 | ガイド v1.19: Claude Code v2.1.173–v2.1.179 のガバナンス + スコープ指定プリミティブ、さらに Codex v0.140.0 の cross-tool import。 v2.1.178 リリースを本文に反映しました。Security → Permission Boundaries には、* wildcard 付きの parameter-level permission rules Tool(param:value)(例: model tier をブロックする Agent(model:opus))と、enforceAvailableModels managed setting(v2.1.175)を追加しました。Subagent Patterns には、auto mode が起動前に subagent spawn を検査するようになったことで spawn-as-bypass の隙間を閉じた点を追加しました。Skills System には、ネストした .claude/ ツリー内の skills/agents/workflows/output-styles に対する ネストされた .claude/skills の読み込み + closest-wins resolution を追加しました。Subagent Configuration Fields には、disallowedTools の MCP server-spec matching fix を追加しました。Codex parity note には、Codex の /import cross-tool portability + permanent session deletion(v0.140.0)を追加しました。 |
| 2026-06-10 | ガイド v1.18: 再帰的 sub-agents(Claude Code v2.1.172)。 Recursion Guard サブセクションに注記を追加しました。Claude Code sub-agents は、自身の sub-agents を spawn できるようになり、最大 5 階層までネストできます。以前は委譲が実質的に 1 階層に限られていました(v2.1.172、6月10日)。userland の spawn-budget/depth-cap パターンは、5 階層のツリーが扇状に膨れ上がるのを抑える制御として再整理しました。5 階層は default ではなく platform ceiling として扱っています。 |
| 2026-06-09 | ガイド v1.17: Claude Code v2.1.169–v2.1.170 + Codex v0.138.0–v0.139.0 のガバナンスと multi-agent-v2 hardening。 検証済みの harness-architecture 変更を 5 件、本文に反映しました。Skills System には 「Hiding the Bundled Surface as Governance」 サブセクションを追加しました。disableBundledSkills 設定(および CLAUDE_CODE_DISABLE_BUNDLED_SKILLS env var)は、意図的な攻撃対象領域の縮小として、bundled skills、workflows、組み込み slash commands を model から隠します(v2.1.169)。June Hook-Architecture サブセクションには --safe-mode flag(および CLAUDE_CODE_SAFE_MODE)を追加しました。これは、CLAUDE.md、plugins、skills、hooks、MCP など すべて のカスタマイズを無効にして session を開始し、clean-room troubleshooting と governance を可能にします(v2.1.169)。さらに model-tier note を追加しました。Anthropic の Claude Fable 5(claude-fable-5)は 6月9日に Opus より上位の Mythos-class tier として公開され、v2.1.170 では /model claude-fable-5 で選択できます。一方、Opus 4.8 は引き続き Claude Code の agentic default です。Memory and Context には /cd command(v2.1.169)を追加しました。これは mid-session prompt cache を壊さずに session を新しい working directory へ移動します。Multi-Agent Orchestration / Codex Parity は production 向けに強化しました。close_agent は interrupt_agent に名称変更(v0.139.0)、暗号化された inter-agent message payloads、v2 agent config catalog、agent-residency LRU、active execution で数える concurrency(v0.138.0)、remote/symlinked workspaces で正しくファイル選択するための logical paths を保持した environment filesystems 経由の AGENTS.md discovery(v0.138.0/v0.139.0)、そして parent に重複表示する代わりに subagent MCP-startup warnings を owning thread に scoped する変更(v0.139.0)を反映しています。 |
| 2026-06-08 | ガイド v1.16: Claude Code v2.1.162–v2.1.166 + Codex v0.137.0 からの 6月 agent-architecture パターン。 「Stop-hook steering, cross-session authority, and multi-agent v2」 サブセクションを追加し、harness に関係する 4 つの変更を扱いました。(1) Stop/SubagentStop hooks は hookSpecificOutput.additionalContext を返して、「まだ完了していない理由」を示す feedback を注入し、hook-error block なしで turn を継続できます(v2.1.163)。(2) cross-session messaging が強化され、別 session から SendMessage で relay された message は、送信元 user の authority を持たなくなりました。受信した inter-agent messages は untrusted data として扱います(v2.1.166)。(3) fallbackModel 設定は最大 3 つの backup models をチェーンし、retry 不能な API errors に対して one-shot fallback retry を行います。また claude agents --json には fleet observability 用の waitingFor field が追加されました(v2.1.162/166)。(4) Codex multi-agent v2(v0.137.0)は runtime を各 thread とともに保持し、hide_spawn_agent_metadata を default で true にし、parent events を child listeners へ伝播し、per-turn catalog resolution と thread-start/turn-error lifecycle contributor events を備えた v1 skills extension を追加しました。AGENTS.md の spec 変更はありません(引き続き Agentic-AI-Foundation-stewarded で、versioned changelog はありません)。 |
| 2026-05-31 | ガイド v1.15: Claude Code v2.1.157 + Hermes v0.15.1/v0.15.2 patches。 「Plugin and Skill Convergence in .claude/skills/」 サブセクションを追加しました。Claude Code v2.1.157 では、project の .claude/skills/ directory 内の任意の folder が marketplace registration なしで plugin として auto-load され、claude plugin init <name> は manifest + SKILL.md を備えた新しい plugin をそこに scaffold します。harness への影響は実質的です。小さな範囲の project tooling は、version control 内に置くために manifest tax を払う必要がなくなりました。一方で plugins は、引き続き bundled-installable ZIP shape を所有します。同じ release では、Claude-managed worktrees 間を mid-session で切り替える EnterWorktree が追加され、agent 完了後も background worktrees が unlock されたままになるため、git worktree remove/prune がきれいに動作します。Hermes Agent v0.15.1(5月29日)は同日公開の Velocity hotfix です。loopback mode で dashboard 401 reload-loop を修正し、Docker は明示的な HERMES_DASHBOARD_INSECURE=1 を要求するようになり、MCP bare commands(npx, npm, node)は Docker で解決され、Skills page が復元され、Kanban workers は SIGTERM に正常応答し、Skills.sh catalog は sitemap により 858 → 19,932 entries に増えました。Hermes v0.15.2(5月29日)は packaging-only hotfix で、wheel と sdist distributions に plugin.yaml manifests を同梱します。 |
| 2026-05-28 | ガイド v1.14: Claude Code v2.1.152-v2.1.154 + Codex v0.134.0-v0.135.0 + Hermes v0.15.0 architecture-pattern pass。 Claude Code は defaults を変更し、orchestration primitives を追加しました。Opus 4.8 が high effort default の新しい default となり、新たに /effort xhigh が追加されました。dynamic workflows は /workflows を通じて、数十から数百の agents を background で orchestrate します。lean system prompt は Haiku/Sonnet/Opus 4.7 以前を除くすべての models で default になりました。新しい MessageDisplay hook event により、hooks は表示時の assistant text を transform または hide できます。skill/command frontmatter の disallowed-tools は、skill が active な間に tools を取り除きます。/reload-skills は restart なしで skill directories を再 scan します。SessionStart hooks は reloadSkills: true を返し、hookSpecificOutput.sessionTitle を設定できます。primary が欠落している場合、--fallback-model は mid-session で切り替えます。auto mode は opt-in consent を不要にしました。pluginSuggestionMarketplaces managed setting は、context-aware suggestions 用に org marketplaces を allowlist します。claude agents は ! <command> background-shell sessions を受け付けます。plugins は defaultEnabled: false を宣言できます。stdio MCP subprocess env には CLAUDE_CODE_SESSION_ID と CLAUDECODE=1 が含まれるようになりました。Codex v0.134.0 では、CLI、TUI permissions、sandbox flows 全体で --profile が primary profile selector になり(legacy configs は migration guidance 付きで拒否)、local conversation-history search が追加され、per-server environment targeting と streamable HTTP servers 向けの OAuth により MCP setup が改善され、さらに readOnlyHint を advertise する read-only MCP tools は concurrent に実行可能 になりました。v0.135.0 では、より詳しい codex doctor diagnostics、/status remote details、vim text-object editing、/permissions の named permission profiles、Python SDK の Sandbox presets が追加されました。Hermes Agent v0.15.0(5月28日)は Velocity release です。run_agent.py は 14 modules にわたり 76% refactor され、auto-decomposition と swarm topology を備えた multi-agent Kanban v2、provider ごとの keys を 1 つの bootstrap token に置き換える Bitwarden Secrets Manager、3 つの security chokepoints で Brainworm-class prompt injection を防ぐ Promptware defense、skill bundles、1 つの terminal で multi-session management を行う TUI session orchestrator、LLM dependency を取り除いた 4,500 倍高速な session_search が含まれます。Harness-architecture への示唆として、named-profile パターン(Codex --profile、Claude Code pluginSuggestionMarketplaces)は multi-tenant agent runtimes の標準的な configuration primitive になりつつあります。concurrent read-only MCP tools(Codex readOnlyHint)は、non-mutating context fetches を fan out する正しいパターンです。MessageDisplay hook は、PostToolUse や Stop からは届かなかった first-class transformation surface を operators に提供します。そして lean-system-prompt default は、operator-defined context と provider scaffolding の間に長く存在した trade-off を取り除きます。 |
| 2026-05-24 | ガイド v1.13: Claude Code v2.1.150 + OpenAI Agents SDK v0.17.3 security/currentness pass。 local の claude --version は 2.1.144 (Claude Code) を返し、@anthropic-ai/claude-code の npm latest は 2.1.150、GitHub latest release は v2.1.150 を返しました。v2.1.149 の harness guidance として、PowerShell permission-bypass fixes、PowerShell allow-rule/stale-variable permission-analysis fixes、git-worktree sandbox write-allowlist fix を追加しました。v2.1.150 は internal infrastructure のみで、発表された user-facing changes はないことも記載しました。openai-agents の PyPI latest は 0.17.3 を返したため、OpenAI sandbox section には archive extraction、GitRepo subpaths、sandbox credentials、relative workspace roots、provider terminal-state handling に関する 0.17.1-0.17.3 follow-up hardening を追記しました。5354 |
| 2026-05-21 | ガイド v1.12: Claude Code v2.1.147 Workflow pass。 local の claude --version は 2.1.144 (Claude Code) を返し、@anthropic-ai/claude-code の npm latest は 2.1.147 を返しました。off-by-default の Workflow tool を first-party deterministic multi-agent orchestration primitive として追加し、hooks、tests、review gates、spawn budgets、evidence reports が引き続き correctness boundary であることを明確にしました。52 |
| 2026-05-15 | ガイド v1.11: Claude Code v2.1.142 background-session and plugin reliability pass。 local の claude --version は 2.1.141 (Claude Code) を返し、@anthropic-ai/claude-code の npm latest は 2.1.142 を返しました。新しい claude agents dispatch flags、Opus 4.7 Fast-mode default、root-level plugin SKILL.md discovery、plugin LSP visibility、MCP_TOOL_TIMEOUT remote HTTP/SSE behavior、background-session / daemon / plugin-cache reliability fixes に関する operator guidance を追加しました。51 |
| 2026-05-14 | ガイド v1.10: Claude Code v2.1.141 operator-signaling and scoping pass。 local の claude --version は 2.1.141 (Claude Code) を返し、@anthropic-ai/claude-code の npm latest は 2.1.141 を返しました。terminalSequence を enforcement ではなく operator signaling として扱う hook guidance を追加し、directory-scoped Agent View 用の claude agents --cwd <path> を記載しました。また plugin installation と workload-identity federation scoping における CLAUDE_CODE_PLUGIN_PREFER_HTTPS と ANTHROPIC_WORKSPACE_ID の architecture impact を文書化しました。50 |
| 2026-05-13 | ガイド v1.9: Claude Code v2.1.140 reliability pass。 local の claude --version は 2.1.140 (Claude Code) を返しました。agent-hook guidance に subagent_type を追加し、v2.1.140 の ConfigChange、disableAllHooks、allowManagedHooksOnly、permission-dialog env-var display、settings sync 後の custom style reset、Windows Git Bash native-package fallback、/scroll-speed behavior の修正に合わせて hook governance section を更新しました。49 |
| 2026-05-11 | ガイド v1.8: Claude Code v2.1.139 currentness pass + focused agent-security/memory scan。 local の claude --version が 2.1.139 であることを確認し、v2.1.139 の operational changes を追加しました。claude agents による Agent View、/goal completion loops、command-hook args、PostToolUse continueOnBlock、MCP CLAUDE_PROJECT_DIR、OpenTelemetry active-time fix です。424344 さらに、「The Memory Curse」arXiv preprint からの memory-curation warning、PR-lifecycle arXiv preprint からの human merge-authority guidance、Gryph Agents と LiteLLM advisories からの agent-log/guardrail security guidance を追加しました。45464748 古くなっていた Skills vs Hooks vs Subagents の token-budget 行を、2% から現在の 1% / 8,000-character skill-description budget に修正しました。 |
| 2026-05-09 | ガイド v1.7: Claude Code v2.1.136 + openai-agents-python v0.17.0 に関する Day-3 follow-up。 Hook Architecture に autoMode.hard_deny と v2.1.136 hook/plugin fixes サブセクションを追加しました。新しい unconditional-block tier、VS Code/JetBrains/Agent SDK 全体での MCP-disappears-after-/clear fix、concurrent refresh 時の MCP OAuth refresh-token loss、Edit(...) allow rule が一致した場合の plan-mode write-block fix、plugin Stop/UserPromptSubmit cache-cleanup race、default skills/ dir を隠す skills entry、/resume//clear 後に CLAUDE_ENV_FILE SessionStart-hook env vars が stale になる問題を扱っています。40 Production Patterns に OTel Feedback Survey サブセクションを追加し、CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL を扱いました。40 The Sandbox サブセクションには openai-agents-python v0.17.0 lockdown を追加しました。LocalFile.src / LocalDir.src は、SandboxPathGrant を使った Manifest.extra_path_grants で許可されない限り、base_dir 内に制限されます。41 Managed vs. Self-Hosted Harnesses には RealtimeAgent default-model note(gpt-realtime-2)を追加しました。41 Changelog-only: Claude Code v2.1.137(Win VSCode activation fix)、v2.1.138(internal fixes)。claude-agent-sdk-python v0.1.78(CLI v2.1.136 bundle)、v0.1.79(CLI v2.1.137 bundle)、v0.1.80(CLI v2.1.138 bundle)。 |
| 2026-05-08 | ガイド v1.6: Claude Code v2.1.132/v2.1.133 + SDK v0.1.77 に関する Day-2 follow-up。 Skills System に SDK Skill Surface サブセクションを追加し、ClaudeAgentOptions の skills option と、allowed_tools における "Skill" の deprecation を扱いました。37 Hook Architecture には Effort and Session Provenance サブセクションを追加し、hook input における新しい effort.level JSON field + $CLAUDE_EFFORT env var、Bash subprocesses における CLAUDE_CODE_SESSION_ID env var を扱いました。3839 Subagent Configuration Fields table には Subagent skill discovery fix を追加しました(subagents は Skill tool を通じて project、user、plugin skills を discover するようになりました。v2.1.133 以前は silently dropped されていました)。39 Production Patterns には Worktree Base, Sandbox Paths, and Admin Settings サブセクションを追加し、worktree.baseRef(local HEAD から origin/<default> へ breaking-default revert back)、sandbox.bwrapPath、sandbox.socatPath、parentSettingsBehavior を扱いました。39 |
| 2026-05-07 | ガイド v1.5: Claude Managed Agents、5月6日 SF expansion。 Memory and Context に Strategy 5(Managed Memory Curation: Dreaming, Research Preview)を追加し、filesystem-as-memory と Dreaming を対比する table を追加しました。35 Multi-Agent Orchestration の冒頭に Managed Multiagent Orchestration(Public Beta)と Outcomes(Public Beta)を追加し、shared-filesystem specialists と Claude Console tracing に関する Anthropic の quotes をそのまま掲載し、self-hosted deliberation との comparison table も追加しました。claude-agent-sdk-python v0.1.74 の include_hook_events と HookEventMessage を扱う SDK-side hook event streaming サブセクションを追加しました。36 Changelog-only: Claude Code v2.1.124-v2.1.131(claude project purge、project dirs 用の --dangerously-skip-permissions、skill_activated invocation_trigger、PostToolUse format-on-save fix、PreToolUse JSON+exit-2 blocking fix、skillOverrides settings)。claude-agent-sdk-python v0.1.72(CLI 2.1.126)、v0.1.73(session_store_flush)、v0.1.75(CLI 2.1.131)、v0.1.76(api_error_status)。openai-agents-python v0.15.0-v0.16.1。v0.16.0(5月7日)は default を gpt-5.4-mini にし、implicit max_turns ceiling を削除し、SDK-side tool execution concurrency を追加しました。 |
| 2026-05-07 | ガイド v1.4: 現在の official docs と local runtime evidence(claude --version 2.1.132、codex --version は codex-cli 0.128.0 を返しました)に照らして、Claude Code hook と skill mechanics を更新しました。hook surface を 22/26+ から documented events 29 件に更新し、skill-description budget を 2%/16,000 から 1%/8,000 に修正し、hook-type count を 4 から mcp_tool を含む 5 に変更し、unsupported な固定の「10 parallel subagents」claim を削除しました。また、AGENTS.md、skills、hooks、plugins、explicit subagent workflows を扱う public-safe Codex parity section を追加しました。 |
| 2026-04-29 | ガイド v1.3: Managed vs. Self-Hosted Harnesses section における OpenAI Agents SDK の coverage を拡張し、openai-agents Python v0.14.0(4月15日)から named SDK surface を追加しました。SandboxAgent、Manifest、SandboxRunConfig、progressive disclosure を備えた sandbox memory、workspace mounts(S3/R2/GCS/Azure)、portable snapshots、local/Docker/hosted client backends(Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel)です。secondary の Help Net Security citation を primary の v0.14.0 release-notes citation に置き換えました。3 番目の self-hosted option(Claude Code runtime を Python library として embed)として、claude-agent-sdk-python v0.1.69-v0.1.71(4月28-29日)に関する短い note を追加しました。bundled Claude CLI は v2.1.123 に上がり、mcp dependency floor は >=1.19.0 に引き上げられました(古い versions では in-process MCP tools から CallToolResult が silently dropped されていました)。Trio nursery cancellation fix、TS SDK と allowlist-field parity を持つ SandboxNetworkConfig も含みます。v0.14.7-v0.14.8 の SDK refinements は [^58] に記載しました。 |
| 2026-04-25 | ガイド v1.2: Google Cloud Next 2026(4月22-24日) — Vertex AI は Gemini Enterprise Agent Platform に rebrand されました。Agentspace は統合 Gemini Enterprise に吸収されました。Workspace Studio(no-code agent builder)、Anthropic Claude を含む Model Garden の 200+ models、Box、Workday、Salesforce、ServiceNow からの partner agents、4 言語にわたる ADK v1.0 stable、Project Mariner(web-browsing agent)、API-to-agent bridge としての Apigee を備えた managed MCP servers、150 organizations で production 利用される A2A protocol v1.0 を追加しました。Microsoft Agent Framework 1.0(2026年4月): stable APIs、LTS commitment、full MCP support、.NET + Python。agent execution と tool calls を real time に可視化する browser-based DevUI は、1.0 stable surface と並んで preview として提供されています。Salesforce Headless 360(4月15日、TDX): すべての Salesforce capability(CRM、service、marketing、ecommerce)が API/MCP tool/CLI command として公開され、Claude Code、Cursor、Codex のような agents が browser なしで platform 上に構築できます。(TDX 2026 は 4月15-16日に開催され、Headless 360 announcement は 4月15日付です。)MetaComp StableX KYA(4月21日): 規制対象の金融サービス(payments、compliance、wealth)向けの Know Your Agent governance framework です。licensed financial institution によるこの種の取り組みとしては初で、Claude、Claude Code、OpenClaw、その他 compatible AI platforms で利用できます。Claude Managed Agents pricing: session 実行中は session-hour あたり $0.08、idle 中は runtime charge なしです。通常の Claude model token rates に上乗せされます。(Anthropic の Claude pricing page によるものです。public-beta launch は 2026年4月8日でした。)Memory for Managed Agents は 2026年4月23日に managed-agents-2026-04-01 beta header の下で public beta に入りました。すべての Managed Agents endpoints は現在、この beta header を要求します。 |
| 2026-04-16 | ガイド v1.1: Claude Managed Agents(4月8日 beta)と OpenAI Agents SDK の harness/compute separation(4月16日)を扱う Managed vs. Self-Hosted Harnesses section を追加しました。Scion cross-tool multi-agent hypervisor(4月7日、Google)を追加しました。M3MAD-Bench の debate plateau finding を文書化しました。The Five Principles of Trustworthy Agents(Anthropic、4月9日)+ MCP/AGENTS.md Linux Foundation governance を追加しました。Permiso SandyClaw skill-sandbox reference を追加しました。新しい Opus 4.7 Long-Horizon Patterns として、tool-failure resilience、xhigh effort tier、token-budget ceiling(task_budget beta)、CLAUDE.md scaffolding を減らす implicit-need awareness を追加しました。 |
| 2026-03-24 | 初版公開 |
参照
-
Andrej Karpathy による、LLM agents の上位に置かれる新しいレイヤーとしての「claws」について。HN discussion(406ポイント、917コメント)。 ↩
-
著者による実装。84 hooks、48 skills、19 agents、約15,000行の orchestration。Infrastructure としての Claude Code で記録しています。 ↩↩↩↩↩↩↩↩
-
Anthropic, “Claude Code Hooks: Exit Codes.” code.claude.com/docs/en/hooks。ほとんどのイベントでは、exit 0 は許可、exit 2 はブロック、exit 1 は警告です。
WorktreeCreateはより厳格です。 ↩↩↩↩↩ -
Anthropic, “Extend Claude with Skills.” code.claude.com/docs/en/skills。Skill の構造、frontmatter フィールド、LLM ベースのマッチング、1% / 8,000文字の description 予算。 ↩↩↩↩↩↩↩
-
Anthropic, “Claude Code Sub-agents.” code.claude.com/docs/en/sub-agents。分離された context、worktree サポート、agent teams。 ↩↩↩↩↩
-
Anthropic, “Claude Code Documentation.” docs.anthropic.com/en/docs/claude-code。Memory files、CLAUDE.md、auto-memory。 ↩↩↩↩↩
-
著者による multi-agent deliberation system。10の research personas、7フェーズの state machine、141 tests。Multi-Agent Deliberation で記録しています。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Simon Willison, “Writing code is cheap now.” Agentic Engineering Patterns. ↩
-
Laban, Philippe, et al., “LLMs Get Lost In Multi-Turn Conversation,” arXiv:2505.06120, May 2025. Microsoft Research and Salesforce。15 LLMs、200,000件以上の会話、平均39%の performance 低下。 ↩↩↩
-
Mikhail Shilkov, “Inside Claude Code Skills: Structure, Prompts, Invocation.” mikhail.io。Skill discovery、context injection、
available_skillsprompt section についての独立分析。 ↩ -
Claude Code Source,
SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code. ↩ -
Anthropic, “Skill Authoring Best Practices.” platform.claude.com。500行制限、supporting files、命名規則。 ↩
-
Anthropic, “Claude Code Hooks: Lifecycle Events.” code.claude.com/docs/en/hooks。記録されている29の lifecycle events、hook types、matcher behavior、async hooks、HTTP hooks、prompt hooks、agent hooks、MCP tool hooks。 ↩↩↩↩↩↩↩
-
著者による Claude Code hooks tutorial。5つの production hooks をゼロから構築。Claude Code Hooks Tutorial で記録しています。 ↩↩↩↩↩
-
50 sessions にわたる著者の context window management。Context Window Management で記録しています。 ↩↩↩↩↩
-
著者による Ralph Loop 実装。Filesystem state と spawn budgets を使った fresh-context iteration。The Ralph Loop で記録しています。 ↩↩↩↩↩↩↩
-
著者による deliberation system architecture。3,500行の Python、12 modules、confidence trigger、consensus validation。Building AI Systems: From RAG to Agents で記録しています。 ↩↩↩
-
Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. ↩
-
Wu, H., Li, Z., and Li, L., “Can LLM Agents Really Debate?” arXiv:2511.07784, 2025. ↩
-
Liang, T. et al., “Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate,” EMNLP 2024. ↩
-
実世界の repositories にまたがる著者の AGENTS.md 分析。AGENTS.md Patterns で記録しています。あわせて参照: GitHub Blog, “How to Write a Great agents.md: Lessons from Over 2,500 Repositories.” ↩↩↩↩↩↩↩↩
-
著者による quality loop と evidence gate の方法論。Jiro Craftsmanship system の一部です。 ↩
-
Anthropic, “Claude Managed Agents Overview”。Public beta は2026年4月8日に開始。Session checkpointing、bundled sandbox、REST API を備えた harness-as-a-service。料金: standard tokens + $0.08/session-hour。Beta header
managed-agents-2026-04-01。 ↩↩ -
OpenAI, “openai-agents Python v0.14.0 release notes”。2026年4月15日リリース、発表は4月16日。既存の
Agent/Runnerflow の上に beta layer として Sandbox Agents SDK surface を導入しています:SandboxAgent、Manifest(workspace contract)、SandboxRunConfig、capabilities(shell、filesystem editing、image inspection、skills、sandbox memory、compaction)、workspace mounts(local、Git、remote: S3、R2、GCS、Azure Blob、S3 Files)、path normalization と symlink preservation を備えた portable snapshots、resume のための run-state serialization。Backends:UnixLocalSandboxClient、DockerSandboxClient、および optional extras 経由の Blaxel、Cloudflare、Daytona、E2B、Modal、Runloop、Vercel 向け hosted clients。4月16日の発表は Help Net Security に要約されています。 ↩↩ -
Google Cloud, “Scion: Multi-Agent Hypervisor”。2026年4月7日に open-source 化。Claude Code、Gemini CLI、その他の deep agents を、agent ごとの container、git worktree、credentials を備えた分離プロセスとして orchestration します。Local/hub/Kubernetes deployment modes。InfoQ coverage。 ↩
-
Multi-agent debate research cluster、2026年第1四半期〜第2四半期。Wu et al., “Can LLM Agents Really Debate?” (arXiv 2511.07784); M3MAD-Bench — misleading consensus への脆弱性と performance plateaus を示す multi-model multi-agent debate benchmark; Tool-MAD — agent ごとの heterogeneous tool assignment + Faithfulness/Relevance judge scores。 ↩
-
Anthropic, “Our framework for developing safe and trustworthy agents”。2026年4月9日。5つの原則: human control、value alignment、security、transparency、privacy。Linux Foundation の Agentic AI Foundation への MCP donation。 ↩↩
-
Permiso Security, “SandyClaw: First Dynamic Sandbox for AI Agent Skills”。2026年4月2日。Sigma/YARA/Nova/Snort detection と evidence-backed verdicts を備えた skill execution sandbox。 ↩
-
Anthropic, “Introducing Claude Opus 4.7”。2026年4月16日。Long-horizon agent の改善: Opus 4.6 比で SWE-Bench production task resolution が3倍、tool-failure resilience、
xhigheffort tier、task budgets(beta)、implicit-need awareness。Messages API breaking changes については What’s new in Opus 4.7 も参照してください。 ↩ -
複合参照 — OpenAI
openai-agents-pythonv0.14.7(2026年4月28日)および v0.14.8(2026年4月29日)、Anthropicclaude-agent-sdk-pythonv0.1.69(4月28日)、v0.1.70(4月28日)、v0.1.71(4月29日)。v0.14.7 の主な内容: ツール項目にtool_name/call_idの便利プロパティを追加、Phase 2 のメモリ統合ターン上限を引き上げ、サンドボックス圧縮用の GPT-5.5 エイリアスを追加、tar/zip メンバー検証を強化、LocalFileソースで symlink を拒否、Responses API 呼び出しから未設定フィールドを削除。v0.14.8 の主な内容: MCP の再エクスポート import エラーを保持、サンドボックスのプロンプト命令セクションを区切るように変更。claude-agent-sdk-python v0.1.69 ではClaudeAgentOptionsフィールドに docstring を追加し、同梱 CLI を v2.1.121 に更新しました。v0.1.70 ではmcp依存関係の下限を>=1.19.0に引き上げ(古いバージョンでは in-process MCP ツールハンドラーからのCallToolResult戻り値が黙って破棄されていました)、options.stderrを設定してquery()をイテレーションする際の早期キャンセルで Trio nursery が壊れる問題を修正し(stderr reader にspawn_detached()を使用するよう変更)、同梱 CLI を v2.1.122 に更新しました。v0.1.71 では TypeScript スキーマとの互換性のため、ドメイン許可リストのフィールド(allowedDomains,deniedDomains,allowManagedDomainsOnly,allowMachLookup)をSandboxNetworkConfigに追加し、同梱 CLI を v2.1.123 に更新しました。 ↩ -
OpenAI, “Custom instructions with AGENTS.md”。Codex は作業前にグローバルおよびプロジェクトの
AGENTS.md/AGENTS.override.mdファイルを読み込み、ルートから現在のディレクトリまでのガイダンスをマージし、プロジェクトドキュメントをproject_doc_max_bytesで上限管理します。 ↩ -
OpenAI, “Agent Skills”。Codex skills は
SKILL.md、progressive disclosure、明示的な$skill呼び出し、説明文からの暗黙的な有効化を使用します。 ↩ -
OpenAI, “Codex Hooks”。Codex hooks は、設定内の command hooks、plugin hooks、managed hooks、対応イベント用の matchers、stdin の JSON 入力、JSON 出力フィールドをサポートします。 ↩
-
OpenAI, “Codex Subagents” および “Codex CLI 0.128.0 changelog”。Codex は、明示的な並列 subagent ワークフロー、組み込みの
default、worker、exploreragents、カスタム TOML agents、継承されるサンドボックスポリシー、プラグイン同梱 hooks、hook 有効化状態、0.128.0 で永続化された/goalワークフローをサポートします。 ↩ -
Anthropic, “New in Claude Managed Agents”。2026年5月6日。Dreaming(Research Preview): agent セッションとメモリストアを確認し、パターンを抽出してメモリを整理する、スケジュール実行のバックグラウンドプロセスです。Outcomes(Public Beta): ルーブリックベースの評価です。別の採点器が独自のコンテキストウィンドウ内で出力をルーブリックに照らしてスコアリングするため、agent の推論に影響されません。Multiagent Orchestration(Public Beta): lead agent が作業の一部を専門家に委任します。各専門家は独自のモデル、プロンプト、ツールを持ち、共有ファイルシステム上で並列に作業し、lead agent の全体コンテキストに寄与します。Claude Console ではステップごとの完全なトレースを確認できます。 ↩↩↩↩↩↩↩↩
-
Anthropic,
claude-agent-sdk-pythonv0.1.74。2026年5月6日。include_hook_eventsをClaudeAgentOptionsに追加します。設定すると、hook イベント(PreToolUse、PostToolUse、Stop、その他)が CLI から発行され、TypeScript SDK のincludeHookEventsと同様に、メッセージストリームからHookEventMessageとして yield されます。同梱 Claude CLI は v2.1.129 に更新されました。 ↩↩ -
Anthropic,
claude-agent-sdk-pythonv0.1.77。2026年5月8日。allowed_toolsの"Skill"値を非推奨とし、代わりにClaudeAgentOptionsの専用skillsオプションを使用するようにしました。これにより、利用可能な skills について Claude Code により構造化されたシグナルを渡せます。また、Command failed例外のエラーメッセージを改善し、Claude CLI v2.1.133 を同梱します。 ↩↩ -
Anthropic, Claude Code v2.1.132。2026年5月6日。Bash ツールのサブプロセスに
CLAUDE_CODE_SESSION_ID環境変数を追加しました(hooks がすでに参照しているsession_idと一致します)。また、会話をネイティブのスクロールバックに残すためのCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN、更新された/tui fullscreen起動バナー(メモリ削減、マウスサポート、選択時の自動コピー)を追加し、約20件のバグ修正を含みます。修正範囲は、SIGINT の graceful shutdown、サロゲート絵文字による--resume破損、plan-mode の--permission-modeフラグ、Indic と ZWJ のカーソル処理、NFD vim ops、/で始まるペーストの飲み込み、MCP の無制限メモリ、MCPtools/listretry、Bedrock + Vertex のENABLE_PROMPT_CACHING_1H400、statusline のcontext_windowが累積トークンを表示する問題に及びます。 ↩↩ -
Anthropic, Claude Code v2.1.133。2026年5月7日。Hooks は
effort.levelJSON 入力と$CLAUDE_EFFORT環境変数(Bash コマンドからも読み取り可能)を受け取るようになりました。Subagents はSkillツールを通じて、プロジェクト、ユーザー、プラグインの skills を検出します(回帰修正)。新しい管理者設定:worktree.baseRef(fresh|head)は、v2.1.128 でローカルHEADに切り替わったあと、worktree のベースをorigin/<default>に戻します。sandbox.bwrapPathとsandbox.socatPathは Linux/WSL 上でサンドボックスバイナリを固定します。parentSettingsBehavior('first-wins' | 'merge')は、SDKmanagedSettingsが親設定とどのように合成されるかを制御します。その他の修正: 並列セッションで refresh token race 後に 401 になる問題、drive-root allow-rule のスコープ、MCP OAuth proxy/mTLS サポート、Remote Control の stop/interrupt が cancel を完了する問題、セッション間の/effort漏れ、--remote-controlを--helpに表示。 ↩↩↩↩↩↩ -
Anthropic, Claude Code v2.1.136。2026年5月8日。ユーザー意図や allow 例外に関係なく無条件にブロックする auto-mode classifier ルール向けに
settings.autoMode.hard_denyを追加しました。また、OpenTelemetry 経由で回答を収集する企業向けに、セッション内品質アンケートを再有効化するCLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELを追加しました。運用者に影響する修正: VS Code、JetBrains、Agent SDK で/clear後に.mcp.json、plugins、claude.ai connectors 由来の MCP servers が黙って消える問題、MCP OAuth refresh tokens が同時更新で失われる問題、一致するEdit(...)allow rule が存在すると plan mode でファイル書き込みがブロックされない問題、cache cleanup がまだ実行中のバージョンを削除したときに pluginStop/UserPromptSubmithooks が失敗する問題、plugin.jsonのskillsエントリが plugin のデフォルトskills/ディレクトリを隠す問題、CLAUDE_ENV_FILESessionStart-hook の環境変数が/resumeまたは/clear後に古くなる問題。さらに、TUI、autocomplete、terminal rendering にまたがる約30件の追加の polish と信頼性修正も含まれます。関連リリース: v2.1.137(5月9日、VSCode extension の Windows activation 修正)、v2.1.138(5月9日、内部修正)。claude-agent-sdk-pythonv0.1.78、v0.1.79、v0.1.80 は、同梱 Claude CLI をそれぞれ v2.1.136、v2.1.137、v2.1.138 に更新しました。 ↩↩↩↩ -
OpenAI,
openai-agents-pythonv0.17.0。2026年5月8日。RealtimeAgentのデフォルトはgpt-realtime-2です。サンドボックスの local-source materialization では、ソースがManifest.extra_path_grantsでSandboxPathGrantによって明示的に許可されていない限り、LocalFile.srcとLocalDir.srcは manifest のbase_dir(manifest 適用時の SDK プロセスの現在の作業ディレクトリ)内に制限されるようになりました。相対ローカルソースはbase_dirから解決されます。絶対ソースは、すでにその内部にあるか、明示的な grant の下にある必要があります。移行: 信頼済みホストルートを manifest レベルで宣言し、可能であれば read-only にしてください。extra_path_grantsは信頼済みアプリケーション設定として扱い、モデル出力や信頼できない manifest 入力から設定しないでください。Responses context-management のextra_args衝突修正も含まれます。 ↩↩↩↩ -
Anthropic、Claude Code v2.1.139。2026年5月。2026年5月11日の現在セッションにおけるローカル証拠:
claude --versionは2.1.139 (Claude Code)を返しました。リリースノートでは、Agent View(claude agents)、/goal、hookargs: string[]、PostToolUse向けのcontinueOnBlock、MCP stdio サーバー向けのCLAUDE_PROJECT_DIR、${CLAUDE_PROJECT_DIR}用の plugin コマンド補間が追加され、--printモードでのclaude_code.active_time.totalOpenTelemetry 送信を含む修正が入っています。 ↩↩↩↩↩ -
Anthropic、“Agent Viewで複数のagentsを管理する”。Agent View ドキュメントでは、1つの画面から多数の Claude Code セッションをディスパッチして管理すること、各セッションが何をしているかを確認すること、operator の入力が必要なセッションを特定することが説明されています。このページでは、Agent View が Research Preview であることを示し、ローカルセッションの制限も文書化しています。 ↩↩↩
-
Anthropic、“Claude Code Hooks”。command-hook フィールド、
PreToolUse、PostToolUse、exit-code の挙動、hook の入力/出力、直接的な slash-command 展開パスを扱う Hook ドキュメントです。 ↩↩ -
GitHub Advisory Database、GHSA-f3jg-756w-gm35 / CVE-2026-45046。”Gryph Agents Payload Filter Fails to Strip Tool Payload for Sensitive Content.” 2026年5月公開。デフォルトのロギング挙動では、機微な
file-writepayload 内容がローカル SQLite ログに残ることを説明し、Gryph v0.7.0 で修正されています。 ↩↩ -
OSV、GHSA-wxxx-gvqv-xp7p / CVE-2026-40217。”LiteLLM has a sandbox escape in custom-code guardrail.” 2026年5月11日公開。admin 保護された
POST /guardrails/test_custom_codeendpoint が、ユーザー提供の Python を手製の sandbox 内で実行することを説明しています。アップグレードできない場合は、アップグレードまたは endpoint のブロックを推奨しています。 ↩↩ -
Young Jo (seph) Chung and Safwat Hassan、“Collaborator or Assistnat? How AI Coding Agents Partition Work Across Pull Request Lifecycles”、arXiv:2605.08017v1、2026年5月。abstract では、OpenAI、Copilot、Devin、Cursor、Claude Code にまたがる 29,585 件の PR lifecycle を分析し、operational agency と merge governance を区別したと報告しています。 ↩↩
-
Jiayuan Liu et al.、“The Memory Curse: How Expanded Recall Erodes Cooperative Intent in LLM Agents”、arXiv:2605.08060v1、2026年5月。abstract では、7つの LLM と 4つのゲームを対象に 500 ラウンドの実験を行い、アクセス可能な履歴を拡張すると、28 の model-game 設定のうち 18 で協力が低下したと報告しています。 ↩↩
-
Anthropic、Claude Code v2.1.140。2026年5月12日。agent hook 入力に
subagent_typeを追加し、ConfigChangehooks、disableAllHooks、allowManagedHooksOnly、hook 結果からの permission-dialog env-var 表示、設定更新後の custom style リセット、Windows Git Bash での native package resolution fallback、/scroll-speedを修正しています。 ↩↩↩ -
Anthropic、Claude Code v2.1.141。2026年5月13日。desktop 通知、window title、bell 向けに hook JSON output へ
terminalSequenceを追加し、HTTPS plugin-source cloning 向けのCLAUDE_CODE_PLUGIN_PREFER_HTTPS、workload identity federation workspace scoping 向けのANTHROPIC_WORKSPACE_ID、Agent View の directory filtering 向けのclaude agents --cwd <path>、直近 24 時間または 7 日間の/feedbacksession attachment option を追加しています。また、agent、background-job、hook、MCP、Remote Control、permission-dialog、terminal-rendering 関連の修正も含まれます。2026年5月14日の現在セッションでの検証:claude --versionは2.1.141 (Claude Code)を返し、npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonは latest2.1.141を返しました。 ↩↩ -
Anthropic、Claude Code v2.1.142。2026年5月14日。background session 向けの
claude agentsdispatch flags(--add-dir、--settings、--mcp-config、--plugin-dir、--permission-mode、--model、--effort、--dangerously-skip-permissions)を追加し、Fast mode をデフォルトで Opus 4.7 に変更しています。固定用 override はCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1です。また、skills/directory が存在しない場合に root-level pluginSKILL.mdfiles を skills として表示し、plugin details に plugin 提供の LSP servers を表示し、既存の GitHub App connection を置き換える前に警告します。さらに、MCP_TOOL_TIMEOUT、background-session worktree、daemon sleep/wake、post-upgrade daemon cleanup、plugin cache、Agent View の信頼性問題も修正しています。2026年5月15日の現在セッションでの検証:claude --versionは2.1.141 (Claude Code)を返し、npm latest は2.1.142を返しました。 ↩↩ -
Anthropic、Claude Code v2.1.147。2026年5月21日。デフォルトでは無効な deterministic multi-agent orchestration 用の
Workflowtool(CLAUDE_CODE_WORKFLOWS=1)、pinned background sessions、/simplifyを置き換える/code-review [effort] --comment、REPL と Workflow の sandbox hardening、auto-updater diagnostics、large-diff rendering improvements、prompt-history deduplication を追加しています。また、enterprise login restrictions、PowerShell behavior、MCP pagination、Agent View、plugins、hook conditions、pasted text、stripped-image loops に関する修正も含まれます。2026年5月21日の現在セッションでの検証:claude --versionは2.1.144 (Claude Code)を返し、npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonは latest2.1.147、time.modified2026-05-21T20:38:35.053Zを返しました。 ↩↩↩ -
Anthropic、Claude Code v2.1.148、v2.1.149、v2.1.150、および Claude Code CHANGELOG。v2.1.148 は v2.1.147 からの Bash exit-code regression を修正しています。v2.1.149 は
/usageの category 別 limits usage、/diffkeyboard scrolling、GFM task-list rendering、EnterpriseallowAllClaudeAiMcpsを追加しています。harness に関係する修正には、PowerShellcdpermission bypasses、PowerShell prefix/wildcard と stale-variable permission analysis、git-worktree sandbox write-allowlist scope、macOS での Bashfindvnode exhaustion、managed-settings approval freezes、otelHeadersHelperpath-space diagnostics、Remote Control session rename sync が含まれます。v2.1.150 は内部インフラのみです。2026年5月24日の現在セッションでの検証: ローカルのclaude --versionは2.1.144 (Claude Code)を返した一方、npm latest は2.1.150、time.modified2026-05-23T04:03:10.243Zを返しました。GitHub latest release はv2.1.150、published2026-05-23T04:03:51Zを返しました。 ↩↩↩ -
OpenAI、
openai-agents-pythonv0.17.1、v0.17.2、および v0.17.3。v0.17.1 は sandbox-provider error details、archive extraction limits、GitRepo subpath validation、tracing/session/realtime fixes を追加しています。v0.17.2 は Conversations reasoning persistence、local approval rejection reasons、AsyncSQLiteSession settings、realtime unknown-tool behavior を修正しています。v0.17.3 は mountpoint credentials を sandbox commands に含めないようにし、relative sandbox workspace roots を拒否し、terminal Vercel sandbox states を処理し、output-schema、guardrail、runtime、memory import の edge case を修正しています。2026年5月24日の現在セッションでの検証:python3 -m pip index versions openai-agentsは latest0.17.3を返しました。GitHub latest release はv0.17.3、published2026-05-19T01:27:36Zを返しました。 ↩↩ -
Claude Code Changelog(canonical)、v2.1.152 release notes、v2.1.153 release notes、v2.1.154 release notes。v2.1.152(5月27日)では、
MessageDisplayhook event、skill/command frontmatter のdisallowed-tools、/reload-skills、SessionStarthook のreloadSkillsとsessionTitle出力、/code-review --fixの working tree への適用、pluginSuggestionMarketplacesmanaged setting、auto-mode opt-in の削除、--fallback-modelによるセッション途中の切り替えが追加されました。v2.1.153(5月28日)では、/modelが新規セッションのデフォルトとして保存されるようになり、セッション限定にはsを使う形になりました。また、plugin marketplaces にskipLfsが追加され、status-line env にCOLUMNS/LINESが表示され、macOS background-agent の Privacy & Security 権限付与が永続化されます。v2.1.154(5月28日)では、Opus 4.8 がデフォルトになり、既定で high effort になりました。新しい/effort xhigh、/workflowsによる dynamic workflows、Opus 4.8 の Fast mode(2× rate で 2.5× speed)、Haiku/Sonnet/Opus 4.7 以前を除く全モデルでの lean system prompt のデフォルト化、claude agentsが background-shell sessions 用に! <command>を受け付ける機能、plugins がdefaultEnabled: falseを宣言できる機能、stdio MCP subprocess env へのCLAUDE_CODE_SESSION_IDとCLAUDECODE=1の受け渡しが導入され、CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDEは非推奨になりました(6月1日に削除)。 ↩ -
Codex Changelog(OpenAI Developers) および openai/codex releases。Codex CLI 0.134.0(2026年5月26日)では、ローカルの会話履歴検索が追加され、
--profileが CLI/TUI/sandbox フロー全体の主要な profile selector になり、legacy-config migration も行われました。さらに、server ごとの environment targeting と streamable HTTP servers 向けの OAuth によって MCP setup が改善され、local$ref/$defsの保持と oversized schemas の公開前 compacting によって connector tool schemas の信頼性が高まり、readOnlyHintを通知する read-only MCP tools の並行実行が有効になりました。Codex CLI 0.135.0(2026年5月28日)では、より詳しいcodex doctordiagnostics、/statusでの remote connection details と server version の表示、改善された word/line-end 動作と configurable interrupt-turn を備えた vim text-object editing、named permission profiles を理解する/permissions、対応する macOS と Linux 全体に同梱される patched zsh helper、thread と turn の APIs 用に Python SDK へ追加された使いやすいSandboxpresets が入りました。 ↩ -
Hermes Agent v0.15.0 release notes。「The Velocity release.」1,302 commits、747 merged PRs、321 community contributors。
run_agent.pyは 76% リファクタリングされました(14 modules で 16,083 → 3,821 lines)。Multi-agent Kanban platform には、auto-decomposition、swarm topology、per-task model overrides、scheduled tasks、worktree management が含まれます。session_searchは再設計され、LLM dependency を削除したうえで 4,500× 高速化されました。Brainworm-class prompt injection に対する Promptware defense が、3つの security chokepoints に配置されています。Bitwarden Secrets Manager integration により、provider ごとの keys は単一の bootstrap token に置き換えられました。1つの slash command で複数の skills を読み込む skill bundles。1つの terminal で multi-session management を行う TUI session orchestrator。Krea 2 と FAL image-generation providers、xAI integration round(web-search plugin、OAuth upstream、retired-model detection、自然な TTS pauses)。 ↩ -
Claude Code v2.1.157 release notes および Claude Code Changelog(canonical)。2026年5月29日。プロジェクトの
.claude/skills/directory に置かれた plugins は、marketplace を必要とせず自動で読み込まれるようになりました。claude plugin init <name>はその directory に新しい plugin を scaffold し、/pluginには argument autocomplete が追加されました。加えて、EnterWorktreeは Claude が管理する worktrees 間をセッション途中で切り替えられるようになり、background worktrees は agent 完了後も unlocked のまま残されるため、git worktree remove/pruneがきれいに動作します。また、OTEL_LOG_TOOL_DETAILS=1の場合、tool_decisiontelemetry events にtool_parametersが含まれます。処理不能な images(現在は text placeholders に degrade)、auto/bypass mode での sandbox network permission prompts、background-session retire-on-park、tmux / VS Code / Cursor / Windsurf 全体の terminal rendering に関する bug fixes も含まれています。 ↩ -
Claude Code Changelog(canonical) および Codex CLI v0.137.0 release notes、2026年6月。Claude Code v2.1.162(6月3日)では
claude agents --jsonにwaitingForが追加されました。v2.1.163(6月4日)では、Stop/SubagentStopの non-error feedback 用にhookSpecificOutput.additionalContextが追加されました。v2.1.166(6月6日)では、cross-sessionSendMessageauthority が強化され(relayed messages は user authority を持たなくなりました)、fallbackModelsetting が追加されました(最大3つの fallbacks、non-retryable errors に対する one-shot retry)。Codex CLI v0.137.0(6月4日)では、multi-agent v2(runtime-with-thread、hide_spawn_agent_metadataはデフォルト true、parent→child event propagation)、per-turn catalog resolution を備えた v1 skills extension、thread-start/turn-error lifecycle contributor events が出荷されました。Codex subagents docs では、default/worker/explorer agent types とagents.max_threads/max_depthconcurrency controls が確認されています。AGENTS.md(agents.md)は versioned spec change を公開していません。現在セッションでの検証日は 2026年6月8日です。 ↩ -
Anthropic、Claude Code v2.1.169 release notes および v2.1.170 release notes、2026年6月8日〜9日。v2.1.169 では、
disableBundledSkillssetting とCLAUDE_CODE_DISABLE_BUNDLED_SKILLS(bundled skills、workflows、built-in slash commands を model から隠します)、--safe-modeflag とCLAUDE_CODE_SAFE_MODE(CLAUDE.md、plugins、skills、hooks、MCP servers など、すべての customizations を無効にして session を開始します)、/cdcommand(prompt cache を壊さずに session を新しい working directory へ移動します)が追加されました。v2.1.170 では、Claude Fable 5(claude-fable-5)を/model claude-fable-5で選択できるようになり、Opus 4.8 は引き続き Claude Code の agentic default です。Model-tier launch: Anthropic、“Claude Fable 5”、2026年6月9日 — Opus の上位に位置する “Mythos-class” tier で、一般利用向けに安全化された Anthropic の最も強力な model と説明されています。 ↩↩↩↩ -
OpenAI、Codex CLI rust-v0.138.0 release notes(2026年6月8日)および rust-v0.139.0 release notes(2026年6月9日)。v0.138.0 では、encrypted inter-agent message payloads、v2 agent config catalog、agent-residency LRU、spawned threads ではなく active execution で数える concurrency によって multi-agent v2 が強化されました。v0.139.0 では、
close_agentlifecycle API がinterrupt_agentに改名され、subagent MCP startup warnings は owning thread に scope されるようになったため、parent へ重複して出なくなりました。AGENTS.md discovery は両リリースで強化されています。loading は environment filesystems 経由になり、discovery 中に logical paths を保持することで、remote および symlinked workspaces でも正しいファイル選択が保証されます。 ↩↩↩ -
Anthropic、Claude Code v2.1.172 release notes(2026年6月10日)。Sub-agents が自分自身の sub-agents を起動できるようになり、最大5階層までの再帰的な委任に対応しました。以前の委任は、実質的に1階層まででした。 ↩
-
Anthropic、Claude Code v2.1.175 release notes および v2.1.178 release notes、2026年6月12〜15日。v2.1.175 では、
enforceAvailableModelsmanaged setting が追加されました(Default model を固定し、user/project settings によって managedavailableModelsallowlist が拡張されるのを防ぎます)。v2.1.178 では、ツールの入力パラメータに*wildcard で一致するTool(param:value)permission-rule syntax(例:Agent(model:opus))が追加されました。また、ネストされた.claude/skillsディレクトリから skills を読み込み、名前が衝突した場合は<dir>:<name>で曖昧さを解消します。ネストされた.claude/agents、workflows、output-styles は、衝突時に cwd に最も近いものを解決します(project-scope workflow の保存先は、最も近い既存の.claude/workflows/になります)。subagent spawns は起動前に auto-mode classifier で評価されます。さらに、subagentdisallowedTools内の MCP server-level specs(mcp__server、mcp__server__*、mcp__*)が黙って無視される問題が修正されました。 ↩↩↩↩↩↩ -
OpenAI、Codex CLI rust-v0.140.0 release notes、2026年6月15日(v0.140.0-alpha 系列から stable に昇格)。Claude Code から setup、project config、recent chats を選択的にインポートする
/importが追加されました。さらに、codex delete、/delete、app-serverthread/deleteによる confirmation safeguards 付きの永続的な session deletion、files、plugins、skills 向けの統合@mentions menu、/usagetoken-activity views も追加されています。 ↩ -
Anthropic、Claude Code v2.1.183 release notes、2026年6月19日 — auto mode では、作業の破棄を依頼していない場合に破壊的な git commands(
git reset --hard、git checkout -- .、git clean -fd、git stash drop)をブロックします。また、この session で agent が作成していない commits へのgit commit --amend、および特定の stack を指定して依頼していない場合のterraform destroy/pulumi destroy/cdk destroyもブロックします。OpenAI、Codex CLI rust-v0.141.0 release notes、2026年6月18日(v0.141.0-alpha 系列から stable に昇格) — remote executors は、認証済みで end-to-end encrypted な Noise-relay channels を使用します。cross-platform remote execution では、executor-native working directories と shells が保持されます。TLS は enterprise proxies 向けに P-521 certificate signatures をサポートします。 ↩↩