OpenClaw学习总结_I.核心架构_2.AgentLoop详解
I. 核心架构 - 2. Agent Loop 课程位置阶段I. 核心架构课序第 2 课前置知识I-1. Gateway 架构后续课程I-3. Context 管理 本课核心问题如果你问我“OpenClaw 的 Agent 是怎么工作的一条消息进来后它是怎么处理的”我会这样回答Agent 有一个完整的工作循环叫Agent Loop像工厂的流水线一条消息进来后会经过 6 个阶段的处理。 你需要理解的六个阶段阶段 1Message消息接收发生了什么Gateway 收到一条消息转发给 AgentAgent 开始处理类比工厂门口收到了一个订单订单被放到传送带上关键点消息来源可以是 WhatsApp、Telegram、Discord 等消息格式被 Gateway 标准化后发送消息内容文本、图片、文件等都行阶段 2Context Assembly上下文组装发生了什么Agent 把需要知道的信息组装起来包括系统提示词、对话历史、可用工具类比工厂里工人开始准备查看订单要求系统提示词翻看之前的加工记录对话历史看看手边有哪些工具可用工具关键点这个阶段决定 Agent “知道什么”上下文太长会有成本问题可以通过 Compaction 优化后面会讲阶段 3Model Inference模型推理发生了什么把组装好的上下文发给 AI 模型模型思考并决定回复什么用什么工具类比工人根据订单要求、历史记录、工具清单思考“我应该怎么做”决定“我需要查一下库存然后用原材料加工”关键点这个阶段调用外部 AI 服务如 Claude模型可以调用工具Tool Calling可以设置多个模型作为备份Model Failover阶段 4Tool Execution工具执行发生了什么如果模型决定需要调用工具就执行工具可以是发消息、读文件、执行命令、浏览器操作等类比工人去仓库查库存或者操作机器加工产品或者叫其他工人帮忙关键点工具执行后结果返回给模型模型根据结果继续推理可以多次执行工具循环阶段 5Streaming流式输出发生了什么把回复内容实时显示给用户不是等全部生成完再显示而是一个字一个字地显示类比工厂流水线上的产品完成后不是一次性交付而是在生产过程中就展示给客户看关键点用户体验更好更快看到回复可以显示正在输入状态有两种模式Block等全部和 Preview实时阶段 6Persistence持久化发生了什么把对话内容保存到磁盘这样下次对话时Agent 知道之前聊过什么类比工厂把这次的加工记录存档下次有类似订单可以参考之前的做法关键点保存位置~/.openclaw/agents//sessions/格式JSONL每行一个 JSONSession 会被定期压缩Compaction来节省空间 完整的 Agent Loop 流程图Message消息进来 ↓ Context Assembly组装上下文 ↓ Model InferenceAI 思考 ↓ ├─ 需要工具 → Tool Execution执行工具 │ ↓ │ 回到 Model Inference继续思考 │ ↓ └─ 不需要工具 ↓ Streaming流式输出给用户 ↓ Persistence保存到磁盘 ↓ 结束等待下一条消息 这个设计的关键点1. 可扩展性每个阶段都可以干预和定制就像工厂流水线的每个环节都可以调整通过Hooks可以在关键点插入自定义逻辑2. 上下文成本上下文不是免费的token 需要花钱所以需要** Compaction** 来压缩后面会讲3. 工具调用Agent 不是只说话还能做事可以执行命令、读写文件、控制浏览器通过 Tool Calling 实现4. 会话管理每次对话都会被保存下次继续时可以记得但如果太长会压缩Compaction 实战看看 Agent Loop 在做什么查看当前会话# 查看 Agent 的会话列表openclaw sessions list# 查看某个会话的详情openclaw sessions showsessionId# 查看对话历史cat~/.openclaw/agents/main/sessions/*.jsonl查看日志# 实时查看 Agent 处理的日志openclaw logs--follow|grepagent# 会显示每个阶段的详细信息调试工具调用# 如果你想看 Agent 调用了什么工具# 查看日志中的 tool_call 相关内容openclaw logs|grep-itool⚠️ 常见陷阱陷阱表现原因解决上下文太长“Token limit exceeded”对话历史太长使用 Compaction工具执行失败“Tool execution failed”工具参数错误或权限问题检查工具配置模型超时“Request timeout”模型响应太慢设置更长的超时时间死循环Agent 不停调用同一个工具工具逻辑问题检查工具设计 学习心得我学这一课时的体会我之前以为 Agent 就是收到消息 → 回复消息的简单过程。学完后才发现中间有这么多复杂的阶段尤其是Tool Execution 循环- 模型可以多次调用工具这让我想到如果工具设计不好可能会陷入死循环Context 成本- 之前没意识到每次对话都在累积成本Compaction 是必须的Hooks 的强大- 原来可以在每个阶段插入自定义逻辑这为自动化提供了无限可能与其他课程的关联前置课程Gateway 架构 - 消息从 Gateway 来到 Agent后续课程Context 管理 - 详细讲阶段 2配合课程Session 管理 - 阶段 6 的持久化配合课程Compaction - 优化阶段 2 和 6✅ 你现在应该理解的说出 Agent Loop 的 6 个阶段解释每个阶段在做什么画出完整的流程图知道 Context 成本是什么理解工具调用和循环 快速参考表阶段名称做什么1Message接收消息2Context Assembly组装上下文系统提示词历史工具3Model InferenceAI 模型思考4Tool Execution执行工具如需要5Streaming流式输出回复6Persistence保存对话到磁盘 相关资源官方文档Agent Loophttps://docs.openclaw.ai/concepts/agent-loopHookshttps://docs.openclaw.ai/automation/hooksSessionhttps://docs.openclaw.ai/concepts/session相关课程上一课I-1. Gateway 架构下一课I-3. Context 管理 本课总结最关键的 3 点6 阶段流水线Message → Context → Model → Tool → Stream → Persist每个阶段都可以定制和干预工具调用的循环模型可以多次调用工具需要注意不要陷入死循环为后续课程打基础Context 管理阶段 2Session 管理阶段 6Compaction优化 2 和 6现在你应该理解了 Agent 是怎么思考的。下一课会讲它思考时需要什么Context 管理。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2432130.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!