当Agent活过一夜:AI从短期任务到长期运行的可靠性鸿沟
当AI agent需要从几分钟的对话延长到数小时甚至数天的持续运行,一个隐秘但致命的鸿沟浮现:模型在“已知路径”上的流畅与在“野地”中的挣扎,揭示出当前大模型能力的根本脆弱性。
核心观点:长期运行AI agent的可靠性问题不只是工程挑战,而是对当前大模型范式的根本性质疑,其解决需要从数据分布到运行时架构的系统性变革。
在AI agent的讨论中,一个看似微小的问题正在分裂整个社区:你的agent能活过一夜吗?当我们在社交媒体上看到开发者们兴奋地展示agent如何自动写邮件、管理日程、搜索资料时,很少有人追问一个更残酷的问题——如果这个agent在执行任务中途崩溃,它能否在重启后精准地找到上一次停下的位置,而不是像个失忆症患者一样从头开始?如果它需要运行数小时甚至数天,状态一致性、持久化、错误恢复这些“无聊”的工程问题,就会突然从配角变成主角,甚至决定整个agent产品的生死。
这个问题的本质,远比表面看起来深刻。它触及了当前大语言模型范式的核心脆弱性:模型的能力分布是“锯齿状”的。正如某位业内资深人士在近期一场内部交流中坦诚的那样,同一个模型可以同时做到两件看似矛盾的事——它能连贯地重构一个十万行代码库,却也会告诉你“走路去洗车店洗车”。这种能力的不均匀性,源于模型在训练过程中接触到的数据分布。当任务落在训练数据的高密度区域,即所谓的“轨道”上,模型表现得如同神助;一旦脱离这个区域,进入“丛林”,它就像手持砍刀的迷路者,每一步都充满不确定性。
这种“锯齿状”能力对长期运行agent构成了致命威胁。短期、封闭的任务,比如单轮问答或代码补全,几乎完全落在数据分布的“轨道”上——因为互联网上充斥着这样的例子。但长期运行意味着agent必须面对一系列连续的、不可预测的中间状态。每一次状态转换,都可能将模型推向“轨道”之外。更糟糕的是,错误会累积。一次在“丛林”中的微小偏差,可能导致后续一连串行动建立在错误的前提上,最终酿成灾难性的结果。这就像一个迷宫探索者,每一次转弯都有一定的概率走错,而一旦走错,后续的所有决策都基于错误的位置判断,最终离出口越来越远。
有人可能会认为,只要增加模型的参数量、扩大训练数据,就能平滑掉这些“锯齿”。但现实远没有这么乐观。问题的根源不仅仅在于模型容量,更在于训练信号的经济学。对于高度结构化、可验证的任务——比如代码生成,因为存在编译器和测试用例这些自动验证工具——实验室有强烈的动机去收集大量高质量数据,并投入强化学习来优化模型在这些任务上的表现。但对于那些开放式的、非结构化的长期任务,比如“持续监控一个网站的变化并根据变化执行一系列操作”,如何定义“正确”?如何自动生成验证信号?这些问题的答案远不清晰。因此,模型在这些“长尾”任务上的能力,很可能长期保持“锯齿状”。
反对意见认为,我们可以通过精心设计的工程框架来规避模型的这些弱点。例如,将长期任务分解为一系列短期的、可验证的子任务,每个子任务单独调用模型,并辅以严格的状态持久化和回滚机制。这种“短程agent+编排框架”的思路,在某种程度上确实有效。它借鉴了传统软件工程中的容错设计思想——把不确定性隔离在短周期内,通过重试、超时、检查点等机制来管理失败。但这种做法的代价是巨大的:它实际上承认了模型无法真正“理解”长期上下文,而只是作为一个短视的模式匹配器在工作。这等于放弃了agent最诱人的承诺——自主规划、持续学习、适应变化。
进一步观察,长期agent的问题其实暴露了一个更深层次的矛盾:我们正在用为“一次性回答”训练出来的模型,去执行“持续性任务”。大语言模型的训练范式——无论是预训练、微调还是强化学习——本质上都是面向离散的、短期的交互。模型学习的是给定输入,输出一个合理响应。它没有“记忆”,没有“目标”,没有“自我修正”的概念。即使通过提示工程给它注入一个“系统提示”,让它扮演一个agent角色,这层伪装在长期运行中也必然会被磨穿。就像一个演员被要求连续表演一出十二小时的独角戏,没有任何剧本提示,只能依靠自己的即兴发挥——他迟早会忘记角色,回到自己的本来面目。
这种根本性的不匹配,意味着我们可能需要重新思考AI agent的架构。一个可能的路径是“神经+经典”混合架构:让大模型负责高层次的规划、推理和自然语言交互,同时将状态管理、错误恢复、任务分解等“枯燥”但关键的职责交给传统软件组件。这种思路已经在一些前沿实践中初现端倪,比如使用向量数据库做长期记忆,使用有限状态机管理任务流程,使用检查点系统记录中间状态。但这条路径的挑战在于,如何定义模型与经典组件之间的接口?这个接口必须足够丰富,让模型能够表达其高级意图,又必须足够严格,防止模型产生不可预测的行为。
另一个更激进的路径是彻底放弃“用prompt模拟agent”的做法,转而开发真正具有持久性和自我意识的新型架构。这听起来像是科幻,但一些研究者已经开始探索“世界模型”+“内部监控器”的方案:让模型在内部维持一个对自己行为和环境的持续表征,并能够基于这个表征进行推理和规划。这个内部监控器不是通过提示注入的,而是模型架构的一部分,它使模型能够意识到“我在做什么”、“我做到了什么”、“我还需要做什么”。如果这条路能走通,那么长期agent的可靠性问题将不再是工程补丁,而是模型能力的内生属性。
回到现实,当前社区对长期agent的态度呈现出明显的分裂。一部分人选择回避,将agent任务严格限制在几分钟内完成的短期操作上,比如单轮信息提取、代码生成、翻译。这些任务虽然价值有限,但可靠性高,风险可控。另一部分人则选择激进地推进,即使面对频繁的失败,也坚信随着模型能力的提升和工程实践的积累,长期agent终将成为现实。还有一批务实主义者,他们专注于构建能够优雅处理失败的系统,接受模型的不完美,通过冗余、监控和人工介入来弥补模型的短板。
这场关于agent可靠性的争论,本质上是在回答一个更根本的问题:我们到底希望AI成为什么?是一个偶尔犯错但能力惊人的工具,还是一个值得信赖、可以委以重任的伙伴?如果是前者,那么接受agent偶尔的“抽风”,并设计好应对机制,或许是合理的。但如果是后者,那么我们就必须面对一个不愉快的真相:当前基于大语言模型的agent范式,在根本上还不具备成为可靠伙伴的条件。这不仅是工程问题,更是科学研究问题。它迫使我们重新审视“智能”的定义——在真实世界的复杂环境中,持续、一致、可靠地执行长期目标,这本身可能就是人类智能最被低估的特质。而AI要真正达到这一点,可能需要的不是更大规模的训练,而是全新的架构和范式。
参考来源
- The House That Hungers: Part 1 - https://www.reddit.com/r/TalesFromTheCreeps/comments/1t4jxhm/the_house_that_hungers_part_1/
- Are people actually running long-lived agents yet? If so, how are you handling restarts and state consistency? - https://www.reddit.com/r/LocalLLaMA/comments/1t5gx4d/are_people_actually_running_longlived_agents_yet/
- Fireside chat at Sequoia Ascent 2026 from a ~week ago. Some highlights:
- The first theme I tried to push on is that LLMs are about a lot more than just speeding up what existed before (e.g. coding). Three examples of new horizons:
- 1. menugen: an app that can be fully engulfed by LLMs, with no classical code needed: input an image, output an image and an LLM can natively do the thing.
- 2. install .md skills instead of install .sh scripts. Why create a complex Software 1.0 bash script for e.g. installing a piece of software if you can write the installation out in words and say "just show this to your LLM". The LLM is an advanced interpreter of English and can intelligently target installation to your setup, debug everything inline, etc.
- 3. LLM knowledge bases as an example of something that was *impossible* with classical code because it's computation over unstructured data (knowledge) from arbitrary sources and in arbitrary formats, including simply text articles etc.
- I pushed on these because in every new paradigm change, the obvious things are always in the realm of speeding up or somehow improving what existed, but here we have examples of functionality that either suddenly perhaps shouldn't even exist (1,2), or was fundamentally not possible before (3).
- The second (ongoing) theme is trying to explain the pattern of jaggedness in LLMs. How it can be true that a single artifact will simultaneously 1) coherently refactor a 100,000-line code base *and* 2) tell you to walk to the car wash to wash your car. I previously wrote about the source of this as having to do with verifiability of a domain, here I expand on this as having to also do with economics because revenue/TAM dictates what the frontier labs choose to package into training data distributions during RL. You're either in the data distribution (on the rails of the RL circuits) and flying or you're off-roading in the jungle with a machete, in relative terms. Still not 100% satisfied with this, but it's an ongoing struggle to build an accurate model of LLM capabilities if you wish to practically take advantage of their power while avoiding their pitfalls, which brings me to...
- Last theme is the agent-native economy. The decomposition of products and services into sensors, actuators and logic (split up across all of 1.0/2.0/3.0 computing paradigms), how we can make information maximally legible to LLMs, some words on the quickly emerging agentic engineering and its skill set, related hiring practices, etc., possibly even hints/dreams of fully neural computing handling the vast majority of computation with some help from (classical) CPU coprocessors. - https://nitter.net/karpathy/status/2049903821095354523#m