返回

文章详情

你可以将多少工作委托给代理人?

Hacker News2026年7月29日 19:07

人们正越来越信任他们的代理人,可以在没有监督的情况下完成更多工作,但你如何决定何时信任他们?一些人认为答案依赖于模型的好坏——也就是说,当模型变得更好时,你可以信任他们做更多的事情。但仅仅因为模型变得更聪明就信任代理人,就像因为你有了一辆更好的车而不系安全带一样。真正的答案与模型无关,而是与任务有关。你需要建立一个关于何时委托和委托多少的心理模型,然后你可以根据这个模型进行调整。这是一个最大化代理人自主性的简单指南,因此你可以快速发货而不出错。你需要首先问自己两个问题:为了安全独立运行,代理人需要在出错时立即获得反馈。对于大多数代码,这可以通过确定性检查实现,比如单元测试和集成测试。但像为了清晰而重命名参数这样的主观任务,在没有人际品味和判断的情况下会更加困难。就像在传统软件工程中一样,如果你想信任一个代理人独立运行,你需要对最坏的情况有保证的 Ctrl+Z。这就是为什么我们的 PR 审批代理 StampHog 将任何包含拒绝列表关键字的事务路由给人类处理。这两个因素指向任何任务的四个级别之一: 级别 0:作为助手的代理人。适用于难以检查和难以撤销的任务。在处理棘手和敏感代码时是必要的。 级别 1:人类在环。适用于难以检查且易于撤销的任务。通常在需要主观评估时使用。 级别 2:代理人委托。适用于容易检查且难以撤销的任务。当前大多数开发工作默认的上限。 级别 3:自驾模式。适用于容易检查且容易撤销的任务。一切都在加速朝这个方向发展。你可以将这四个级别映射到一个非常简单的决策树,你可以将其应用于任何任务:这有助于你做出关于委托给代理人的工作量的决策,但你仍然可以设计你的流水线,以便为任何特定任务提供更高的自主权。当工作难以检查且撤销成本高时,这是代理人自主性的最低级别。想象一下向 ChatGPT 请求建议,或在 Cursor 中使用自动完成功能,就像 2024 年的美好时光一样。但这并不意味着它不好;这种模式在处理敏感代码中的棘手问题时是理想的。例如,当迪伦去年更新我们的特性标志引擎以支持通用属性定位时,他必须迁移一个间接地融入每个特性标志的假设。这对于代理人来说,因为无法进行 grep 检查,因此是很难确定的检查。该更新还具有巨大的影响范围,因为它涉及到活跃的客户标志、API 响应格式和评分函数。将任务分解。小任务可以明确显示哪里可以安全地进行委托或不可以。迪伦将不那么关键的工作,比如在我们的 JavaScript、PHP、Ruby 和 Flutter SDK 中传播新的定位逻辑,委派给代理人,同时亲自处理更风险的核心迁移任务。当工作难以检查且撤销成本低时,这种级别的代理人自主性很常见,因为这种任务需要主观评估,现阶段很难教会代理人品味和判断(至少目前是这样)。人类在环的任务被认为是容易撤销的,因为代码保持在草稿状态,直到人类验证后才会合并。撤销只意味着启动另一个迭代。托马斯的这段代码可读性重构基本上是手动完成的,但它是一个很好的例子,说明代理人不会知道如何评分。只需几行代码,便能让人更容易理解——添加注释、分组操作、将字符串替换为枚举——而且并没有引入任何破坏性更改。使用 LLM 作为评判者。这是大多数人构建代理代码审查系统的方式。随着模型的不断改进,需要人类判断的更多任务可以通过 LLM 来检查。定义一个有范围的、可衡量的目标。成功标准或契约可以作为主观评估的代理。例如,你可以指示系统尝试着陆页的文案,直到一个变体达到 3% 的转化率。编写自定义技能。这将帮助代理人以更少的引导生成符合你的标准、约定和品味的工作。例如,许多开发者会编写自定义代码审查技能,以遵循团队特定的标准。当工作容易检查且撤销成本高时,这是大多数开发者任务的现状。代理人编写可以被确定性测试的代码,但最终的合并行为是在最后的安全检查之后进行的。当罗比从头开始用 Rust 重写我们的 SQL 解析器时,他几乎没有阅读代码,因为他有一个机器预言家来检查工作。但由于解析器会影响 PostHog 的每个查询,所以代理人的工作被多重安全检查所限制:生产中的影子模式,然后是阶段性切换。执行政策和保护措施。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡