第 10 章 · 03 subagents 配置、环境变量与故障排查 本节摘要:收尾三件事:自定义子代理—— 标志用 JSON 即席定义会话级子代理,与文件级定义三级优先级;关键环境变量分组速查——认证、禁用开关、限额防护、遥测调试;最后是故障排查四问,覆盖"命令找不到/认证失败/会话找不到/JSON 损坏"四大高频故障。学完本节,你具备独立部署与排障的完整能力。 学习目标 说出 JSON 的必填/选填字段与三级加载优先级。 说出至少 6 个关键环境变量的作用。 说出 Agent View 的用途与 的派发标志。 按"四问"流程排查命令行高频故障。 一、--agents:即席自定义子代理 第 4 章的 .
本节摘要:收尾三件事:自定义子代理——
--agents标志用 JSON 即席定义会话级子代理,与文件级定义三级优先级;关键环境变量分组速查——认证、禁用开关、限额防护、遥测调试;最后是故障排查四问,覆盖"命令找不到/认证失败/会话找不到/JSON 损坏"四大高频故障。学完本节,你具备独立部署与排障的完整能力。
--agents JSON 的必填/选填字段与三级加载优先级。claude agents 的派发标志。第 4 章的 .claude/agents 是文件级定义;--agents 标志则把定义直接塞进命令,会话即用即弃:
{ "agent-name": { "description": "Required: when to invoke this agent", "prompt": "Required: system prompt for the agent", "tools": ["Optional", "array", "of", "tools"], "model": "optional: sonnet|opus|haiku" } }
字段规则:description 与 prompt 必填,tools 省略则继承全部工具,model 可选(sonnet/opus/haiku)。
完整示例——三个分工明确的专家代理:
{ "code-reviewer": { "description": "Expert code reviewer. Use proactively after code changes.", "prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.", "tools": ["Read", "Grep", "Glob", "Bash"], "model": "sonnet" }, "debugger": { "description": "Debugging specialist for errors and test failures.", "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes.", "tools": ["Read", "Edit", "Bash", "Grep"], "model": "opus" }, "documenter": { "description": "Documentation specialist for generating guides.", "prompt": "You are a technical writer. Create clear, comprehensive documentation.", "tools": ["Read", "Write"], "model": "haiku" } }
三种用法:
# 内联定义 claude --agents '{"security-auditor": {"description": "Security specialist for vulnerability analysis", "prompt": "You are a security expert. Find vulnerabilities and suggest fixes.", "tools": ["Read", "Grep", "Glob"], "model": "opus"}}' "audit this codebase" # 从文件加载(团队共享) claude --agents "$(cat ~/.claude/agents.json)" "review the auth module" # 与其他标志组合 claude -p --agents "$(cat agents.json)" --model sonnet "analyze performance"
同一名字的代理出现在多个位置时,按此覆盖:
| 优先级 | 位置 | 作用域 |
|---|---|---|
| 1 | --agents 标志 |
仅本次会话 |
| 2 | 项目级 .claude/agents/ |
当前项目 |
| 3 | 用户级 ~/.claude/agents/ |
所有项目 |
CLI 定义 > 项目级 > 用户级,名字冲突时高优先级胜出。
| 变量 | 作用 |
|---|---|
ANTHROPIC_API_KEY |
API 密钥 |
ANTHROPIC_MODEL |
覆盖默认模型 |
ANTHROPIC_DEFAULT_OPUS/SONNET/HAIKU_MODEL |
分别覆盖三档默认模型 ID |
CLAUDE_CODE_SUBAGENT_MODEL |
子代理执行的模型 |
CLAUDE_CODE_EFFORT_LEVEL |
思考力度(low~max) |
MAX_THINKING_TOKENS |
扩展思考的 token 预算 |
| 变量 | 作用 |
|---|---|
CLAUDE_CODE_SIMPLE |
最小模式(--bare 对应) |
CLAUDE_CODE_SAFE_MODE=1 |
关闭全部定制(CLAUDE.md/插件/技能/Hooks/MCP) |
CLAUDE_CODE_DISABLE_BUNDLED_SKILLS=1 |
隐藏内置技能 |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
关闭 CLAUDE.md 自动更新 |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS |
关闭后台任务 |
CLAUDE_CODE_DISABLE_CRON |
关闭定时任务 |
CLAUDE_CODE_DISABLE_1M_CONTEXT |
关闭 1M 上下文窗口 |
DISABLE_UPDATES |
阻止一切更新(比 DISABLE_AUTOUPDATER 更严) |
| 变量 | 默认 | 作用 |
|---|---|---|
CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION |
200 | 单会话搜索次数上限(防失控循环) |
CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION |
200 | 单会话子代理生成上限(/clear 重置) |
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS |
20 | 并发子代理上限 |
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH |
3 | 子代理嵌套深度(v2.1.219 起默认 3 层) |
CLAUDE_CODE_MAX_RETRIES |
15 | API 重试上限 |
ENABLE_TOOL_SEARCH |
开 | 工具搜索(Vertex AI 默认关,需显式开启) |
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS |
120000 | MCP 长调用自动后台化的阈值 |
| 变量 | 作用 |
|---|---|
CLAUDE_CODE_SESSION_ID |
注入每个 Bash 子进程,关联日志与 Hooks 遥测 |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
覆盖自动压缩百分比 |
CLAUDE_STREAM_IDLE_TIMEOUT_MS |
流空闲超时 |
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 |
退出全屏渲染,配合 script(1) 录日志 |
AI_AGENT |
自动注入子进程,供 gh 等外部 CLI 识别流量来源 |
{ "wheelScrollAccelerationEnabled": false, "language": "french", "footerLinksRegexes": ["https://jira\\.example\\.com/.*"] }
| 键 | 作用 |
|---|---|
respondToBashCommands |
自动响应 ! bash 命令输出(默认 true) |
language |
响应语言 + 语音听写语言 + 会话标题语言 |
wheelScrollAccelerationEnabled |
关闭滚轮加速(滚动过快时用) |
footerLinksRegexes |
把匹配链接渲染为页脚徽章 |
sandbox.filesystem.disabled |
跳过文件沙箱但保留网络出口管控 |
# 安装 npm install -g @anthropic-ai/claude-code # 检查 PATH 是否含 npm 全局 bin 目录 # 或直接用完整路径兜底 npx claude
代理/内网环境:确认 downloads.claude.ai 已加入出口白名单(v2.1.113+ 原生二进制分发后必查)。
export ANTHROPIC_API_KEY=your-key,确认密钥有效且有额度。claude auth status 检查登录态(登录成功退出 0)。claude agents 或 -c 接最近会话)。-c 只接最近一次;定向恢复用 -r "会话名"。--json-schema 强制结构。--output-format json,而不是只在提示里说"给我 JSON"。任何诡异行为(插件冲突/Hooks 作祟/MCP 报错),先 claude --safe-mode 启动——全部定制关闭后症状消失,则逐个恢复定制项定位元凶;/doctor 可自动诊断并一键修复(f 键)。
--safe-mode + /doctor 终极兜底。下一节预告:第 10 章结束,整个教程到站。回到总纲,按"阅读建议"规划你的回炉路线。