Harness 核心 · 模型周围的 Harness

ReAct 循环:思考→行动→观察

一个删除 console.log 的任务经历 14 轮循环,含自我纠错

本页解决的问题

先给结论

「ReAct 循环:思考→行动→观察」要解决的关键问题是什么?

一个删除 console.log 的任务经历 14 轮循环,含自我纠错

判断标准

让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。

下一步

写下一个问题:试完这个方法后,你能用什么证据回答它?

常见误区

结论听起来很完整,却没有检查最关键的假设。

用户指令
帮我把项目中所有的 console.log 删掉,然后跑一下测试确保没问题
🧠
Thought 思考
🔧
Action 行动
👁
Observation 观察
↩ 回到思考(继续循环)
当前轮次 0 / 50
工具调用 0
消耗 Token 0
ReAct 执行过程
思考
行动
观察
共 8 步 · 看一个复杂任务如何经历多轮循环
Takeaway
Takeaway Agent 的工作方式是一个「思考 → 行动 → 观察 → 再思考」的循环。一个复杂任务可能循环十几轮。这就是 Agent 和普通聊天机器人的本质区别:它会根据执行结果调整策略。

「用户指令」如何改变一次回答

「一个删除 console.log 的任务经历 14 轮循环,含自我纠错」说明,模型处理的不是我们眼中的“字数”,而是一段段 Token。Token 的切分方式会影响输入长度、上下文能放下多少内容,以及一次请求要花多少计算。

长度、信息量和上下文不是一回事

当「一个删除 console.log 的任务经历 14 轮循环,含自我纠错」变长时,先要分清三件事:文字被切成多少 Token、哪些内容真正参与当前判断、以及旧内容是否已经超出上下文窗口。删掉重复说明通常比单纯把窗口开得更大更有效。

先保留会改变判断的内容

可以用「一个删除 console.log 的任务经历 14 轮循环,含自我纠错」做一次对照:保留同样的问题,分别删掉重复背景、压缩格式和移除无关历史,比较答案质量、延迟与 Token 数量。

从这个例子继续往下看

页面先提出「帮我把项目中所有的 console.log 删掉,然后跑一下测试确保没问题 🧠 Thought 思考 ↓ 🔧 Action 行动 ↓ 👁 Observation 观察 ↩ 回到思考(继续循环) 当前轮次 0 / 50 工具调用 0 消耗 Token 0 ReAct 执行过程 思考 行动 观察 ↺ 重播 共 8 步 · 看一个复杂任务如何经历多轮循环 Takeaway Takeaway Agent 的工作方式是一…」。接下来不要只记住这句话,可以把它变成一个小练习:写下输入、预期结果,以及什么现象会让你重新检查这个判断。

把这条判断带到下一个场景

处理长文本时,先保留会改变结论的内容,再决定如何压缩格式和历史;上下文更长只有在新增信息真正有用时才值得付出代价。

  • 「用户指令」:帮我把项目中所有的 console.log 删掉,然后跑一下测试确保没问题 🧠 Thought 思考 ↓ 🔧 Action 行动 ↓ 👁 Observation 观察 ↩ 回到思考(继续循环) 当前轮次 0 / 50 工具调用 0 消耗 Token 0 ReAct 执行过程 思考 行动 观察 ↺ 重播 共 8 步 · 看一个复杂任务如何经历多轮循环 Takeaway Takeaway Agent 的工作方式是一…

最后做一次小而可逆的练习:把页面里的判断放进一个真实输入,写下预期结果和会让你停下来复核的信号。

标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 ReAct 循环:思考→行动→观察 模型周围的 Harness
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助