Agents 系统是 OpenClaw 的核心大脑,负责管理多个独立的 AI 代理实例,每个代理都有自己的配置、工具集、技能库和上下文管理策略。本文将深入分析 Agents 系统的 5 大核心子系统:
- 多代理配置管理 - 如何定义和组织多个独立代理
- 系统提示构建 - 如何动态生成 LLM 的完整指令集
- Compaction(上下文压缩) - 如何在超长对话中管理 Token 预算
- 模型回退机制 - 如何在主模型失败时自动切换备用模型
- 工具准备与过滤 - 如何为每个代理准备正确的工具集
核心价值:
- 🎯 多租户支持:一个 OpenClaw 实例支持多个独立代理,每个有自己的配置
- 🧠 智能提示工程:根据上下文动态构建最优系统提示
- 🔄 自适应压缩:自动管理超长对话的上下文,避免 Token 溢出
- 🛡️ 高可用回退:主模型失败时自动切换备用模型,不中断对话
- 🔧 精准工具管理:9 层策略过滤确保代理只能使用授权工具
OpenClaw 使用两层配置结构:
核心文件:
关键函数:
GPT plus 代充 只需 145
解析优先级:
- 显式 参数
- 从 解析(格式:)
- 配置中标记 的代理
- 列表中第一个代理
- 最终回退:
配置合并逻辑:
核心函数:
GPT plus 代充 只需 145
隔离效果:
- 代理 →
- 代理 →
- 代理 →
假设配置如下:
实际生效配置:
- : ✅ 使用代理覆盖
- : ✅ 继承 defaults
- : ✅ 使用代理覆盖
核心文件:
系统提示是 LLM 的完整指令集,由多个动态部分组成:
GPT plus 代充 只需 145
GPT plus 代充 只需 145
minimal 模式示例(子代理):
GPT plus 代充 只需 145
生成效果:
GPT plus 代充 只需 145
skillsPrompt 示例(由 Skills 系统生成):
GPT plus 代充 只需 145
生成效果:
GPT plus 代充 只需 145
生成示例:
GPT plus 代充 只需 145
问题:超长对话会导致 Token 溢出
上下文增长:
- 每轮对话 = 用户消息 + 助手消息 + 工具调用 + 工具结果
- 工具结果可能包含大量文件内容
- 200K Token 上下文约支持 50-100 轮对话
解决方案:Compaction(压缩旧消息)
核心文件:
GPT plus 代充 只需 145
Mode 1: Default(Pi Agent 默认压缩)
工作原理:
- 保留最近 的消息
- 将旧消息总结为简短摘要
- 摘要插入到消息历史开头
Mode 2: Safeguard(OpenClaw 增强模式)
GPT plus 代充 只需 145
工作原理:
- 计算历史预算:
- 如果当前消息超过预算,分块丢弃旧消息
- 对丢弃的消息生成总结
- 修复孤立的 tool_result(防止 API 错误)
算法步骤:
GPT plus 代充 只需 145
示例(parts=2):
当丢弃的消息很多时,分阶段总结可以避免单次总结过长:
GPT plus 代充 只需 145
算法步骤:
示例(parts=2):
GPT plus 代充 只需 145
问题:总结时可能丢失重要标识符(UUID、哈希、文件名等)
"strict" 模式指令:
GPT plus 代充 只需 145
效果:
GPT plus 代充 只需 145
Token 预算示例:
常见模型失败场景:
解决方案:自动切换到备用模型
GPT plus 代充 只需 145
核心文件:
算法流程:
GPT plus 代充 只需 145
核心文件:
错误分类逻辑:
GPT plus 代充 只需 145
OpenClaw 支持为每个 Provider 配置多个 Auth Profile(API Key),当一个 Key 失败时自动切换到下一个。
配置示例:
轮换逻辑:
GPT plus 代充 只需 145
冷却期管理:
GPT plus 代充 只需 145
场景:Anthropic API 达到速率限制
通知用户:
GPT plus 代充 只需 145
核心文件:
准备步骤:
GPT plus 代充 只需 145
核心文件:
Layer 1-2: Profile 策略
GPT plus 代充 只需 145
预定义 Profile:
Layer 3-4: Global 策略
GPT plus 代充 只需 145
Layer 5-6: Agent 策略
Layer 7: Group 策略
GPT plus 代充 只需 145
Layer 8: Sandbox 策略
Layer 9: Subagent 策略
GPT plus 代充 只需 145
配置:
过滤流程:
GPT plus 代充 只需 145
某些工具仅允许授权用户(Owner)使用:
Owner 判断:
GPT plus 代充 只需 145
当代理运行在沙箱环境(Docker 容器)中时,文件操作需要通过桥接:
文件路径映射:
GPT plus 代充 只需 145
GPT plus 代充 只需 145
每个代理拥有独立的:
示例:
代理可以通过 工具创建子代理:
GPT plus 代充 只需 145
子代理限制:
子代理工具限制(Layer 9):
GPT plus 代充 只需 145
代理可以定期主动运行检查任务:
Heartbeat 流程:
GPT plus 代充 只需 145
在 Compaction 之前,可以先裁剪工具结果:
裁剪示例:
GPT plus 代充 只需 145
在 Compaction 之前,自动将重要信息写入 Memory:
Memory Flush 流程:
GPT plus 代充 只需 145
Agents 系统是 OpenClaw 的中央协调器,通过以下 5 大子系统实现智能编排:
- 多代理配置管理 - 支持多租户、独立配置、工作目录隔离
- 系统提示构建 - 动态生成最优指令集(工具、技能、记忆、上下文)
- Compaction - 自适应上下文压缩、分阶段总结、标识符保留
- Model Fallback - 自动模型回退、错误分类、Auth Profile 轮换
- 工具准备 - 9 层策略过滤、沙箱包装、Owner 授权
GPT plus 代充 只需 145
- 灵活的多代理架构 - 一个实例支持多个独立代理
- 智能上下文管理 - 自适应压缩 + Memory Flush
- 高可用模型回退 - 主模型失败自动切换备用
- 精细的工具控制 - 9 层策略过滤确保安全
- 动态系统提示 - 根据上下文生成最优指令
OpenClaw 的 Agents 系统通过这些设计,实现了高度可扩展、高可用、多租户的 AI 代理平台。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/238002.html