配套视频:https://www.bilibili.com/video/BV1cZrwB2Eh2/

一、引言:重新思考代理的自主性

在 AI 代理开发的浪潮中,我们常常被"运行时长"这个指标所吸引——代理能连续工作多少小时似乎成了衡量其能力的标准。但 Replit 的 Michele Catasta 提出了一个颠覆性的观点:自主性不等于长时间运行,而是让用户无需做出技术决策的能力

这个区别至关重要,尤其是当你的目标用户是非技术人员时。Replit 的使命是让每个知识工作者都能创建软件,这意味着代理必须承担所有技术决策,让用户只需关注"想要什么",而非"如何实现"。

二、自主性的两种范式

2.1 Tesla 模式 vs Waymo 模式

Catasta 用自动驾驶做了一个精妙的类比:

Tesla 模式(监督式自主性)

  • 你需要持有驾照(技术能力)

  • 手必须放在方向盘上(随时准备介入)

  • 99% 的时间不需要操作,但必须处理长尾事件

  • 适用于当前大多数编码代理

Waymo 模式(完全自主性)

  • 无需驾照(技术背景)

  • 坐在后排即可

  • 系统处理所有技术决策

  • Replit 的目标方向

这不仅是技术实现的差异,更是产品哲学的根本分野。大多数编码代理要求用户"技术精通"——你需要知道如何精确提示模型,快速判断是否接受代码变更。而 Replit 追求的是让非技术用户也能自如使用。

2.2 重新定义自主性

传统观念中,自主性常与以下概念混淆:

  • ❌ 长时间运行(几小时甚至几十小时)

  • ❌ 用户失去控制

  • ❌ 虚荣指标("我的代理能跑 30 小时!")

Replit 的定义:

自主性 = 最大化"不可压缩运行时间"(Irreducible Runtime)

这是指:

  • ✅ 用户无需做出任何技术决策的时间跨度

  • ✅ 代理能完全独立完成任务

  • ✅ 用户保持对目标层面的控制

关键洞察:自主性可以是高度局限的(scoped)。一个代理可以在 5 分钟内高度自主地完成一个小任务,也可以在 5 小时内完成一个大项目。运行时长取决于任务范围,而非自主性本身。

三、实现自主性的三大支柱

Catasta 将自主性的实现归结为三大支柱,其中前沿模型能力留给研究者,他重点阐述了后两者。

3.1 支柱一:前沿模型能力

这是基础的"智商"层面,涉及模型的推理、规划和代码生成能力。Catasta 将此"留作练习",因为在座的许多公司(OpenAI、Anthropic 等)正在这方面取得突破。Replit 作为用户,受益于这些进步。

3.2 支柱二:验证(Verification)

这是 Replit 过去一年的重点投入,也是演讲的核心内容。

问题:画出来的门

没有测试的代理会创造大量"画出来的门"(painted doors)——看起来能用,实际上坏了的功能:

  • 按钮点击没有绑定处理器

  • 显示的是模拟数据,而非数据库真实数据

  • 表单提交后没有实际保存

数据触目惊心:

  • 超过 30% 的独立功能在首次生成时就是损坏的

  • 几乎每个应用至少有一个故障功能

  • 用户不会花时间测试每个按钮,导致信任危机

这对非技术用户尤其致命——他们无法判断问题出在哪里,只会觉得"AI 不靠谱"。

解决方案:自主测试

核心原则:代理必须从环境中自主收集所有需要的反馈

非技术用户:

  • ❌ 无法做出技术决策

  • ❌ 无法提供技术反馈

  • ✅ 只能做基础 QA 测试(点点按钮)

但手动测试极其繁琐,用户体验糟糕。Replit 的解决方案是完全自主的测试系统

测试技术演进谱系

静态分析 → 代码执行 → 单元测试 → API测试 → 浏览器自动化
(LSP)      (调试)      (功能正确性) (端点测试)  (完整集成测试)

前面的方法都有局限:

  • 单元测试:无法做真正的集成测试

  • API 测试:无法测试 Web 应用的 UI 和交互

核心技术:Playwright 代码生成

Replit 选择让代理直接编写 Playwright 测试代码,而非使用工具调用框架(如 Stagehand)。

为什么选择代码生成?

对比维度

工具调用框架

Playwright 代码

表达能力

有限的预定义工具

完整的编程语言

长尾覆盖

99% 的交互

100% 的交互

LLM 友好度

需要学习工具

LLM 天然擅长

可复用性

一次性执行

自动创建回归测试

成本

中等

低(比计算机视觉便宜一个数量级)

关键优势:

  1. 表达力强:Playwright 是图灵完备的,可以表达任何交互逻辑

  2. LLM 擅长:大模型在编写 Playwright 代码上表现惊人

  3. 自动回归测试:一旦写下测试,就可以无限次重跑

  4. 成本低廉:无需视觉模型处理截图

混合测试策略

Replit 的测试代理可以:

  • 📊 读取数据库验证数据持久化

  • 📝 检查日志确认操作执行

  • 🔌 调用 API 测试端点

  • 🖱️ 通过 DOM 交互测试 UI

  • 📸 截图作为最后的后备方案(计算机视觉)

这种多层次的反馈机制:

  • ✅ 打破了反馈瓶颈(无需等待人工反馈)

  • ✅ 防止了小错误累积(每步验证局部正确性)

  • ✅ 克服了模型懒惰(验证任务真正完成)

比喻:

如果地基不稳,城堡终将倒塌。我们需要"九个九"(99.999%)的可靠性,避免错误复合。

3.3 支柱三:上下文管理

这是整个行业的热门话题,Catasta 快速但精准地分享了 Replit 的经验。

核心发现:长上下文非必需

反直觉的结论:

大多数任务(即使是雄心勃勃的任务)可以在 20 万 token 内完成。

我们不需要千万级甚至亿级的上下文窗口来运行自主代理。关键在于正确的上下文管理

状态维护的三种策略

1. 代码库本身维护状态

代理创建新代码时 → 同时编写文档
计划和任务列表 → 持久化到文件系统

即使代理重启,状态也不会丢失。

2. 内存卸载(Memory Offloading)

将记忆写入文件系统 → 代理决定何时读回

Anthropic 一直在推广这种方法:不是把所有东西塞进上下文,而是让代理主动管理记忆。

3. 子代理编排(Subagent Orchestration)

这是 Replit 的核心突破。

子代理编排:关注点分离

工作原理:

主循环运行 → 决定启动子代理 → 子代理从空白上下文开始
         ↓
只注入最小必要上下文 → 子代理运行至完成 → 只返回结果
         ↓
结果注入主循环 → 继续运行

类比软件工程:
这就像函数调用——你不会把整个程序的状态传给每个函数,只传必要的参数。

实际效果:

Catasta 展示了一张直接从生产环境提取的图表:

每次压缩的记忆数(Memories per Compression)
启用子代理编排前:~35
启用子代理编排后:~50

提升:43%

这意味着代理可以在更长的时间内保持连贯,而无需频繁压缩上下文。

测试场景:子代理的必要性

测试是子代理编排的完美用例:

问题:
如果主循环既生成代码,又执行浏览器操作(测试),会导致:

  • 上下文高度异构(代码编辑 vs 浏览器交互)

  • 代理循环混乱

  • 上下文污染严重

解决方案:

主代理决定验证时机 → 启动测试子代理
                  ↓
测试子代理:编写 Playwright → 执行测试 → 收集结果
                  ↓
只返回最终观察结果 → 主循环继续

职责清晰分离,主循环无需关心测试细节。

四、并行性:用户体验的催化剂

这是演讲的最后一个重点,也是 Replit 正在攻克的前沿。

4.1 为什么需要并行性?

不是为了更强大,而是为了更好的体验。

问题场景:

用户写一个长提示 → 代理翻译成任务列表 → 用户去吃午饭
                                    ↓
                              几小时后回来
                                    ↓
                          希望任务已经完成

这不是高效人士想要的体验。你想在最短时间内看到最多的工作完成

4.2 并行代理的权衡

并行性本质上是用额外算力换时间

成本:

  1. 重复的上下文收集

  • 每个并行代理可能共享 80% 的上下文

  • 大量冗余计算

  1. 合并冲突(Merge Conflicts)

  • 对专家开发者:可管理的麻烦

  • 对非技术用户:完全无法理解的噩梦

Catasta 强调:

"我的用户甚至不知道什么是合并冲突。这是我必须自己解决的问题。"

收益:

  1. 测试与开发并行

  • 测试很慢(即使优化过)

  • 如果代理只在测试,用户就不会看到应用进展

  • 并行运行可以保持用户参与感

  1. 异步反馈注入

  • 后台进程可以将有用信息注入主循环

  • 提升决策质量

  1. 多轨迹采样

  • 探索多个解决方案

  • 选择最优结果

  • 已知的性能提升技术

4.3 并行架构的演进

当前方案:用户作为编排者

用户决定并行任务 → 每个任务独立线程 → 等待所有完成
                                      ↓
                              用户处理合并冲突

问题:

  • 任务分解在用户脑中发生(认知负担)

  • 需要技术判断

  • 合并冲突需要手动解决

未来方案:核心循环作为编排者

主代理分析任务 → 自主决定子任务 → 动态启动并行子代理
                                    ↓
                          智能避免冲突(软件工程最佳实践)
                                    ↓
                          自动合并结果 → 继续运行

关键差异:

维度

用户编排

代理编排

任务分解

用户决定

代理自主

并行决策

静态预设

动态调整

冲突处理

用户手动

智能缓解

认知负担

技术手段:

  • 模块化设计(不同子代理操作不同文件/模块)

  • 依赖分析(识别可并行的独立任务)

  • 锁机制(避免同时修改同一资源)

  • 增量合并(而非最后一次性合并)

Catasta 承认:

"我不是说能 100% 解决合并冲突,边界情况太多了。但有很多软件工程技术可以显著缓解这个问题。"

五、里程碑与成果

5.1 Replit Agent 的三代演进

第一代(2023 年 9 月)

  • 基于 ReAct 范式

  • 在 LLM 之上构建简单的自主性

  • 反馈循环 < 1 分钟

  • 需要持续监督

第二代

  • 原生工具调用(Native Tool Calling)

  • AI 提供商投入大量精力优化

  • 更可靠的工具使用

第三代(B3,几个月前发布)

  • 真正的自主代理

  • 突破 1 小时自主运行障碍

  • 能在长时程任务上保持连贯

5.2 行业突破

运行时长记录:

  • Replit:30+ 小时连续运行(专注任务)

  • OpenAI:类似结果(数学问题)

  • Anthropic:4.7、4.5 等模型的长时程能力

关键指标改进:

  • 功能完整性:70% → 接近 100%(通过自主测试)

  • 上下文效率:35 → 50 记忆/压缩(+43%)

  • 自主运行:分钟级 → 小时级

5.3 技术栈总结

层级

技术选择

原因

模型

前沿 LLM(Claude、GPT 等)

基础能力

测试

Playwright 代码生成

表达力 + 可复用性

上下文

子代理编排

关注点分离

并行

核心循环编排(开发中)

零认知负担

六、核心洞察与未来展望

6.1 关键洞察

1. 自主性的本质是抽象复杂性

技术决策 → 代理承担
用户关注 → 目标和创意

2. 验证是自主性的基础

"没有地基的城堡会倒塌。"

每一步的局部正确性保证了长时程的全局连贯性。

3. 上下文管理是可扩展性的关键

不是靠更大的上下文窗口,而是靠更聪明的管理:

  • 状态外化(文件系统)

  • 记忆选择性加载

  • 子代理隔离

4. 并行性是用户体验的催化剂

不是为了炫技("我的代理能跑 30 小时!"),而是为了让用户保持在"心流区"。

6.2 未来方向

短期(几个月):

  • ✅ 完善核心循环编排的并行架构

  • ✅ 持续优化 Playwright 测试生成

  • ✅ 减少合并冲突发生率

中期(一年):

  • 🎯 实现真正的"Waymo 体验"

  • 🎯 支持更复杂的应用类型(不仅是 Web)

  • 🎯 多模态测试(UI、性能、安全)

长期愿景:

让每个知识工作者都能创建软件,无需技术背景。

这不是渐进式改进,而是范式转变:

  • 从"程序员的工具"到"人人的工具"

  • 从"辅助编码"到"自主创建"

  • 从"技术决策"到"目标表达"

6.3 对行业的启示

给代理开发者:

  1. 不要追求虚荣指标(运行时长)

  2. 专注于用户真正需要的自主性

  3. 验证比生成更重要

  4. 上下文管理胜过上下文容量

给模型提供商:

  1. 工具调用的可靠性至关重要

  2. 子代理编排需要原生支持

  3. 长上下文不如智能上下文

给产品经理:

  1. 定义清楚你的用户是谁(专家 vs 非专家)

  2. 自主性的定义决定产品形态

  3. 用户体验 > 技术指标

七、结语

Michele Catasta 的演讲不仅是技术分享,更是对"自主性"这一核心概念的深刻反思。

在 AI 代理的竞赛中,很容易被表面指标吸引——谁的代理能跑得更久,谁的上下文窗口更大。但 Replit 的经验告诉我们:真正的自主性在于让用户无需关心技术细节,只需表达意图

这需要三个支柱的协同:

  • 🧠 模型能力:基础智能

  • 验证系统:可靠性保证

  • 🧩 上下文管理:可扩展性

而并行性则是锦上添花,让体验从"可用"变为"令人愉悦"。

最终,这不是关于构建更强大的代理,而是关于赋能更多的人。当一个从未写过代码的产品经理能够创建一个完整的 Web 应用,当一个小企业主能够自动化他的业务流程——那才是 AI 代理真正的胜利。

自主性就是一切。但自主性不是让代理跑得更久,而是让用户走得更远。


如果这篇文章对你有帮助,欢迎点赞、收藏、转发。也欢迎在评论区分享你的经验,我们一起交流学习!


我是 dtsola【IT解决方案架构师 | AI创业者】 ;专注AI创业、商业、技术、心理学、哲学内容分享。

提供服务:AI项目咨询 | 技术解决方案 | IT项目实施 | 企业技术顾问

博客:https://www.dtsola.com

公众号&VX:dtsola

需提供服务,加微信 dtsola,备注:IT咨询,并说明来意。


#AI编程 #VibeCoding #智能体 #ClaudeCode #独立开发者 #AI创业 #一人公司 #程序员 #软件工程师 #软件工程


Work Less, Earn More, Enjoy Life.