2 days ago
- 作者描述了一种模式,即一个控制器决定编程任务何时完成,如果未完成则继续迭代,在传统代理循环之外创建一个循环。
- 存在两个循环:内部代理循环(模型调用工具、读取/编辑文件、运行测试)和外部控制器循环(协调任务、注入消息或启动新会话)。
- 作者对于自己非常关心的代码并未成功应用这种方法,因为他们希望控制并理解所发布的代码。
- 当前的LLM生成的代码过于防御性、复杂且局部推理,添加回退机制而非使错误状态不可能发生,而循环放大了这些问题。
- 循环模式适用于移植代码、性能实验、安全扫描和研究等任务,这些任务产生短期存在的工件或机械性转换。
- 作者将这种转变比作从将软件视为确定性机器转向将软件视为有机体,其中理解更加困难,且机器参与成为常态。
- 来自攻击者(为安全问题循环)和竞争团队(通过循环更快构建)的压力使得规避这一未来变得困难。
- 对机器的依赖带来了认知风险:需要机器参与维护的代码库,以及人类失去无需LLM理解代码的能力。
- 需要更好的工具来保留人类的理解,而不仅仅是更多的循环;问题在于如何在循环主导的未来中保持判断力、良好的工程实践和人类监督。
- 作者感到不安,但承认循环的必然性,强调需要设计代码和控制器以保持理智和责任。