2025-03-03

除了非常战术性的情况外,当前的模型不知道在遇到麻烦时如何停止挖掘。假设你想实现功能 X。你开始着手处理它,但在中途你意识到这样做很烦人且困难,因为你应该先做 Y。人类可以知道中止并先去实现 Y;而 LLM 会继续深入任务,尽职尽责地尝试完成最初分配给它的任务。在某种意义上,这是可取的,因为当 LLM 按照要求执行时,你拥有更多的控制权,而不是它认为你真正想要的东西。

通常,最好从一开始就避免陷入这种情况。例如,流行的做法是一个推理模型提出规划,提供给编码模型。规划阶段可以避免要求编码模型在没有进一步准备的情况下做一些不明智的事情。其次,像 Sonnet 这样的代理 LLM 会主动将文件加载到其上下文中,读取它们,并根据它所看到的内容进行规划。因此,LLM 可能会在你不得不告诉它之前弄清楚它需要做什么。

理想情况下,模型应该能够意识到“糟糕的事情”已经发生,并要求用户提出请求。因为这需要宝贵的上下文,所以最好通过单独的监控 LLM 来进行这种检测。

示例