跳到主要内容
版本:1.0(冻结)

总体概览

Multi-Agent Life Cycle Runtime 是一个面向长期存在 Agent 的运行时设计。它关注 Agent 在时间、故障、资源、安全和协作约束下如何持续存在,而不是只关注一次推理能否产生正确回答。

Engine 提供生命环境,Agent 产生生命行为。

一句话定义

Agent 是拥有稳定身份、目标、状态、能力、记忆和行为闭环的自主实体;Runtime 是让这些实体能够安全、连续、可观察地运行和协作的生命基础设施。

问题边界

本项目要解决的问题

一个长期存在的 Agent 至少需要回答以下问题:

  • 身份:不同进程、容器或模型实例如何被识别为同一个 Agent?
  • 时间:任务结束、进程退出和 Agent 终止之间有什么区别?
  • 状态:哪些状态必须持久化,哪些状态只能短暂存在?
  • 恢复:失败后从哪里继续,如何避免重复执行外部副作用?
  • 记忆:哪些经历值得保存,何时检索,何时遗忘?
  • 环境:观测从何而来,可信度如何表示,世界模型如何更新?
  • 协作:多个 Agent 如何发现彼此、授权、通信、分工和处理冲突?
  • 演化:什么证据足以改变长期策略,失败时如何回退?
  • 治理:谁可以创建、暂停、升级或终止 Agent,如何审计?

本项目当前不解决的问题

为避免范围失控,当前设计不预设:

  • 某个特定大模型、Agent 框架、向量数据库或消息队列;
  • 通用人工智能的意识、人格或伦理地位判定;
  • 所有场景通用的组织结构或收益函数;
  • 绕过人类授权的自主权限扩张;
  • 未经验证的在线自修改代码;
  • 已经生产可用的实现承诺。

这些非目标不是永久排除项,而是说明它们不能先于核心契约决定系统结构。

核心对象

Agent

Agent 是一个具有连续身份的自主执行实体。最小构成包括:

要素回答的问题典型内容
Identity我是谁?agent_id、角色、使命、所有者、身份版本
Goals我要完成什么?目标、优先级、来源、期限、停止条件
State我现在处于什么状态?生命周期、任务、关系、资源占用、健康状态
Memory我经历和学会了什么?工作、情景、语义、程序性和自我记忆
Capabilities我能做什么?模型、工具、技能、权限、已验证表现
Self Model我如何理解自己?能力边界、失败模式、置信度、成长历史
Behavior Loop我如何行动?观察、理解、决策、行动、评估、反思

稳定身份不意味着所有内部状态永远不变。身份连续性来自可追溯的版本链、明确的变更原因和可恢复的核心状态。

Runtime / Engine

Runtime 管理 Agent 存在所需的公共机制:

  • 创建、初始化、激活、休眠、唤醒、恢复和终止;
  • 时间、事件、任务、优先级和资源调度;
  • 心跳、租约、健康检查和失联判定;
  • 快照、检查点、版本迁移和审计;
  • 消息投递、事件广播、寻址和访问控制;
  • 外部工具、数据和服务的受控接入;
  • 故障检测、隔离、回滚和人工接管;
  • 指标、日志、追踪和因果关联。

Environment

Environment 是 Agent 之外、能够产生观测或承受行动结果的一切:用户、API、文件、数据库、业务系统、硬件、其他 Agent 和时间事件。

环境不能直接修改 Agent 的核心状态。所有输入应先形成带来源、时间和可信度的观测;所有输出应先经过权限、预算和副作用检查。

World Model

World Model 是 Agent 对环境的可更新解释,至少表达:

  • 实体:用户、服务、资源、Agent、任务;
  • 关系:所有权、依赖、信任、协作、冲突;
  • 状态:已知值、时间、来源和置信度;
  • 事件:发生了什么、因果候选、影响范围;
  • 预测:可能发生什么以及不确定性。

世界模型不是“事实本身”。它必须允许过期、冲突、修正和来源追踪。

Agent 与 Runtime 的责任边界

责任AgentRuntime
解释目标与价值取舍负责提供约束和审计,不代替判断
生命周期状态转换提出意图、执行状态内行为校验并提交转换
任务计划与决策负责提供调度、超时和资源边界
记忆内容选择产生候选、评价意义提供存储、索引、权限和保留策略
工具调用选择动作和参数校验权限、预算、幂等性并执行
故障处理提供领域诊断和替代策略检测基础设施故障、编排恢复
策略演化产生假设和候选变更执行验证、版本、发布和回滚门禁
安全与审计遵守策略、解释意图强制策略并保存不可抵赖记录

边界原则是:Agent 决定“为什么”和“做什么”,Runtime 约束“何时、以什么权限、使用多少资源、如何可靠地做”。

核心运行闭环

环境事件
|
v
观测采集 -> 来源校验 -> 世界模型更新
|
v
目标选择 -> 计划 -> 动作授权 -> 执行
|
v
结果观测 -> 评估 -> 记忆候选 -> 反思
|
+--------+--------+
| |
继续行动 演化候选
|
实验 -> 验证 -> 发布/拒绝

每个箭头都代表一个需要定义输入、输出、失败语义和审计信息的边界,而不是单纯的函数调用。

五项核心能力及其关系

持续运行

持续运行不等于进程永不退出。它意味着 Agent 的身份和必要状态可以跨进程、主机、版本和休眠周期延续。

故障恢复

恢复不等于无限重试。系统必须先判断失败类型、动作是否产生副作用、状态是否一致,再选择重试、补偿、回滚、转移、隔离或人工接管。

环境认知

认知来自观测,但观测可能迟到、冲突或错误。世界模型必须保留来源、时间和置信度,不能把所有输入直接当成事实。

自我认知

自我模型让 Agent 知道自己具备哪些已验证能力、哪些权限、哪些常见失败模式以及何时应请求帮助。它不能只依赖模型自述。

受控演化

演化是对长期行为的版本化变更。候选变更必须经过离线评估、隔离实验、回归验证和发布门禁,且保留回滚路径。

五项能力构成一个闭环:环境认知产生经验,自我认知解释表现,恢复机制处理失败,演化机制验证改进,持续运行保存结果。

关键不变量

无论采用什么框架和基础设施,后续实现都必须维护以下不变量:

  1. 一个 agent_id 在同一时刻最多有一个获得有效写租约的活动实例。
  2. 生命周期转换必须由可追踪事件触发,禁止无记录地跨状态修改。
  3. 外部副作用必须拥有唯一操作标识,并定义幂等、查询或补偿策略。
  4. 快照必须声明模式版本、逻辑版本和恢复点,恢复过程必须验证兼容性。
  5. 记忆必须保留来源和可见范围;共享不能突破原始数据的授权边界。
  6. 演化候选不能直接覆盖稳定版本,必须经过验证和可回滚发布。
  7. Terminated 是不可逆的逻辑状态;需要恢复时应创建新的身份版本或新 Agent。

这些不变量会在核心契约中收敛为可测试条款。

设计状态与证据等级

为了避免把愿景写成现实,文档中的内容分为三类:

  • 仓库事实:当前文件、脚本和部署配置可以直接验证,例如 VitePress 构建命令。
  • 设计约束:后续实现必须满足的边界和不变量,例如状态转换需要事件记录。
  • 候选方案:需要在实现或原型中验证的接口、字段和算法。

当前所有 Runtime 行为都属于设计约束或候选方案,尚没有运行代码证明其有效性。

推荐阅读顺序

第一次阅读建议继续到Agent 生命周期。准备实现时,先阅读核心契约工程路线图,不要直接从数据库或框架选型开始。