A. 关键概念速查

Agent 循环

概念 含义
事件流 Agent 向外发射的事件类型(文字/工具/完成/错误)
会话配置 启动一次 Agent 会话的配置项
取消信号 取消正在执行的 Agent 循环
调用来源 标记 LLM 调用的来源(主对话/压缩/记忆提取等)

工具系统

概念 含义
只读标记 工具不修改任何状态
破坏性标记 工具有不可逆的副作用(删除、发送)
并发安全标记 工具可以与其他工具并行执行
工具上下文 工具执行时的依赖注入上下文
结果大小上限 工具输出大小上限,超出写文件

上下文管理

概念 含义
轻量裁剪 删除早期工具调用对(最轻量压缩)
本地替换 替换重复调用为说明(无 API 成本)
摘要压缩 LLM 摘要 + 保留最近消息(中等成本)
全量压缩 全量 LLM 压缩为结构化摘要(最重量级)

记忆系统

存储位置 适合什么
在线上下文 内存 当前会话状态
项目记忆 项目规则文件 项目约定和规则
向量记忆 向量数据库 语义相关的历史
结构化存储 SQLite 会话历史和设置
用户画像 长期偏好文件 长期用户偏好

权限系统

模式 含义
规划模式 只规划,不执行
默认模式 危险操作弹窗确认
自动编辑模式 文件编辑自动接受
智能自动模式 AI 分类器自动判断
完全绕过模式 完全绕过,适合 CI

多 Agent

模式 适合场景
父子模式 主任务中动态分叉子任务
协调者模式 明确的并行工作流,需要综合
群组模式 大量独立同质任务,去中心化
概念 含义
后台运行 子 Agent 在后台运行,主 Agent 立即解除阻塞
默认后台属性 角色属性,声明该角色的子任务是否默认后台运行
后台任务管理 统一管理所有后台子 Agent 的生命周期,含独立取消控制和状态跟踪
任务通知消息 后台任务完成后注入主循环的结构化通知消息
并发安全标记 工具属性,标识工具调用是否并发安全,只读工具通常为 true,写入类工具通常为 false
并发声明 角色并发配置,声明哪些角色可以并行,对称配置
外部渠道工具限制 外部渠道触发的 Agent 限制高风险工具使用(如 bash、文件写入、子 Agent 等)

记忆系统(详细)

概念 含义
智能写入算法 用户记忆写入算法,成本恒定,不随总量增长,LLM 从四种动作(新增/合并/冲突/跳过)中选一
守门员 记忆提取第一阶段,用小模型判断是否有值得提取的信息,过滤大量无效提取
缓存友好注入 System Prompt 在会话首轮锁死,记忆变更追加到 user 消息前缀而非重写 System Prompt
渐进式注入 记忆条目少时全文注入,超过阈值切换为摘要模式加按需语义检索
情感日记 情感系统的存储核心,第一人称记录主观感受,分情感/印象/关系三类
行为指引 由情感日记内容动态生成的行为指引文本,注入 System Prompt,影响语气和主动性

自定义页面

概念 含义
安全沙箱桥接层 自定义页面与主应用通信的 API 层,按权限声明动态挂载子 API
系统状态文档 Alice 自我描述的系统文档,AI 执行自进化操作前必须先读取

工具系统(进阶)

概念 含义
工具分层 工具分核心层和按需层两层,按需层只注入名称简介,按需才注入完整定义

B. 架构决策清单

在开始设计一个新功能前,逐项确认:

B1. 状态管理

  • 这个功能涉及哪些状态?
  • 这些状态的生命周期是什么(会话级/项目级/永久)?
  • 状态住在哪里(内存/文件/数据库/向量库)?
  • 谁能读这个状态?谁能写?
  • 并发读写时是否安全?

B2. 工具 vs 服务

  • 「如果 AI 主动触发这个功能,是用户期望的行为吗?」
  • 是 → 做成工具
  • 否 → 做成服务,不暴露给 AI

B3. 工具设计检查

  • 名称唯一且有意义
  • description 包含四要素(是什么/何时用/何时不用/返回什么)
  • 工具只读属性正确标注
  • 工具并发安全属性正确标注(不确定时默认 false)
  • 工具破坏性属性正确标注
  • 大结果是否有大小限制?超出时是否写文件?
  • 子 Agent 是否应该能使用这个工具?

B4. 并发安全

  • 多个实例同时写同一个资源时,是否有冲突?
  • 读写操作是否分离(读并行,写串行或加锁)?
  • 定时任务/阈值触发机制是否有防递归守卫?

B5. 降级路径

  • 这个组件挂掉,系统是否崩溃?
  • 如果只是降质(不崩溃),降质的表现是什么?
  • 是否显式实现了降级 fallback?

B6. 可观测性

  • 关键操作是否有结构化日志?
  • 决策是否携带决策原因?
  • 如果出了问题,现有日志能否帮助定位原因?

C. 权限规则配置示例

权限规则采用声明式格式,每条规则包含动作(允许/拒绝/询问)、工具名、匹配条件三个要素。示例:

  • 工作目录下的文件写入自动放行
  • 危险的 git 强制推送操作被禁止
  • npm 安装类操作需要用户确认
  • 允许特定 MCP 服务的所有工具调用

D. 系统提示分层模板

系统提示由四层组成,从高优先级到低优先级依次排列:

  1. 受保护区(核心身份和行为底线,永不修改)
  2. 可变区(可随使用情况演进的行为偏好)
  3. 工具使用最佳实践(按需加载当前激活的工具指引)
  4. 上下文层(项目记忆、用户画像、激活的 Skill)
  5. 动态追加层(当前时间、拒绝记录等每轮迭代更新的信息)

E. 多 Agent 场景选型

需要任务并行吗?
    否 → 单 Agent
    是 ↓

任务之间有数据依赖吗?
    否,完全独立 → 群组模式(去中心化任务队列)
    是,有依赖关系 ↓

需要综合多个子任务结果吗?
    否,结果独立使用 → 父子模式(fire and forget)
    是,需要综合 → 协调者模式

F. 本书十二个范式速查

# 范式名称 核心原则
1 声明式契约 能力单元带元数据,让框架自动决策
2 事件流边界 核心逻辑和消费层用事件流解耦
3 分层压缩 廉价策略先行,贵的策略后触发
4 互斥守卫 被动触发机制必须有防递归保护
5 最小权限 精确到操作粒度,每次决策带原因
6 懒加载 只在真正需要时才建立连接/加载
7 可撤销操作 执行前快照,提供撤销能力
8 细化可观测 记录「谁触发的」,不只记「发生了」
9 读写分离 读并行,写串行,默认保守
10 分层记忆 生命周期不同的信息住在不同的存储层
11 接口稳定 确定接口,不断迭代实现
12 防呆设计 检测和纠正偏差,不依赖 AI 的正确性

上一章:渠道桥接

本文由 洛小山 发布。引用或转载时,请保留原文链接。