编辑
2026-03-22
技术调研
00

目录

OpenClaw 深度调研:为什么复杂任务只执行十几轮就结束?
🔍 一、现象观察
1.1 典型执行流程
1.2 问题核心
📊 二、OpenClaw Agent 执行机制
2.1 Agent 执行流程
2.2 关键限制因素
2.2.1 Token 限制
2.2.2 超时设置
2.2.3 成本考虑
🛠️ 三、解决方案
3.1 方案一:多轮执行(推荐)
3.2 方案二:使用 Cron 定时任务
3.3 方案三:调整 Agent 配置
📈 四、最佳实践
4.1 任务分解
4.2 使用 Thinking 级别
4.3 进度追踪
🎯 五、总结
5.1 核心原因
5.2 建议
5.3 未来展望
📚 参考资料

title: OpenClaw 深度调研:为什么复杂任务只执行十几轮就结束? date: 2026-03-22 tags: [OpenClaw, AI Agent, 自动化] category: 技术调研

OpenClaw 深度调研:为什么复杂任务只执行十几轮就结束?

💡 问题背景:在使用 OpenClaw 执行复杂任务时,发现即使是很复杂的任务,Agent 通常也只执行十几轮 tool calls 就结束了,并且会输出类似"完成了 15% 的任务,接下来要干 XX"这样的总结。这是设计如此还是限制?本文深入调研 OpenClaw 的 Agent 执行机制。


🔍 一、现象观察

1.1 典型执行流程

bash
# 执行一个复杂任务 openclaw agent --agent main --message "调研 AI Agent 最新发展动态,生成详细报告"

执行结果

  • Tool Calls: 10-15 次
  • 执行时间:2-5 分钟
  • 输出:完成了 15% 的任务,接下来需要继续调研 XX 方向...

1.2 问题核心

  1. 为什么只执行十几轮就结束?
  2. 为什么会有完成度百分比?
  3. 如何让它继续执行直到完成任务?

📊 二、OpenClaw Agent 执行机制

2.1 Agent 执行流程

用户请求 → Gateway → Agent → 规划 → 执行 Tool → 观察结果 → 再规划 → ... ↑ ↓ └────────── 循环 ──────────────┘

2.2 关键限制因素

2.2.1 Token 限制

OpenClaw 使用 LLM 进行规划,每次调用都有 token 限制:

模型上下文窗口实际可用
qwen3.5-plus1M tokens~800K
glm-5256K tokens~200K

影响

  • 每次 tool call 都会消耗 token
  • 历史对话会累积占用上下文
  • 达到限制后必须总结并结束当前回合

2.2.2 超时设置

bash
# 默认超时 600 秒(10 分钟) openclaw agent --timeout 1800 --message "复杂任务"

影响

  • 复杂任务可能超时
  • 每个 tool call 也有独立超时
  • 超时后 Agent 会总结当前进度并退出

2.2.3 成本考虑

每次 tool call 都产生成本:

  • LLM 调用费用
  • 外部 API 调用费用
  • 计算资源消耗

OpenClaw 设计哲学

"I don't just autocomplete—I auto-commit (emotionally), then ask you to review (logically)."

即:Agent 不应该无限执行,应该在适当时候停下来让人类确认


🛠️ 三、解决方案

3.1 方案一:多轮执行(推荐)

bash
# 第一轮:初步调研 openclaw agent --message "调研 AI Agent 发展动态,先完成大纲和主要方向" # 第二轮:深入某个方向 openclaw agent --message "继续深入调研 XX 方向,补充详细信息" # 第三轮:生成报告 openclaw agent --message "根据前面的调研,生成完整报告"

优点

  • 每轮都有明确目标
  • 可以人工介入调整方向
  • 避免 token 超限

3.2 方案二:使用 Cron 定时任务

bash
# 创建定时任务,每 30 分钟执行一次 openclaw cron add \ --name "ai-research" \ --every "30m" \ --message "继续 AI Agent 调研任务,每次深入一个方向"

优点

  • 自动化执行
  • 可以跨多天完成大任务
  • 每次执行都有进度记录

3.3 方案三:调整 Agent 配置

编辑 ~/.openclaw/openclaw.json

json
{ "agents": { "list": [ { "id": "main", "model": "dashscope/qwen3.5-plus", "maxConcurrent": 8, "compaction": { "mode": "aggressive" // 更激进的上下文压缩 } } ] } }

影响

  • 增加并发数可以加快执行
  • 激进的 compaction 可以延长执行轮数
  • 但可能丢失重要上下文

📈 四、最佳实践

4.1 任务分解

错误做法

"帮我完成一个完整的 AI 行业调研报告"

正确做法

1. "列出 AI 行业调研的大纲和主要方向" 2. "调研方向 1:大模型最新进展" 3. "调研方向 2:Agent 框架对比" 4. "生成完整报告"

4.2 使用 Thinking 级别

bash
# 简单任务:关闭思考 openclaw agent --thinking off --message "查询天气" # 中等任务:低思考 openclaw agent --thinking low --message "分析日志" # 复杂任务:高思考 openclaw agent --thinking high --message "生成架构设计"

4.3 进度追踪

bash
# 查看会话历史 openclaw sessions list --active 60 # 查看特定会话 openclaw sessions history --session-id xxx

🎯 五、总结

5.1 核心原因

原因说明可调整
Token 限制LLM 上下文窗口有限⚠️ 部分可调
超时设置默认 10 分钟超时✅ 可调
设计理念人机协作,非完全自主⚠️ 不建议改
成本考虑每次调用都有成本⚠️ 客观限制

5.2 建议

  1. 接受设计哲学:OpenClaw 设计为"人机协作",不是完全自主 Agent
  2. 任务分解:将大任务拆分为多个小任务
  3. 使用 Cron:利用定时任务实现长期执行
  4. 人工介入:在关键节点人工确认方向

5.3 未来展望

OpenClaw 的这种方式实际上是更负责任的设计

  • ✅ 避免 Agent 失控执行
  • ✅ 节省成本和资源
  • ✅ 保持人类对关键决策的控制

📚 参考资料


本文基于 OpenClaw v2026.3.13 调研

本文作者:lazyyoun

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!