
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
承载稳定规则和动态段落边界,尽量让可缓存的前缀保持稳定。Tools会根据内置工具、MCP、Agent、Skill 等来源组装,并在必要时通过延迟加载降低上下文负担。Messages是 Agent Loop 中持续变化的主体:用户输入、模型回复、工具调用结果和 attachment 附加上下文都会按顺序进入消息流。attachment 附加上下文是运行时补充上下文的关键机制:第一轮偏向用户输入和初始
拆解 Claude Code 的工具延迟加载机制:为什么 MCP 工具默认延迟、ToolSearch 如何按需展开 schema,以及 defer_loading 如何降低上下文和缓存成本。
拆解 Claude Code 的工具延迟加载机制:为什么 MCP 工具默认延迟、ToolSearch 如何按需展开 schema,以及 defer_loading 如何降低上下文和缓存成本。
拆解 Claude Code 的工具延迟加载机制:为什么 MCP 工具默认延迟、ToolSearch 如何按需展开 schema,以及 defer_loading 如何降低上下文和缓存成本。
本文深入解析了Claude Code中Agent Loop的实现机制,揭示了构建高效agent系统的核心设计思想。主要内容包括: Agent Loop的本质是一个持续决策的控制循环,通过"读取-决策-执行-反馈"的迭代过程完成任务,而非单次响应。 最小可用模型展示了agent系统的三个关键特征:状态累积、迭代决策和工具结果回流推理链。 工程实现采用三层架构(编排层-循环层-适配
回头看文章开头那几个典型问题,其实都能在这条主线上找到位置。工具为什么不该只是函数表,对应的是统一 Tool 合同;工具为什么不能全量暴露,对应的是注册层;工具为什么不能拿到名字就直接执行,对应的是完整生命周期;工具为什么不能盲目并发,对应的是语义驱动的并发策略。Claude Code 的工具系统值得借鉴,不是因为它工具多,而是因为它把工具放回了 runtime 的中心位置。
如果只看表面现象,Claude Code 的权限系统像是在工具外面加了一层“允许 / 拒绝”的开关;但顺着执行链路拆开以后,会发现它实际是一个分层运行的判断过程:先做输入校验,再做全局规则预检查,再进入工具级检查,最后把结果收口成,并把结果回写给模型。这套机制的关键,不在某一个单独函数,而在这些层次的分工。配置文件里针对整工具的规则、带内容的细粒度规则、Bash自己的语义判断,以及最终裁决后的结果
Edit 工具用一个 LRU 缓存// 读取时的文件内容// 读取范围起始(全文读取时为 undefined)// 读取范围长度(全文读取时为 undefined): boolean;// 自动注入的内容与磁盘不一致时为 trueRead 工具读取文件后会写入这个缓存,Edit 工具写入成功后也会更新它。这个缓存是后续所有过期检测的基础。即使所有检查都通过了,写入仍然可能不是用户期望的。备份使用而

静态注入——SKILL.md 被解析为 Command,短描述通过在首次用户输入时注入模型上下文。之后每轮都检查但通过去重机制避免重复。文件监听在 SKILL.md 变化时触发重载,压缩后有意不重置去重记录,已使用的 Skill 通过保留。Skill 工具——模型看到一个通用的Skill工具,通过 listing 中的短描述判断何时调用。Skill 本质上是工具的路由——模型通过名字查找 Comm
本文拆解 Claude Code 每次调用模型 API 时上下文如何由 System Prompt、Tools 和 Messages 分层组装,并解释稳定前缀、动态内容后移、attachment 增量注入等关键机制。







