📚 首页 / 09-claude-code/questions / architect-questions.md

模块 09 — 架构师问答题

用法:先自己口述作答,再对照参考答案要点。每题标注考点与官方来源(均访问于 2026-08-30)。术语保留英文。

Q1. CLAUDE.md 的四个层级是什么?加载顺序与设计意图?

🎯 学习重点:按 managed、user、project、local 顺序回答,并解释越具体越后加载。

考点:项目记忆 (CLAUDE.md) 的分层设计(来源: https://code.claude.com/docs/en/memory)

参考答案要点:

Q2. 为什么官方说 CLAUDE.md 是 context 而不是 enforced configuration?强制该用什么?

🎯 学习重点:必须指出提示上下文可被模型解释,强制阻断应落到 deny 或 PreToolUse。

考点:LLM 指令 ≠ 应用层强制(来源: https://code.claude.com/docs/en/memory;对照模块 11)

参考答案要点:

Q3. 企业环境如何设计最小化 permissions?

🎯 学习重点:从最小 allow、明确 deny、团队配置、managed policy 与 sandbox 形成纵深防御。

考点:permissions 最小化(来源: https://code.claude.com/docs/en/permissions 、https://code.claude.com/docs/en/settings)

参考答案要点:

Q4. 六种 permission modes 各自的免询问范围与适用场景?auto 模式的 classifier 解决什么问题?

🎯 学习重点:六种模式要完整,并权衡人工审批疲劳与 classifier 自动审查。

考点:permission modes(来源: https://code.claude.com/docs/en/permission-modes)

参考答案要点:

Q5. 什么时候用 plan mode?它把 human approval 插在 agent loop 的哪个位置?

🎯 学习重点:高风险、低可逆任务先只读探索,审批点位于计划与实际行动之间。

考点:planning 与 human approval(来源: https://code.claude.com/docs/en/permission-modes、https://code.claude.com/docs/en/sub-agents)

参考答案要点:

Q6. Hooks 的事件节奏分几种?设计「Edit 后自动 lint」和「禁止危险 Bash」分别挂在哪个事件?

🎯 学习重点:区分会话、轮次、工具调用三种节奏,并正确选择 PostToolUse 与 PreToolUse。

考点:钩子 (Hooks)(来源: https://code.claude.com/docs/en/hooks)

参考答案要点:

Q7. 什么时候该拆 subagent?拆分的收益与代价?

🎯 学习重点:用上下文隔离、专门化、工具限制和摘要细节损失解释拆分边界。

考点:subagents 拆分(来源: https://code.claude.com/docs/en/sub-agents)

参考答案要点:

Q8. 会话启动时 200K 窗口按什么顺序自动加载?上下文预算的三大手段 /context、/compact、/clear 怎么选?

🎯 学习重点:回答加载顺序,并区分诊断、压缩与重开三种动作的副作用。

考点:context 管理(来源: https://code.claude.com/docs/en/context-window)

参考答案要点:

Q9. Skills 与 CLAUDE.md、rules、MCP、subagent、plugins 的边界怎么划?

🎯 学习重点:按常驻事实、路径上下文、按需流程、外部工具、委派和分发逐层归位。

考点:扩展机制选型(来源: https://code.claude.com/docs/en/skills、https://code.claude.com/docs/en/features-overview)

参考答案要点:

Q10. MCP 集成的治理要点?tool search 解决什么问题?

🎯 学习重点:说明 tool search 只省 schema 上下文,不解决认证、权限和 prompt injection。

考点:MCP 集成(来源: https://code.claude.com/docs/en/mcp;对照模块 6/11)

参考答案要点:

Q11. headless/CI 场景(claude -p)应如何配置权限与安全?

🎯 学习重点:使用 dontAsk 与预批准最小工具,并定义超时、失败、sandbox 和审计边界。

考点:非交互模式(来源: https://code.claude.com/docs/en/overview、https://code.claude.com/docs/en/permission-modes)

参考答案要点:

Q12. 把 Claude Code 当作「参考 agent harness」,自建 agent 系统时应抄走哪四条设计?

🎯 学习重点:从循环验证、权限强制、上下文分层和扩展隔离提炼可迁移设计。

考点:agentic harness 抽象(来源: https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents;模块 8)

参考答案要点:

  1. 循环骨架:gather context → take action → verify results,每次工具结果回喂影响下一步;停止条件 = 任务完成 / 用户打断 / 步数与预算上限。
  2. 权限即分层:读/写/执行/网络分档审批 + 规则可持久化 + deny 优先于一切模式——把 human oversight 做成产品化机制而不是口头约定。
  3. 上下文即预算:常驻内容(系统提示、记忆、工具名)与按需内容(skill 正文、MCP schema、subagent 结果)分离;压缩是有损手段,隔离(subagent)优先于压缩。
  4. 强制点独立于模型:模型决定「做什么」,harness 用 hook/权限层决定「什么绝不允许」——LLM 指令不是授权机制。

场景决策题 A:企业安全加固

🎯 学习重点:先识别不可接受的权限失效半径,再组合确定性强制层而非只改提示词。

Scenario:某公司要在开发者笔记本上推广 Claude Code。安全团队三条硬要求:(1) secrets/ 目录绝不可读;(2) 任何情况下不得对 origin/main force push;(3) 个人不得自行放宽权限。

Constraints:开发者日常要跑测试与 lint;不允许逐动作审批拖垮效率;已有组织 MDM 通道。

Options:

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。

场景决策题 B:大型仓库的 context 预算

🎯 学习重点:先测上下文构成,再用 rules、skills、subagents 和 compaction 分层减载。

Scenario:单体大仓(约 50 万行)。架构师用 Claude Code 做「梳理认证链路并写一页架构说明」。会话 40 分钟后 /context 显示 90% 占用,历史里塞满文件内容,模型开始忘事。

Constraints:任务还要继续约 1 小时;产出必须引用具体文件与行号;中途不能重开丢掉已确认的结论。

Options:

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(动手)。
📚 目录