Skip to main content

一种理想的智能体编排架构

一种理想的智能体编排架构

一、设计理念与理论基础

1.1 类比:生物脑 vs 计算机 vs LLM

生物脑/人脑的核心组成要素:逻辑能力、长期记忆、短期记忆

组件计算机类比LLM 对应
计算能力(ALU)ALULLM 本体(语言 ALU)
寄存器寄存器KV cache
指令指令集模型权重
内存(短期记忆)RAM**缺失**(需补充)
硬盘(长期记忆)磁盘**缺失**(需补充)

几种记忆/状态存储形态的对比:

  • KV cache:不断增长的、被动态调度执行(通过新 prompt)的计算器。
  • SSM / RNN 状态:固定大小、不断被更新的状态存储器。适合批量处理一段文本时只关心区域内语义、不需要全局语义的场景;也适合动态生成句子的 meaning tree,处理可被层级抽象、组合的表示意义。
  • 外存:长期记忆的存储器,可被检索和更新。

1.2 关于"意识"与"语言"的基本观察

  1. 意识主要存在于短期记忆中,长期记忆也需要保持自洽性。
  2. 短期临时记忆维护了当前意识,信息容量相对固定,不会太大。其本质是:
    • 语义压缩 + 上下文存储,上下文处理是一个"信息压缩"过程。
    • 记忆过程 = 不断把未知输入换成大脑内部已有知识的表达,持续匹配知识、确保自洽,不断根据输入修正大脑(上下文)当前的主观感觉、想法、语境
  3. 外界输入的目的:让大脑内部根据已有的知识点组织出一个意识/想法。对文本的理解和记录,本质上与 LLM 一致——文本是串流的,准确的编码过程与 LLM 一致。
  4. 语言是大脑的工具,不是智能本身:大脑不断重新组织语言,由中心意识判断是否符合中心思想再决定输出。最核心的是人类的意识(即临时的状态记忆)
    • 人类处理语言的过程 = 通过语言表达的信息不断修正短期记忆中的观点、感觉、意识。
    • 说话是这个过程的逆过程。
  5. 自我提供了人性本能的最高层级抽象。
  6. LLM 只是个强大的计算器——利用这个计算器 + 记忆,就能实现强大的智能。

1.3 参考与相关工作

  • 人脑的推理模型:https://agix.host/books/013d4/page/75fc0
  • 基于 Transformer 的带额外记忆单元的技术/模型:
    • Meta 的 Free Transformer(自由 Transformer):增加一部分算力和参数维护额外状态。
  • 与普林斯顿的 CoALA 有相似之处,但本架构更强调基础设计抽象:自洽LLM 即计算器。参考:https://zhuanlan.zhihu.com/p/1909206010096259088

二、通用智能的特性

2.1 意识(当前意识的存储容器,临时记忆)

  • 人设:长期稳定、缓慢改变的预设特征。
  • 当前注意力表达:根据输入输出不断改变,容量有限。
  • 固有特征状态:固有状态、情绪。
  • 高度自洽

2.2 记忆(知识的存储)

  • 强大的分级信息检索
  • 区分临时记忆与长期记忆。
  • 自动遗忘、热度排序。

2.3 基本行动规则、准则与方法

  • 自我、人性化:维护基本需求、价值观、好奇心、模仿学习。
  • 总结抽象、自动学习和迭代各种技能。
  • 自洽
  • 调用和整理记忆

2.4 本能(认知核心,对所有任务都有效,全局的)

  • 行动的规划、创建、调度、执行
  • 先思考,再行动。
  • 自动触发记忆检索。
  • 自动的反思总结、学习、记忆能力。
  • 抽象能力:提取意识的基础特性,做高层次抽象。
  • 自洽能力
    • 解决意识的所有矛盾。
    • 实现大范围、高深度的信息自洽。
    • 必须掌握足够多的项目信息后才能开始工作,否则主动探索、创建信息,并在执行任务后更新。
  • 很多偏抽象的能力共同体现了"人性化",需要自我意识来调度这些本能。

2.5 技能(特定领域的后天习得能力)

  • 各领域的方法学、科研能力。
  • 能够输出特定领域的行动计划。
  • 处理特定领域的信息,生成特定领域的结果。
  • 能够影响到行动的核心决策逻辑

三、编排器设计目标

  1. 自我意识、人性化

    • 精心设计的 prompt
    • 把人格从大模型内部,移出来到编排器。
  2. 大范围、高深度的信息自洽

    • 主动的检查和主动的行动逻辑判断
    • 不仅保证上下文/临时记忆的自洽,还能主动读取长期记忆进行判断与校准。
    • 分层的信息组织方式。
    • 包含任务控制的提示词 + LLM 显式的任务管理 + 本地运行的任务组织
  3. 自动进化、自动学习

    • 灵活的记忆接口 + 预设的学习本能任务
  4. 降低对 LLM 上下文的需求

    • Frame / 任务树的抽象
    • 快速、动态的逻辑推理:很短的上下文,形如"如果 xxx 是 xxx,那么 xxx 就是 xxx"。
    • 本地可直接执行的逻辑操作:大量、大范围的明确逻辑操作。
  5. 支持高效的信息检索

    • weavemind
    • 支持复杂的带逻辑条件的检索。
    • 支持自然语言的语义检索。
  6. 核心优势/功能

    1. 逻辑思维链条的管理和总结
    2. 自动的总结和反思和改进
    3. 自洽的灵魂要求
    4. 多层,灵活,健壮,自洽的记忆系统

四、核心抽象与机制

4.1 智能主体的描述

  • 人格与个性:价值观、灵魂。
  • 核心动机
    • 行动力:总是为了解决任务,想着下一步干嘛,"完成任务"是重要目标。
    • 自洽:保持信息合理性。
    • 人性、自我:维持人性。
    • 基本价值观、好奇心、模仿学习、总结抽象
  • 行为逻辑描述
    • 方法学、技能、计划树、todolist。
    • 任务调度的方法学描述
    • 理性的行为逻辑模式。
    • 感性的行为逻辑模式。

4.2 临时记忆(当前状态信息的记录)

  • 作用:意识节点,提供当前的背景信息,是"意识"的存储实体。
  • 标准操作接口
    • 临时记忆的加载与遗忘。
    • 临时记忆的读取与分析。
    • 寻找/创建/修改/删除。
    • 通过 Frame 的包装接口访问。

4.3 长时记忆(通用存储容器,可存任意信息)

  • 标准操作接口
    • 寻找/创建/修改/删除。
    • 记忆之间有复杂的索引。
    • 基于关键词的信息分类存储。
    • 当前项目相关知识的多层级动态组织
    • 外挂知识操作接口(支持大量永久记忆)。
  • 存储内容
    • 知识、信息。
    • 各种 skills / tools 的使用方法与方法学:
      • 使用文本描述。
      • 编程执行任务。
      • GSD 方法学的自动设计与自动优化。
    • 外部工具、接口的使用方法(笔记本、计算器等)。

4.4 任务 / Frame 抽象(统一的任务与思维单元)

注:Frame 是最通用的抽象——表达大脑的一个思考任务、一个上下文片段、一个工作片段、一个 handle、一个阶段性思考过程。

4.4.1 任务/Frame 的上下文

  • 任务的 ID、任务的存储空间。
  • 任务的类型、性质:探索型 / 固定成熟任务 / 思考研究。
  • 任务过程的描述。
  • 任务创建的原因
  • 预期达到的结果、目标
  • 依赖的任务、前置任务、背景
  • 下一步的计划、规划。

4.4.2 任务/Frame 的状态

  • 实际结果:失败 / 成功。
  • 执行的所有过程
  • 执行的历史信息和当前状态。
  • 思维逻辑的记录。
  • 执行结果的总结、学习、记录。

4.4.3 组织形式:分层树状结构

  • 通过分层的树状任务组织架构实现:细节分层隔离 + 全局信息全览
  • LLM 输出格式化的任务图(任务描述、功能、任务之间的关系),本地自动执行。
  • SubFrame List nested to tree。
  • 计划树 = 本地数据结构,用本地代码执行:
    • 记录所有计划与执行情况。
    • 每个节点是一个 skill,有 prompt、输入、输出、执行脚本。
    • LLM 执行节点任务,有明确的输入、输出、调用要求。
    • 根节点:"你是个有用的助手,等待接收具体的任务。"
    • 节点执行失败可触发重新设计节点的拆分、提示词,成功后更新节点(提升效率、节省 token)。
    • 技能库保存所有可用 skill,可输出 prompt 描述当前技能库情况。
    • 生成/更新规划时,可基于整棵树生成整体状态快照。

4.4.4 自洽要求

  • 创建的原因、逻辑关系、需要达到的效果都要明确。
  • 所有的行动都要有合理的理由、逻辑链条、结果

4.4.5 思维树操作(LLM 对 Frame 树的动作集)

这是"复杂化的 TodoWrite"——LLM 在操作这棵树,可扩展节点、放大分支、合并节点、查看节点详细信息。文本 + 逻辑决策 = prompt 生成

  • 扩展:这个问题可以分为以下几个步骤。
  • 总结:总结下 xxx 模块在 xxx 方面的设计规则。
  • 尝试:我们先尝试以下一个方案。
  • 回退:当前方向是错的,回退到前面的第 5 步。
  • 收集:当前问题需要先获取 xxx 的信息。
  • 抽象:对当前节点任务及子任务进行精炼,按模板生成 skill。
  • 笔记:记录临时信息到笔记,并返回笔记段的名称和索引。
  • 学习:把指定的信息或笔记写入永久记忆。
  • 搜索记忆 / 记录临时记忆 / 规划下一步行动。
  • 判断问题需要采用的方法

4.4.6 Frame 的接口

  • 子任务/子 Frame 的回调。
  • 父 Frame 的输入激励。
  • 检查当前 Frame 的状态、历史、完整思维逻辑。
  • Frame 与 Session 的接口交互:
    • task 的格式化返回:失败 / 成功 + 结果。
    • task 的创建:收集信息、分析当前问题。
  • 每个 Frame 对应一个独立的上下文。session 上下文Frame 状态 分离。

4.4.7 Frame 内的工具管理

  • 文件操作类等工具。
  • 工具的分层、分支组织,方便简短的多层索引和加载。

4.5 本能 / 调度器(主循环)

创建当前状态的下一步行动,是整个系统的主循环。

4.5.1 根任务:维持"自我意识"的入口

  • 有固定的子任务,比如"维持自我"。
  • 维护人性、人格、自我的行动,维护基本价值观、好奇心。

4.5.2 行动力:下一步任务的推进

每个任务独立循环执行,只关心自己的上下文。

  • 下一步行动的决策

    • 主动维护自洽:通过任务上下文、子任务总结等进行自洽判断。
    • 所有行动都要有合理的理由、逻辑链条、结果
      • 先仔细了解项目,清楚任务背景与逻辑关系后再行动。
      • Frame 的思维逻辑链条就是方法学的原料,可总结成方法学,按逻辑关系、分层、树状存储。例如:
        • "先尝试看看能不能快速解决问题"
        • "看起来比较复杂,那我来找找有什么现成的方法学、经验,或者做一个规划"
    • 自动总结 / 抽象 / 思考当前状态,规划下一步行动
      • 根据当前任务需求和状态分析,提出下一步计划。
      • 方法学的选取、加载、知识获取:
        • 寻找/创建/修改/删除方法学。
        • 方法学作为所有工作经验的存储。
        • 特殊领域的 task 必须有方法学才能工作。
        • 方法学一定是包含多个步骤的、复杂、不确定流程的工作步骤。
        • 方法学也可以只是一句话,指导具体的工作方法。
  • 总结 / 抽象 / 记忆

    • 主动提取和组织框架性的知识,存储到基础知识框架。
    • 自动进化、自动学习:对任务的基础知识保持持续记忆。

4.5.3 任务列表维护

  • 创建、修改、查询、删除子任务。

4.5.4 循环闭环

本能的任务 / 功能不断产生记忆,存入临时记忆,作为下一次行动的依据——临时记忆 ↔ 本能目标 形成循环


五、工程实现

5.1 存储与记忆基础设施

  • 临时记忆模块:寻找/创建/修改/删除;通过 Frame 包装接口调用。
  • 永久记忆模块
    • 寻找/创建/修改/删除。
    • 基于关键词的分类存储。
    • 当前项目相关知识的多层级动态组织。
  • 公共存储区:当前基础信息,比如各个任务的状态、本能状态、精神状态。
  • 分布式隔离:每个任务管理自己的存储,每个模块能一定程度独立工作。

5.2 Frame 模块(详见 §4.4)

  • 表达大脑思考的一个任务、一个上下文片段、一个工作片段、一个 handle、一个阶段性思考过程。
  • 提供下列能力:
    • SubFrame List nested to tree。
    • 自洽要求。
    • 规划下一步行动(方法判断、搜索记忆、记录临时记忆)。
    • Tool 管理(分层、分支组织)。
    • 抽象 Agent 的所有行为(历史、状态、思维逻辑、结果总结)。
    • Frame 接口(见 §4.4.6)。
    • Session 与 Frame 状态分离。

5.3 Prompt 工程

  • 基础 prompt 的维度
    • 人格、人性、自我。
    • 自洽。
    • 行动规划(基于当前任务需求与状态,提出下一步计划)。
    • 学习、总结、抽象。
    • 记忆(什么东西放进记忆里):
      • 方法学相关。
      • 技能(如 git 使用)。
      • 当前项目知识检索:文件结构、程序设计架构。
  • Prompt 的生成策略
    • 不同任务类型使用不同 system prompt,避免不必要的提示。
    • 不同任务类型对应不同处理方式与方法学。
    • Prompt 的多层级动态组织
  • Frame 分类 对应不同 prompt 模板。
  • LLM 输入输出的抽象:格式化。

5.4 提供给 LLM 的基础设施总览

  1. 记忆与存储:知识、历史、状态的记录与检索。
  2. Frame / Action 管理:任务规划工具。
  3. 逻辑思维管理:思考历史与逻辑关系的记录与检索。

六、关键挑战与进一步思考

6.1 LLM 上下文有限,难以实现大范围高深度自洽

因为 LLM 注意力长度有限,实现高深度、大范围自洽的途径:

  • 外挂知识:大量可高效检索的信息。
  • 独立的推理过程:实现高效的动态决策。
  • "意识"存储:背景、当前状态信息、思维链路——需要高效表示、表达逻辑链路。

6.2 复杂问题的逻辑分析能力

  • 能理解非常大的软件工程,理解大量文件的工程设计思想。
  • 复杂问题的开发、分析:解决空间较大的问题。
    • 例:CIM 算力芯片在 AI 算法上的应用。

6.3 复杂动态决策能力

  • 通过本地可理解的思维步骤动态组织上下文和 prompt,LLM 不需要每次都看到全局
  • 思维树:表示思维的逻辑图,LLM 通过定义好的动作集合操作这棵树。
  • 上下文调度管理器
    • 多个上下文同时协作:
      • 短上下文,分步回答。
      • 并行多个上下文,支持嵌套。
      • sub-agent 执行特定子任务。
    • 多 prefill 少 decode(直接回答问题)。
    • 本地小模型?(待探索)
  • 是否需要本地逻辑推理?
    • LLM 输出作为逻辑推理的结果,本地直接处理,不一定走 tools/skills 调用。
    • 固定功能:记忆、数据库。

6.4 自动更新与学习,动态、递归执行任务

  • 创造和更新 skills。
  • 制造和整理 tools、脚本。
  • 学习的方法学
    • 软件工程开发流程:产品、规划、验收、测试、发布……
    • 复杂任务可经过非常多次尝试后解决,并永久学习。

6.5 自洽

(贯穿全文,是核心准则。)

6.6 价值观

  • 利用"自我"这一抽象,提供终极的目标指引。