ESSAY·

Claude Code:执行循环、记忆与扩展机制

沿执行循环、工具证据、项目规则、自动记忆和扩展机制,理解 Claude Code 的职责与公开可验证边界。

最近修订:2026.09.07

阅读导航 · 第 1 / 8 篇

Claude Code 的核心实现并未完整开源,公开仓库主要承担分发、Issue、插件和部分工具,因此本文不声称完成逐行源码分析。可验证材料来自官方仓库与官方架构文档。

研究口径:依据文中链接的公开文档,核对日期为 2026-09-06;下文是公开机制的职责归纳,不作为未运行路径的实测证明。

设用户要求修复登录请求超时并运行回归,不推送代码。Claude Code 可以读取实现、提出修改并调用测试;模型提出 Git 推送时,应由当前权限与任务约束阻止。下文以这条任务说明上下文、工具和扩展的分工。

Claude Code 把提示上下文、按需能力与确定性自动化放在不同扩展层。

执行循环:工具证据与停止条件

Claude Code 每轮都在重复一个短循环:收集当前上下文,选择工具,获得真实结果,再决定继续、修正或结束。模型负责开放式判断,工具负责让判断接触文件、Git 和运行环境;权限规则则在副作用发生前限制行动范围。

权限不替模型思考,但决定哪些推理可以转化为真实副作用。 这里必须区分“完成动作”和“完成任务”。写入文件只证明工具成功,测试、构建、运行结果和 Diff Review 才构成交付证据。Hook 可以在工具前后追加检查,Subagent 可以隔离大范围探索,但最终仍需主循环把结果纳入任务判断。

官方文档也提醒,项目规则进入上下文后属于模型要遵循的指令,并非强制配置。安全要求应落实到权限规则、工具后端和操作系统隔离;能够阻断动作的同步 Hook 可补充路径内检查,但需验证事件覆盖、禁用和失败处理,不能把它视为不可绕过的总边界。

记忆与扩展:信息加载和执行边界

Claude Code 的扩展体系按加载时机分层。CLAUDE.md 保存每次会话都需要的项目规则;Auto Memory 由 Claude 根据纠正与经验维护;Skill 的描述常驻而正文按需加载;Subagent 在隔离上下文中工作;Hook 则按配置匹配生命周期事件并触发处理。官方 Memory 文档明确区分人工规则与自动记忆。

机制谁写入何时生效主要风险
CLAUDE.md人或显式初始化每次会话过长、冲突、规则漂移
Auto MemoryAgent跨会话错误经验持续注入
Skill作者或团队匹配任务时误触发、内容过时
Subagent主 Agent 调度独立任务期间摘要丢失关键证据
Hook配置与脚本作者确定事件高权限脚本副作用

官方把 Auto Memory 保存为可读 Markdown,并允许用户审计、编辑和删除,这是重要的可治理基础;但“可见”仍不等于“已验证”。经验进入记忆后会影响未来上下文,因此还需要来源、冲突和失效策略。

Skills 与 Hooks 的差异尤其关键:Skill 为模型提供工作流方法,Hook 在配置匹配的事件上触发检查。执行前的同步 Hook 可以参与阻断;事后或异步 Hook 不能承担同样的门禁。需要强制的约束还应落实到权限、工具服务和操作系统隔离,并测试禁用、超时和错误退出时的行为。Hook 事件、退出码与异步行为