Ayush Bhardwaj:智能体的绕行做法就是命令行工具的反馈

原标题Ayush Bhardwaj: Agent workarounds are feedback for your CLI

对编程会话的审计显示,输出、错误和过时指令在哪些地方迫使智能体自行变通。

ABAyush Bhardwaj讲者 · Allos AI
频道
AI Engineer
发布
2026年11月10日
视频
12:20
阅读
3 分钟
幻灯片
1
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Ayush Bhardwaj 检查了自己智能体会话中的约两万次调用,发现重复出现的管道暴露了命令行工具缺少的功能。他的改进包括选择相关消息、紧凑搜索结果和批量检查。他还说明管道如何掩盖测试失败、过时技能指令为何持续影响行为,以及为何应通过正确答案和交互轮次评估更短的输出。

  1. 1重复过滤可以暴露工具缺少的功能Bhardwaj 在自己的样本中发现,智能体经常用过滤器处理命令行输出。
  2. 2管道最后一个命令成功,可能掩盖测试失败工具和 shell 如果没有保留真实错误或退出状态,就可能丢失它们。
  3. 3指令仍提到无效参数时,智能体继续使用它观察到的 95 次搜索全部使用旧参数;修订指令后,两个会话改变了行为。
  4. 4将真实命令重放为测试案例把智能体接下来的动作当作粗略线索,并留出案例用于评估。
  5. 5输出 token 更少本身不能证明流程更好还要衡量正确答案和交互轮次。

要点建议

  1. 检查真实智能体会话中反复出现的管道和重试。
  2. 让错误可见,并保留真实的失败状态。
  3. 根据使用情况提供选择、紧凑输出和批量操作。
  4. 接口变化时同步更新技能和帮助文本。
  5. 重放留出的轨迹,用实际结果而不只是输出长度评估。
全文

按章节阅读整理后的全文

只看原始文稿
01

把绕行做法当作产品反馈

Bhardwaj 审计智能体调用,并说明过滤输出也可能掩盖失败。

我构建了一个命令行工具,让编程智能体检索以前会话的上下文。观察它们使用工具让我认识到:绕行做法本身就是反馈;智能体可能默默地在工具外面写程序,而不是提交错误报告。

我从自己的会话记录中提取约两万次调用,涉及 14 个命令行工具。约四分之一将输出通过 head、tail、grep 或 Python 等工具过滤;读取密集型命令的比例更高。这些是我个人会话中的观察结果。

管道也可能掩盖失败。没有启用 pipefail 时,shell 管道通常返回最后一个命令的退出状态,因此成功的 head 或 tail 可能掩盖失败的测试。截断输出还可能删掉实际错误;我建议在末尾提供简短失败摘要和完整日志路径。

02

把重复过滤转化为命令行功能

他的会话搜索工具根据观察增加选择、紧凑结果和批量检查功能。

我的 chat-history 命令行工具可以搜索多个编程工具的历史会话。在一项规模较小的个人使用审计中,智能体经常打开会话后立刻再次过滤。重复截取表明接口应该提供更好的选择功能,而不是每次都让智能体自行重建。

一个完整会话约有 120 万字符,而匹配位置附近的消息约有 3000 字符。通用大小上限只能限制数量,不能确定相关部分,因此我增加了范围、匹配消息和最近消息等选项。

反复用 Python 处理 JSON 暗示需要字段更少的紧凑搜索格式;反复循环检查多个会话则暗示需要批量检查命令。智能体围绕我的命令编写的命令,成了产品路线图。

03

教会智能体新功能,并用真实轨迹测试

过时指令让一个无效参数继续被使用。记录的命令可以成为重放测试。

帮助文本和技能文件也是接口的一部分。我让一个参数不再产生作用,却把它留在技能指令里;观察到的 95 次搜索仍全部使用它。两个会话加载修订指令后,都不再使用旧参数,并尝试了新选项。

会话记录可以提供重放测试:在新旧版本中运行相同命令,再检查智能体后来使用的结果是否仍然可用。智能体接下来的动作只是其意图的粗略线索,因此应留出部分案例用于评估。

将会话记录重放为测试案例
幻灯片 1 / 1将会话记录重放为测试案例在不同版本中比较相同命令,并把智能体接下来的动作作为粗略参考。
04

衡量结果,而不只是缩短输出

简洁的智能体模式只有改善任务时才有帮助。讲者建议有意识地设计并检查真实行为。

如果重新开始,我会先添加有用的范围和数量限制,教智能体使用这些选项,并让默认输出简洁,同时说明如何获取更多内容。智能体知道何时使用参数,参数才有帮助。

面向智能体的模式可以提供简洁输出和清楚的错误。但一个例子虽然减少了工具输出 token,却没有明显改善总体成本或运行时间。因此除了返回字符数,还要衡量正确答案和交互轮次。

我不指望智能体一次就设计出最好的智能体接口。人应该决定工具需要完成什么,再利用真实会话和测试帮助智能体发现并修复摩擦。

备份会话记录,搜索工具名后跟管道或反复重试的情况,再检查接下来发生了什么。对于面向智能体的工具,这些绕行做法就是产品使用数据。

同频道的其他文章

4 张幻灯片38:50EN → 简体中文
AI Engineer· 2026年11月10日LinkedIn 的自我改进代理,先要修好评估裁判Ziwei Guo, Saloni Gandhi · LinkedIn一个提示词优化循环改进了职业代理,但团队首先需要通过人工校准提高评估器的可靠性。智能体工程评估与可观测性Agent orchestration+1
12:48EN → 简体中文
AI Engineer· 2026年11月10日Brian Douglas:把智能体纠正记录变成可复用的审查知识Brian Douglas · Paper Compute这位 Paper Compute 开发者记录编程会话中的专家纠正,并测试如何在代码审查中复用。编程智能体开发流程与测试Software engineering+1
5 张幻灯片12:57EN → 简体中文
AI Engineer· 2026年11月10日Harvey 的代理扩张后,平台和合并队列接连遇阻Joey Wang · Harvey告警启动 900 个代理、一名工程师发出 950 个任务后,Harvey 增加了去重和公平调度。智能体工程Agent orchestrationDeveloper productivity+1
幻灯片23:00EN → 简体中文
AI Engineer· 2026年11月10日PR 声称检查通过,需要关联到提交代码的证据Stephen Chin, Cassandra Chin · Neo4jStephen 与 Cassandra Chin 展示 Tracetoon 如何在起草可审查的拉取请求前关联智能体轨迹、代码修改与检查。编程智能体开发流程与测试Software engineering+1
4 张幻灯片22:49EN → 简体中文
AI Engineer· 2026年11月10日多个编程智能体共享代码库时,交付流程必须处理并发Patrick Debois · TesslPatrick Debois 解释共享规划、合并策略和按风险审查如何帮助团队协调智能体。编程智能体Software engineering软件工厂
2 张幻灯片15:41EN → 简体中文
AI Engineer· 2026年11月10日Meta 的值班 AI 队友如何逐项获得自主权Chinmay Gandhi, Swaapnika Motapothula, Vlad Tsvang · Meta团队关联事故上下文与共享记忆,同时让关键决策和代码审查保留在人手中。AI agents基础设施与部署智能体工程+1