💡 问题背景:在使用 OpenClaw 执行复杂任务时,发现即使是很复杂的任务,Agent 通常也只执行十几轮 tool calls 就结束了,并且会输出类似"完成了 15% 的任务,接下来要干 XX"这样的总结。这是设计如此还是限制?本文深入调研 OpenClaw 的 Agent 执行机制。
bash# 执行一个复杂任务
openclaw agent --agent main --message "调研 AI Agent 最新发展动态,生成详细报告"
执行结果:
完成了 15% 的任务,接下来需要继续调研 XX 方向...用户请求 → Gateway → Agent → 规划 → 执行 Tool → 观察结果 → 再规划 → ... ↑ ↓ └────────── 循环 ──────────────┘
OpenClaw 使用 LLM 进行规划,每次调用都有 token 限制:
| 模型 | 上下文窗口 | 实际可用 |
|---|---|---|
| qwen3.5-plus | 1M tokens | ~800K |
| glm-5 | 256K tokens | ~200K |
影响:
bash# 默认超时 600 秒(10 分钟)
openclaw agent --timeout 1800 --message "复杂任务"
影响:
每次 tool call 都产生成本:
OpenClaw 设计哲学:
"I don't just autocomplete—I auto-commit (emotionally), then ask you to review (logically)."
即:Agent 不应该无限执行,应该在适当时候停下来让人类确认
bash# 第一轮:初步调研
openclaw agent --message "调研 AI Agent 发展动态,先完成大纲和主要方向"
# 第二轮:深入某个方向
openclaw agent --message "继续深入调研 XX 方向,补充详细信息"
# 第三轮:生成报告
openclaw agent --message "根据前面的调研,生成完整报告"
优点:
bash# 创建定时任务,每 30 分钟执行一次
openclaw cron add \
--name "ai-research" \
--every "30m" \
--message "继续 AI Agent 调研任务,每次深入一个方向"
优点:
编辑 ~/.openclaw/openclaw.json:
json{
"agents": {
"list": [
{
"id": "main",
"model": "dashscope/qwen3.5-plus",
"maxConcurrent": 8,
"compaction": {
"mode": "aggressive" // 更激进的上下文压缩
}
}
]
}
}
影响:
❌ 错误做法:
"帮我完成一个完整的 AI 行业调研报告"
✅ 正确做法:
1. "列出 AI 行业调研的大纲和主要方向" 2. "调研方向 1:大模型最新进展" 3. "调研方向 2:Agent 框架对比" 4. "生成完整报告"
bash# 简单任务:关闭思考
openclaw agent --thinking off --message "查询天气"
# 中等任务:低思考
openclaw agent --thinking low --message "分析日志"
# 复杂任务:高思考
openclaw agent --thinking high --message "生成架构设计"
bash# 查看会话历史
openclaw sessions list --active 60
# 查看特定会话
openclaw sessions history --session-id xxx
| 原因 | 说明 | 可调整 |
|---|---|---|
| Token 限制 | LLM 上下文窗口有限 | ⚠️ 部分可调 |
| 超时设置 | 默认 10 分钟超时 | ✅ 可调 |
| 设计理念 | 人机协作,非完全自主 | ⚠️ 不建议改 |
| 成本考虑 | 每次调用都有成本 | ⚠️ 客观限制 |
OpenClaw 的这种方式实际上是更负责任的设计:
本文基于 OpenClaw v2026.3.13 调研
本文作者:lazyyoun
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!