用法:先自己口述作答,再对照参考答案要点。每题标注考点与官方来源(均访问于 2026-08-30)。术语保留英文。
🎯 学习重点:按 managed、user、project、local 顺序回答,并解释越具体越后加载。
考点:项目记忆 (CLAUDE.md) 的分层设计(来源: https://code.claude.com/docs/en/memory)
参考答案要点:
/Library/Application Support/ClaudeCode/CLAUDE.md、Linux /etc/claude-code/CLAUDE.md,IT/DevOps 管)→ User(~/.claude/CLAUDE.md,个人跨项目偏好)→ Project(./CLAUDE.md 或 ./.claude/CLAUDE.md,团队共享、入版本控制)→ Local(./CLAUDE.local.md,个人本地补充、不入库)。🎯 学习重点:必须指出提示上下文可被模型解释,强制阻断应落到 deny 或 PreToolUse。
考点:LLM 指令 ≠ 应用层强制(来源: https://code.claude.com/docs/en/memory;对照模块 11)
参考答案要点:
🎯 学习重点:从最小 allow、明确 deny、团队配置、managed policy 与 sandbox 形成纵深防御。
考点:permissions 最小化(来源: https://code.claude.com/docs/en/permissions 、https://code.claude.com/docs/en/settings)
参考答案要点:
.claude/settings.json(入库);个人例外进 settings.local.json(不入库);组织强制项进 managed settings(优先级最高,可锁定)。优先级(高→低):managed → 命令行 → project local → project shared → user。Bash(pnpm test:*)、Read(./**)),绝不用 Bash(*)) 一劳永逸;同时维护非空 deny 列表(危险命令、secrets 目录、任意 WebFetch)。dontAsk 只放预批准工具;bypassPermissions 仅限不可逃逸的容器/VM。.local 只放个人便利项。🎯 学习重点:六种模式要完整,并权衡人工审批疲劳与 classifier 自动审查。
考点:permission modes(来源: https://code.claude.com/docs/en/permission-modes)
参考答案要点:
default(CLI 显示 Manual):仅只读免批——审查每个动作、敏感工作;acceptEdits:+文件编辑与常见文件系统命令——迭代加速;plan:只读+规划——先探索后动手;auto:全部动作由后台 classifier 审查代替人工——长任务;dontAsk:仅预批准工具——锁定 CI;bypassPermissions:全部——仅隔离环境。🎯 学习重点:高风险、低可逆任务先只读探索,审批点位于计划与实际行动之间。
考点:planning 与 human approval(来源: https://code.claude.com/docs/en/permission-modes、https://code.claude.com/docs/en/sub-agents)
参考答案要点:
plan),CLI 用 Shift+Tab 或 /plan 进入;探索由只读 Plan subagent 承担,产出计划供人审。/plan 命令。🎯 学习重点:区分会话、轮次、工具调用三种节奏,并正确选择 PostToolUse 与 PreToolUse。
考点:钩子 (Hooks)(来源: https://code.claude.com/docs/en/hooks)
参考答案要点:
SessionStart/SessionEnd);每轮一次(UserPromptSubmit/Stop/StopFailure);agent loop 内每次工具调用(PreToolUse/PostToolUse;另有 PermissionRequest、PreCompact/PostCompact、Notification 等)。PostToolUse(matcher Edit|Write);禁止危险 Bash → PreToolUse(matcher Bash),检查 tool_input.command,命中策略返回 block(exit code 2 或 JSON decision)。🎯 学习重点:用上下文隔离、专门化、工具限制和摘要细节损失解释拆分边界。
考点:subagents 拆分(来源: https://code.claude.com/docs/en/sub-agents)
参考答案要点:
tools 限制 + 独立权限 = 最小权限的实例化;model 可指定更便宜的模型(内置 Explore 继承主会话模型且不超主会话档位)。.claude/agents/<name>.md。🎯 学习重点:回答加载顺序,并区分诊断、压缩与重开三种动作的副作用。
考点:context 管理(来源: https://code.claude.com/docs/en/context-window)
参考答案要点:
/context 诊断(什么占满窗口);/compact 有损压缩历史(skill 描述列表不重新注入,只有用过的保留);/clear 换新任务但保留项目记忆。选择:先诊断 → 侧任务泛滥用 subagent/新会话,主线太长才 compact。/rewind(checkpointing)可回滚代码与对话。🎯 学习重点:按常驻事实、路径上下文、按需流程、外部工具、委派和分发逐层归位。
考点:扩展机制选型(来源: https://code.claude.com/docs/en/skills、https://code.claude.com/docs/en/features-overview)
参考答案要点:
/skill-name 显式调用或自动按需加载,正文只在用时进上下文;遵循 Agent Skills 开放标准;custom commands 已并入 skills(.claude/commands/deploy.md 与 .claude/skills/deploy/SKILL.md 等价);disable-model-invocation: true 可限制为仅用户手动调用;最多可链式调用 6 个。paths: 的目录级局部规则,路径匹配才加载——把大 CLAUDE.md 拆小的官方机制。.claude-plugin/plugin.json),经 marketplace 分发——跨仓库复用时才值得打包,先用 .claude/ standalone 快速迭代。🎯 学习重点:说明 tool search 只省 schema 上下文,不解决认证、权限和 prompt injection。
考点:MCP 集成(来源: https://code.claude.com/docs/en/mcp;对照模块 6/11)
参考答案要点:
claude mcp add --transport http <name> <url>(远程推荐 HTTP transport);项目级 .mcp.json 入库保证团队/CI 一致;token 走环境变量,绝不入库。ENABLE_TOOL_SEARCH 可调);解决「几十个 server 的工具 schema 挤爆上下文」。requiresUserInteraction 强制人工确认;信任边界——会抓取外部内容的服务器可能带回 prompt injection,连接前必须信任该服务器(模型读到的外部内容不可当指令)。claude -p)应如何配置权限与安全?🎯 学习重点:使用 dontAsk 与预批准最小工具,并定义超时、失败、sandbox 和审计边界。
考点:非交互模式(来源: https://code.claude.com/docs/en/overview、https://code.claude.com/docs/en/permission-modes)
参考答案要点:
claude -p "..." 非交互 print 模式用于 CI/脚本;无人值守时选 dontAsk 模式:只放预批准工具,其余一律不跑(而不是全放行)。/sandbox 定义的文件系统/网络隔离边界;输出进日志可审计。bypassPermissions 只属于一次性容器/VM;在开发者本机用它等于把 shell 交给概率系统。--max-turns 类上限(对照模块 3/4 的超时与停止条件思维),防止 loop 空转烧钱。🎯 学习重点:从循环验证、权限强制、上下文分层和扩展隔离提炼可迁移设计。
考点:agentic harness 抽象(来源: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents;模块 8)
参考答案要点:
🎯 学习重点:先识别不可接受的权限失效半径,再组合确定性强制层而非只改提示词。
Scenario:某公司要在开发者笔记本上推广 Claude Code。安全团队三条硬要求:(1) secrets/ 目录绝不可读;(2) 任何情况下不得对 origin/main force push;(3) 个人不得自行放宽权限。
Constraints:开发者日常要跑测试与 lint;不允许逐动作审批拖垮效率;已有组织 MDM 通道。
Options:
.claude/settings.json 加 allow(测试/lint)+ deny(secrets 读、force push);managed settings 锁定权限配置与危险功能;敏感模式默认 autobypassPermissions 提升效率,靠事后 git 历史追责Best choice:B。
Why:分层落盘与官方企业路径一致——managed settings 优先级最高、可强制锁定(个人无法放宽);deny 规则在所有模式下生效;allow 最小化(pnpm test:* 级别)保效率;auto 模式用 classifier 审动作避免提示疲劳。可再叠加 D 的 PreToolUse hook 做纵深防御(如解析命令语义),但主骨架是 B。
Why others are weaker:A 把强制寄望于模型遵从——CLAUDE.md 是 context 不是 enforcement,注入或偏离即可绕过;C 在非隔离环境裸奔,违反官方「bypassPermissions 仅限不可逃逸容器」的红线;D 单打独斗——hook 解析 shell 命令易漏(编码/别名/管道),且不给 allow 白名单意味着要么全问(疲劳)要么放空(低效)。
Tradeoffs:B 引入配置分层治理成本(managed settings 的变更流程);auto 模式的 classifier 是概率审查,高风险动作仍建议 plan/人审;hook 纵深防御增加维护面。
What would change the answer:若运行环境是 CI 容器(一次性、无 secrets 挂载),C 的效率取向在容器内可接受(换成 bypassPermissions 仅限该容器);若团队极小且互信,可省 managed settings、只用项目 settings + hook。
🎯 学习重点:先测上下文构成,再用 rules、skills、subagents 和 compaction 分层减载。
Scenario:单体大仓(约 50 万行)。架构师用 Claude Code 做「梳理认证链路并写一页架构说明」。会话 40 分钟后 /context 显示 90% 占用,历史里塞满文件内容,模型开始忘事。
Constraints:任务还要继续约 1 小时;产出必须引用具体文件与行号;中途不能重开丢掉已确认的结论。
Options:
/compact 压缩历史继续干/clear 重开,把已知结论手写进新会话首条消息Best choice:C。
Why:根因是「文件读取主导上下文消耗」且探索发生在主会话。subagent 在独立窗口做重探索、只回摘要(保留文件:行号引用),主上下文立刻减压;已确认结论写进 CLAUDE.md 使跨会话也不丢——这是官方对大规模探索的标准建议(README 9.3/9.10/9.13)。
Why others are weaker:A 压缩是有损的——继续探索会继续吃上下文,且细节(行号、片段)恰是本任务产出所需,越压越丢;B 丢掉交互连续性与部分结论,重开成本高(且新会话若仍主会话直读文件,会重演同一问题);D 治标不治本:窗口更大只是延后占满,成本更高,模型切换还会触发一次无缓存慢轮次。
Tradeoffs:subagent 结果只有摘要,中途无法追问子任务内部细节(必要时可再派一个带具体问题的 subagent);CLAUDE.md 沉淀要花整理时间、且每会话都占固定预算(应保持精简)。
What would change the answer:若剩余工作是写文档而非继续探索(不再大量读文件),A 的 /compact 就够用且最省事;若任务其实已基本完成、只差收尾,B 重开更干净。
配套练习:📚 目录exam-style.md(考题型)、labs/lab.md(动手)。