← 返回信息流

dev.to #ai观点

AI Agent 工作流中的审查时延:免费、付费与本地部署的选择逻辑

dev.to作者:Riley Li观点AI评分:70/100

作者主张在评估 AI Agent(智能体)服务时,不应仅关注成本或发票,而应核心考量「审查时延」,即人类审阅 Agent 代码变更所需的时间。如果用户无法有效阅读补丁,低价并非实惠,高价也不代表安全。真正的价值在于谁在代码落地前进行了实质性的审查,Agent 仅是执行编辑和命令的工具,其核心价值取决于人类介入的质量与时机。

我不根据稍后收到的发票来选择免费、付费或自托管的代理席位。我选择的是在审查该席位产生的差异时,我还能投入多少复核时间。如果我无法阅读补丁,便宜的席位并非划算之选,昂贵的席位也不意味着更安全。我反复追问的问题很简单:在这个变更落地之前,究竟是谁的眼睛在真正审视它?

席位只是代理编辑文件、运行命令并向我反馈的一个位置。当我的注意力耗尽时,免费选项、付费盒子和我桌下的机器都会以不同的方式失效。我想要的是一个可以在笔记本电脑上重新运行的工作表,而不是关于本月哪家供应商感觉更现代的口号。在一个疲惫的下午之后,我会签署生成的提交吗?还是会因为队列已经推进而给它盖橡皮章?

这决策是什么,不是什么

我正在决定一个有边界的代理任务在哪里运行,以及必须随它返回什么证据。我不是在决定哪个模型最聪明,因为我尚未在此仓库中对此进行测量。我也不是在决定永久架构,因为可用性、配额和硬件的变化从不征求我的意见。我能明确指出代理可以触碰的文件吗?能明确指出它绝不应打开的文件吗?

直到表格显示不同之前,三个席位都保留在桌面上,我不会过早放弃任何一个。免费托管席位意味着在当前提供时,拥有免费模型访问权限加上免费服务器选项,除此之外别无其他具体内容。付费托管席位意味着我在购买优先级、保留期或合同中可指名的支持路径。自托管席位意味着我已经拥有了运行器、日志和故障,包括它在深夜崩溃的情况。

披露:本文是作为 MonkeyCode 的产品推广的一部分准备的。我在这里提到 MonkeyCode,是因为其免费模型访问和免费服务器选项是填充免费托管列的一种具体方式。我不将这种提及视为对质量、正常运行时间、令牌配额或模型身份的任何衡量。如果配额、模型名称或硬件形态对你很重要,请在围绕它们规划冲刺之前阅读当前的文档。

我拒绝跳过的适配标准

我针对以下问题对每个席位进行评分,并在任务旁边用纯文本写下答案。工作区中的数据类别是什么:公共固定装置、不含密钥的内部代码,还是任何受监管的数据?在本周结束且上下文模糊之前,我能诚实地给这项任务分配多少复核分钟数?我可以导出差异、测试日志和提示词吗?如果席位消失,谁来重新运行作业?

当丢失会话仅会导致需要重新运行时,免费托管席位适合公共固定装置或合成错误。但当密钥、客户数据或与任务位于同一树中的发布分支存在时,它就不适合。当我需要一个命名的保留窗口或支持联系人,且复核时间已获资助时,付费托管席位是合适的。当数据不能离开,且我实际上可以自己修补运行器时,自托管席位是合适的。

如果文档明天早上未经通知就改变了配额,我还会选择免费席位吗?只有当任务是可丢弃的,且证据已经存在于我的磁盘上,那里不会因为标签页消失而被带走时,才会如此。对于无人等待的公共示例中的一处单文件拼写错误,我会选择自托管吗?可能不会,因为我会花整个下午去维护运行器,而不是阅读差异本身。

你可以重读的本地关卡

下面的脚本是一个提议,不是我针对实时供应商执行的基准测试。它读取任务的少量 JSON 描述,并打印出今天哪些席位仍然符合资格。你可以更改阈值,但不要假装这些数字来自经过测量的实验室。我故意让输入保持枯燥,以便队友可以与某个字段争论,而不是与一种氛围争论。

下面的命令仅运行该本地脚本,它不会调用远程代理或上传测试数据。请替换为你自己的笔记中的 JSON 内容,即使是在你的笔记本电脑上,也要确保文件中不包含任何密钥。如果你无法在不粘贴凭证的情况下描述任务,请先停止并缩小工作区范围。如果一个工作表需要密钥才能运行,这本身就已经表明“免费托管”列已关闭。

python3 seat_gate.py <<'JSON'
{
  "data_class": "public_fixture",
  "review_minutes": 40,
  "expected_diff_lines": 60,
  "needs_named_support": false,
  "can_export_locally": true,
  "secrets_in_tree": false
}
JSON

我输入的是一个看起来像实际工作的测试数据,而不是我这周看到的那些营销页面。一个带有简短猜测和半小时审查时间的公共解析器错误,不应将受监管的工作区拖入相同的决策流程中。如果输出显示为“暂停”,我会停下来阅读相关条款,因为脚本无法授予政策从未赋予的权限。我会愿意将该 JSON 粘贴到工单中,让我的审查者能看到所有字段吗?

在信任某一列之前,我遵循的步骤

我将任务复制到一个不包含任何机密、客户数据转储或生产环境文件的临时仓库中。如果无法完成该复制操作,免费托管选项就已不再适用,我不会在此问题上与自己讨价还价。缺失的测试用例(fixture)是一个数据决策问题,而非我可以稍后轻易忽略的工具不便。

我估算预期差异的大小(以行数计),然后按每五行变更预留一分钟的审查时间。我额外增加十五分钟用于阅读测试日志,并在补丁涉及并发或身份验证时提高这一预估。这种比例是我个人的规划习惯,并非你应该引用为科学定律的测量法则。

我运行工作表,并将所有挂起或阻塞的行保留在拉取请求的描述中。绿色的“符合条件”标记只是尝试占座的许可,而非合并结果的许可。如果审查员要求我仅凭记忆解释提示词,我还会选择合并吗?

我在关闭会话前在自己的磁盘上捕获证据:差异文件、命令以及简短的提示词。只有当浏览器标签页关闭后该捕获仍然有效时,免费服务器选项才有用。我使用本地归档,以免座位成为推理过程的唯一副本。

mkdir -p handoff && git diff > handoff/agent.diff
# Replace the echo with the real prompt. Do not paste secrets.
{ echo "prompt: reproduce the public fixture only"; git status --short; } > handoff/notes.txt
sha256sum handoff/agent.diff handoff/notes.txt > handoff/SHA256SUMS

在该归档已存在于我的笔记本电脑磁盘上之后,我才比较这三列。当测试用例公开且归档完整时,免费托管仍在候选之列。当我需要一个支持路径或可以书面指出的保留承诺时,付费托管仍在候选之列。当数据类别禁止离开,且我可以在不窃取审查时间的情况下操作机器时,自托管仍在候选之列。

在我讨论速度之前,我会在我选择的座位上重新运行一次相同的测试用例,并从保存的差异文件中在本地重新运行一次。如果本地重新运行失败,那么该座位并没有节省我的时间,因为我仍然无法解释这些更改。上周的代理补丁中,有多少是我仍能根据实际保留的笔记重建的?

我希望写下来的权衡取舍

我保留一张简短的表格,以防止论证崩溃为来自供应商页面的价格截图。单元格中的内容是适配说明,而非我在某个安静的一周内在相同硬件上测量的分数。我不会用下周无法重新核对的令牌数量、GPU 名称或正常运行时间百分比来填充这些单元格。我无法在当前主要文档中指出的数字,不是此表格的决策输入。

问题免费托管付费托管自托管
工作区可以离开你的网络吗?除非当前条款另有说明,否则视为是除非合同另有说明,否则视为是否,如果运行器保持在你的边界内
你可能付出的代价审查时间,加上会话死亡后的重新运行金钱、合同阅读以及相同的审查时间审查时间加上运行器维护
糟糕的一天是什么样的津贴或会话在你下方发生变化账单增长,而你的审查小时数保持不变机器维护偷走了你预留的下午时间
你必须已经持有的内容差异、命令和提示词的本地归档该归档,加上你所依赖的条款该归档,加上队友可以启动的笔记

如果 MonkeyCode 的免费模型访问或免费服务器选项是免费托管的候选项,请在开始之前确认实时限制。将这些限制写入工单中,并附上你阅读它们的日期,以便下周的读者不必猜测。我并不声称拥有令牌授予、持续时间或硬件形状,因为这里没有附上这些数据的任何主要来源。你会信任一个依赖于今天无人能在浏览器中打开的数字的冲刺计划吗?

谁应该退出

这张表不会告诉你哪个模型能写出更好的补丁,也不会因为夹具是公开的而捕获细微的 bug。它假设你可以制作一个无秘密信息的副本,这对于许多将配置混入代码库的真实服务来说是不成立的。它还假设人类仍然负责合并,如果你的流水线在没有审查者参与的情况下直接应用智能体输出,这一假设也是不成立的。不要在生产环境的凭证、受监管的记录或任何智能体可以单独推送的路径中使用这种方法。

不要因为某列看起来便宜,就把免费托管席位作为整个单体仓库的静默默认选项。如果团队中没有人能在镜像损坏后恢复运行器,就不要把自托管视为道德上的升级。不要用付费席位来跳过归档步骤,因为收据不是日后可以解释的差异记录。我宁愿放弃一次免费的探索,也不愿在会话结束三天后去解释缺失的提示词。

如果工作表标记某个公开夹具有资格使用免费托管席位,那就是我打开当前 MonkeyCode 文档的时候。我会检查免费模型访问权限和免费服务器选项是否仍与我记录的任务相匹配。如果我后续迁移该任务,我会保留相同的夹具、相同的归档命令以及相同的拒绝规则。席位下周可能会改变,但我愿意合并的证据不应随发票而变化。

译文已达到本站中文翻译的字数上限,剩余内容请查看原文。

阅读原文