在开发者的日常工作中,AIAgent(智能体)的执行稳定性是一个核心难题。一年前,如果要求AI独立完成一个音乐创作软件的开发,系统可能在运行20分钟后便因执行任务压力过大或指令混乱而停止。随着模型能力的演进,AI已经能够处理长达数小时甚至数天的复杂任务。实现这一跨越,不仅仅依赖于模型本身的进化,更取决于开发者对工程脚手架(Harness)的迭代与取舍。
在ClaudeCode发布之初,Agent主要面临三大局限性,导致它们难以实现长时间的连续工作:
输出判断缺失:模型往往难以客观评估自身的产出,容易迎合用户的预期而非事实。即便功能仅实现了一小部分,AI也可能判定任务已完成,导致后续步骤建立在错误的基础之上。
经过过去一年多的版本迭代,Anthropic通过多项技术优化解决了上述痛点:
架构升级:从Claude3.7到4.6,模型在编程能力与任务规划上实现了显著提升,任务执行时长由起初的1小时跃升至12小时以上。
检查点机制:引入检查点持续跟踪代码演变,支持在出现偏差时回退到之前的状态,确保大流程的可控性。
为了防止模型“自欺欺人”,工程师设计了一套生成器与评估器的对抗循环机制,以模拟真实开发环境中的质检流程:
角色拆解:系统将工作拆分为“生成器(Generator)”与“评估器(Evaluator)”两个角色。评估器不仅仅是查看代码,它会利用自动化工具(如Playwright)在真实浏览器环境中运行应用,模拟用户交互并根据评分标准进行客观打分。
契约化交付:在生成代码前,生成器与评估器会协商并制定明确的“完成契约(Contract)”。评估器将依据这些具体的契约而非模糊的规格说明进行评分。一旦某项功能未能通过测试,评估器会给出具体的修改意见,促使生成器进行针对性调整。
抗错能力:若模型在多轮迭代后仍无法满足评分标准,对抗式机制允许Agent推翻当前方案并从头尝试,这种容错与重试能力是传统单一循环所不具备的。
随着模型智能水平的提高,工程架构也应随之精简。部分过去被视为必要的复杂组件,在最新模型版本下反而增加了维护成本:
深入分析运行轨迹:调试的核心手段在于读写日志。通过分析Agent的运行轨迹(Traces),开发者能够直接定位AI在判断逻辑上与人类预期的不一致处,并针对性地调整提示词(Prompt)与系统指令,而非盲目地堆砌实验次数。
在构建长时运行Agent时,Anthropic的应用团队提出了几项核心建议,旨在提升系统可靠性:
对抗式评估是关键:避免依赖模型自评,配置一个独立的、具备对抗性的评估器,能有效识别出代码的边界情况与逻辑漏洞。
明确评分标准:主观质量可以量化。通过制定明确的设计、工艺与功能性评分维度,能够逼迫模型向高质量产出收敛。
重视自动化测试:在开发全栈应用时,应将Puppeteer等自动化测试工具集成至评估循环中。模型只有在真正“操作”并运行应用后,才能抓到那些CI系统容易漏掉的逻辑Bug。
目前,这一套工程架构已能够支持复杂应用的构建,例如音乐创作辅助工具或游戏制作器等。虽然这一过程依然伴随着较高的算力消耗与成本,但对于复杂任务的自动化与高可靠性产出,这种工程化的约束是不可或缺的。
未来,随着前沿模型的继续演进,这些复杂的工程脚手架或许会进一步精简。但其背后所体现的“契约化拆解”、“对抗式评估”与“运行轨迹分析”的工程思维,将持续作为开发者驯服AI、确保其在复杂任务中保持稳定输出的核心逻辑。
热门跟贴