文章摘要
近几个月,越来越多人在编码代理基础上构建了更复杂的循环系统:任务被放入队列,由机器执行、暂停,再由外部程序判断是否完成,未完成则继续注入新指令或启动新会话。这种“代理外循环”让任务持续运行,超越了模型自身认为“完成”的节点。
文章总结
好的,这是根据您的要求,对原文主要内容进行的中文重述,保留了核心细节,并删减了与主题无关的冗余内容。
标题:即将到来的循环
核心观点: 在AI编程领域,一种新的工作模式正在兴起:人们不再直接与AI模型交互,而是构建一个“循环”(Loop)系统,由系统自动调度AI模型完成任务。这种“循环”模式虽然强大,但也带来了代码质量下降、人类理解力丧失、以及新的依赖性等严峻挑战。
主要内容:
什么是“循环”?
- 传统的AI编程是“人类-模型”的直接交互。而“循环”模式是:人类编写一个“循环”程序,该程序将任务放入队列,由机器(AI模型)自动领取、尝试、并判断是否完成。如果未完成,循环会继续,例如在同一会话中注入新指令、启动新会话、或将任务转给其他机器。任务的生命周期超越了模型自身说“我完成了”的节点。
- 这种“循环”分为两层:一是AI模型内部的“代理循环”(调用工具、读取文件、运行测试等),二是外部的“控制循环”,它决定了整个工作流的走向。
作者对“循环”的担忧:代码质量与人类理解
- 代码质量下降: 作者认为,由“循环”生成的代码质量堪忧。模型倾向于生成过于防御性、复杂、且局部化的代码。它们会避免强约束,添加不必要的后备方案,复制代码,创造糟糕的抽象,并用更多机制来掩盖不清晰的设计。更糟糕的是,作者认为这种趋势并未改善,甚至可能倒退。
- 人类理解力丧失: 作者强调理解自己代码的重要性。他担心,当代码由“循环”自动生成,而人类不再全程参与时,我们将失去对系统整体逻辑的掌控。当出现问题时,我们可能不得不先向AI模型询问才能解释系统行为。
“循环”的适用场景
- 尽管存在担忧,作者承认“循环”在某些领域已经表现出色。
- 代码移植: 将代码从一种语言移植到另一种语言(如从Zig到Rust)。
- 性能探索: 让机器自动进行实验、基准测试、并丢弃失败方案。
- 安全扫描: 自动进行安全漏洞检测。
- 研究探索: 探索复杂的问题空间并报告发现。
- 共同点: 这些场景要么是转换已有代码,要么是生成不需要长期维护的代码(如概念验证、想法探索)。它们的结果可以通过二进制测试或另一个AI模型来验证。
软件从“机器”到“有机体”的转变
- 作者认为,使用“循环”编写长期代码,意味着软件从“确定性机器”向“有机体”转变。过去,工程师追求对系统的完全理解,知道不变量在哪里,哪些部分是关键的。而现在,我们越来越像医生诊断病人一样,通过观察症状、提出假设、进行测试来管理软件,而不再追求完全理解。
- 这种模式虽然强大,但意味着我们可能不再以同样的方式理解整个系统。我们治疗它、监控它、稳定它,但不一定理解它。
无法“置身事外”
- 作者指出,完全退出这种机器驱动的未来可能不现实。
- 安全压力: 攻击者和安全研究人员会使用“循环”来攻击你的软件。为了应对海量的、由AI生成的报告,维护者也不得不使用机器来筛选和复现问题。
- 竞争压力: 使用“循环”的团队能以更快的速度构建产品,形成竞争优势。一些初创公司可以用5个人完成过去50人的工作。
新的依赖性
- 作者最担心的是,我们将对AI模型产生新的、深层次的依赖。这不仅是金钱上的(API费用),更是认知上的。
- 如果代码库由“循环”生成、审查、修补和维护,那么当无法访问这些强大的模型时(例如,贸易限制、成本过高),会发生什么?人类可能已经失去了不借助机器理解代码的能力。
- 这种现象已经发生:人们合并自己无法完全解释的代码,依赖AI来总结和重新表述信息,甚至通过AI作为中介与人交流。
未来的方向与思考
- 作者认为,未来必然走向“循环”,但我们需要改进工具,而不仅仅是编排更多的循环。我们需要找到方法,让人类能重新参与到循环中,并使循环的变更长期可读。
- 作者对像Pi这样的平台持谨慎态度,认为这种谨慎是好的。他不希望未来变成一场无法控制的机器混战。
- 核心问题: 在“循环”的未来,我们如何不放弃判断?如何保留良好工程的规则?如何确保负责任的人类能够继续监督?如何重新思考代码架构以保持系统的可理解性?
总结: 文章探讨了AI编程中“循环”模式的兴起,它带来了巨大的效率和能力,但也引发了关于代码质量、人类理解力、安全压力和认知依赖性的深刻担忧。作者认为,我们无法回避这个未来,但必须主动思考如何驾驭它,而不是被它吞噬。
评论总结
根据评论内容,总结如下:
主要观点与论据:
对“循环”编码模式的质疑与担忧
- 评论者认为,循环依赖大量token消耗,且当前模型在复杂任务中表现不佳,可能导致代码质量下降(如过度防御性检查、上下文膨胀)。
- 关键引用:
- “Looping seems to (currently) be a side effect of token subsidies.” (评论19)
- “the LOC just spirals out of control... likely because of layers of defensive fixes.” (评论26)
对代码理解与人类判断的坚持
- 多位评论者强调,理解代码和保持清晰规范是高质量开发的前提,AI无法替代人类的“肉脑思考”阶段。
- 关键引用:
- “You cannot fake understanding or clarity. It is painfully obviously when someone skipped that meat brain understanding phase.” (评论7)
- “Either you consider understanding the code you ship... a value, or you don’t.” (评论15)
成本与可持续性考量
- 部分评论指出,当前低token成本可能不可持续,一旦API涨价,循环模式将失去经济性。
- 关键引用:
- “if the cost climbs 5x-10x it may be just more worth it to get more developers.” (评论9)
- “If token costs are high, then you will go broke verifying code sprawl.” (评论19)
对行业趋势的怀疑与疲劳
- 有评论者认为AI编码热潮类似加密货币泡沫,引发FOMO但实际价值有限,多数开发者仍在使用简单聊天界面。
- 关键引用:
- “None of this shit represents industry trends, majority of people still use chat interfaces and copy blocks of code.” (评论25)
- “These new AI trends are very tiresome, very similar to 2021 crypto mania.” (评论28)
对代码质量下降的批评
- 评论者指出AI生成的代码常包含无意义的防御性检查(如
hasattr),且团队中“代理狂热者”与“质量守护者”之间出现对立。 - 关键引用:
- “the right fix is not 'handle every malformed case.' ... [LLMs] will still attempt to handle now impossible errors.” (评论23)
- “We have two camps of people at work... the first camp are the agent goes brrr... the second camp is people who are inundated with PRs.” (评论18)
- 评论者指出AI生成的代码常包含无意义的防御性检查(如
平衡性总结:
- 支持方:认为循环模式在探索性代码、自动化重复任务中有价值,且能提升效率(如评论14、16)。
- 反对方:强调成本、质量、人类判断不可替代性,并质疑其长期可持续性(如评论7、9、18、19、25)。
- 中立/混合观点:部分评论者认为循环模式在特定场景(如明确规范、重复性任务)有效,但需谨慎使用(如评论13、27)。
总体趋势: 评论呈现明显分歧,多数人担忧循环模式导致代码质量下降、成本失控,并呼吁保持对代码的理解与人类判断。少数人认可其效率提升,但强调需结合清晰规范与成本控制。