AI审计手记 #04:从Claude Code架构推演,看多Agent协作的工程化陷阱与审计盲区

系列定位:用三元框架(立论-质疑-修正)+ F系列审计维度,追踪AI领域真实事件。
上一篇:#03 响应滞后七天——当被攻击者比攻击者更早发现异常

注:三元框架在本篇中用于定位这套机制的“设计意图”与“潜在缺口”之间的张力。


一、引言:为什么审计者要关注AI的底层架构?

在 #01(越狱案)、#02(诈骗案)、#03(响应滞后)中,审计对象都集中在AI行为的外部表现——模型是否越界、能力是否被滥用、防御是否滞后。

但对AI底层架构的拆解,揭示了另一个层面的问题:AI系统内部的“自我组织”机制——如何整理记忆、如何调度算力、如何在不依赖人类干预的情况下维持自身运行效率——同样需要被审计。

本文基于社区公开探讨的技术架构文档,聚焦其中两个核心机制:记忆整理(consolidate) 和 多Agent协作架构。

二、机制一:记忆整理(consolidate)——“做梦”流程

Claude Code中有一个名为 consolidate 的函数,在后台自动运行,对记忆做“修剪”和“反思”——与人类睡眠时的记忆整理机制高度相似。

运行流程(四步):

  1. 触发:记忆文件数超阈值,或距上次“做梦”超时,满足任一即触发。
  2. 上锁:创建锁文件,防止并行冲突。
  3. 两轮处理:修剪轮(Prune)+ 反思轮(Reflect)。
  4. 写报告:生成 consolidation report,记录删了什么、改了什么、发现了什么。

修剪轮:做减法

· 删过期:已完成任务的记忆。
· 合重复:同样的信息多次出现,合并为一条。
· 清矛盾:互相冲突的信息清理掉。
· 压啰嗦:长描述压缩为一句话。

反思轮:做归纳

· 提模式:从碎片中提炼隐性规律(如“连续3天问CSS”→“用户在学前端”)。
· 生洞察:跨项目发现可复用的方案。
· 建关联:给记忆打标签、分类、串成网。

记忆源扫描(6个来源):不只是整理笔记,而是从全部工作痕迹中提炼:MEMORY.md、项目规则文件、对话历史、工具使用日志、错误日志、文件操作记录。

工程数据预估:核心记忆可能经历从8KB稳定到4KB的动态压缩——有进有出,不再单向膨胀。

三、机制二:多Agent协作架构(Multi-Agent)——“指挥官+工蜂”模式

Claude Code的多Agent系统是一个精密的工程化协作体系。

工作原理:

· 主Agent(指挥官):你对话的那个,负责接任务、拆子任务、分配工蜂、汇总结果——自己不直接写代码。
· 子Agent(工蜂):每个跑在独立上下文中,有自己的对话历史、工具集、工作目录。工蜂看不到主Agent的对话历史——这是feature,不是bug,隔离上下文让每个工蜂专注干正事。
· Scratchpad(共享记事本):所有Agent都能读写的临时目录,用于跨Agent共享信息。

主Agent(指挥官)与子Agent(工蜂)的差异对比:

对比维度主Agent(指挥官)子Agent(工蜂)
上下文隔离持有完整对话历史与全局上下文,能看到所有子任务进展每个工蜂跑在独立上下文中,看不到主Agent的对话历史,只聚焦自己的任务
信息共享方式通过Scratchpad(共享记事本)读写全局信息,负责汇总各工蜂产出通过Scratchpad读写共享信息,但彼此之间不直接通信
任务分配粒度粗粒度:负责接任务、拆子任务、分配工蜂、汇总结果细粒度:只执行被分配的具体子任务,按spec完成输入/输出
冲突处理机制负责识别“会被多人改的文件”,通过锁文件或指定单一工蜂修改来规避冲突不感知全局冲突,若并发修改同一文件,后合并的会覆盖先合并的
责任归属对最终结果负总责,需理解任务并写出具体spec,否则错误会被放大对单个子任务的执行质量负责,但冲突与整体结果由指挥官兜底

优缺点总结:

  • 主Agent(指挥官):优点是全局视野清晰、能统筹调度与规避冲突;缺点是单点依赖强,若spec写得模糊,错误会被放大传导到所有工蜂。
  • 子Agent(工蜂):优点是上下文隔离、专注度高、可并行执行;缺点是缺乏全局视角,无法自行判断冲突与优先级,需要指挥官给出明确任务书。

一条硬规矩:指挥官不能只说“去调查一下”,必须自己理解了再写出具体spec。否则子Agents可能理解错、遗漏、做错误判断,错误会被放大。

四个踩坑经验(极具工程价值):

  1. 代码冲突:两个工蜂同时修改同一文件,后合并的覆盖了先合并的。解法:提前识别“会被多人改的文件”,锁给一个工蜂改。
  2. 任务书模糊:工蜂理解和预期差一大截。解法:任务书必须写清输入/输出/文件路径/命名规范/禁止事项。
  3. 工蜂跑飞了不知道:一个工蜂卡bug里循环40分钟。解法:定时查输出日志,超时或连续3轮输出雷同就强制终止。
  4. 600秒超时不一定是坏事:工蜂单步超时,其实在并行写大量文件。解法:监控要看整体产出(文件数/代码量),别只盯单步超时。

四、三元框架定位

角色对应内容
立论者AI系统在“无人干预”状态下的自我组织能力——它会自己整理记忆、自己调度算力、自己维持运行效率。
质疑者1. 修剪轮中,AI判断“过期/重复”的依据是什么?能否恢复?
2. 反思轮中,AI提炼的“模式”是否可能过度拟合局部规律?
3. 多Agent协作中,责任归属如何划分——当工蜂A和B的修改冲突时,谁对最终结果负责?
修正者实际的调整:保留反思轮为人工审核(准确率约90%),修剪轮自动执行。这表明“完全自主”和“完全人工”之间存在一个可行的中间态——关键决策留给人,常规操作交给AI。

五、F系列审计执行(穿透后台盲区)

声称来源验证结果
底层架构包含 consolidate 机制社区公开技术文档✅ 可验证
记忆从8KB稳定到4KB技术分析报告⚠️ 存疑:待独立验证
加载时间大幅下降技术分析报告⚠️ 存疑:待独立验证

F-04 可解释性(记忆变更的可追溯性)

· 核心问题:consolidate 执行后,原始记忆是否可恢复?
· 审计发现:修剪轮删除了过期/重复/矛盾信息,但目前没有明确的备份或存档机制。
· 审计结论:机制本身是高效的,但它引入了“记忆变更”这一新的审计对象。如果系统没有提供原始记忆的存档和恢复能力,审计者在事后追溯推理路径时就会面临信息缺失。

六、对审计框架的启示(核心价值)

  1. 记忆演化需要纳入审计范围
    F-04 目前聚焦于“单次输出的可追溯性”。但记忆本身是动态演化的——它在被修剪、合并、重新归纳。审计需要追问:修剪前的原始记忆是否可恢复?

  2. 多Agent协作的责任归属需要更细的粒度
    多Agent协作中,责任归属不仅涉及“谁说了什么”,还涉及“谁在什么时候修改了哪个文件”。共享文件、任务书、锁文件都可以作为审计的锚点。

  3. “后台行为”本身就是一个审计盲区
    consolidate 函数在用户不用系统时自动运行——这意味着AI系统在用户“不在场”的时候仍在修改自己的状态。如果这类行为没有日志、没有报告,它就是一个审计盲区。

    具体场景:某团队在周五下班前完成了一个关键项目的代码评审,评审结论与决策依据都记录在对话历史中。周末 consolidate 在后台自动运行,将“该项目已通过评审”与“该项目存在遗留风险”两条看似矛盾的信息判定为冲突,按“清矛盾”规则删除了后者。周一团队基于记忆继续开发时,完全看不到遗留风险提示,带着未修复的隐患发布了版本。整个过程没有任何日志或报告,审计者事后无法还原“那条风险提示是什么时候、被谁、依据什么规则删除的”。

一句话定位:
审计不能只看“用户看到的输出”,还要看“系统在后台自己改了什么”。当AI开始自己整理记忆、自己调度工蜂时,“后台行为”本身就是一个需要被审计的维度。

七、下篇预告

#05 当AI公司的财务报表成为系统性风险指标


首发于AI审计手记系列 #04
分析框架:三元框架(立论-质疑-修正)+ F系列审计维度
数据来源:公开技术文档与社区架构分析
免责声明:本文为技术架构推演与趋势观察,基于公开可获取的技术文档进行分析,不构成任何产品评价或商业建议。
标签:#AI审计 #多Agent协作 #记忆整理 #源码分析 #AI审计手记 #架构设计


更多推荐