让AI代理演示他们的工作
在使用编码代理时一个关键的挑战是让他们既测试他们构建的内容又向你作为主管演示该软件。这超出了自动化测试——我们需要展示他们进度并帮助我们准确了解代理生产的软件能够做什么的工件。我刚刚发布了针对这个问题的两个新工具Showboat 和 Rodney。1、证明代码确实有效我最近写过软件工程师的工作不是写代码而是*交付有效的代码*。其中很大一部分是向自己和他人证明我们负责的代码的行为符合预期。当我们采用编码代理作为软件开发过程的核心部分时这变得更加重要——也更加具有挑战性。我们用代理产生的代码越多减少我们需要花费的手动 QA 时间数量的工具就越有价值。关于 StrongDM 软件工厂模式 最有趣的事情之一是尽管他们的政策是代码不得由人类审查但他们如何确保他们的软件经过充分测试并提供价值。他们解决方案的一部分涉及通过运行场景来测试其软件的昂贵的 QA 代理群。这很迷人但我不想在可以避免的情况下在 QA 机器人上花费数千美元我需要工具让代理能够清楚地向我展示他们的工作同时尽量减少他们对自己所做的事情进行欺骗的机会。2、Showboat代理构建文档来演示他们的工作Showboat是我构建的帮助代理向我展示其工作的工具。它是一个 CLI 工具一个 Go 二进制文件可选地包装在 Python 中以使其更易于安装它帮助代理构建一个 Markdown 文档准确演示他们新开发的代码可以做什么。它不是为人类运行而设计的但无论如何这是你会运行它的方式showboat init demo.md 如何使用 curl 和 jq showboat note demo.md 以下是如何一起使用 curl 和 jq 的方法。 showboat exec demo.md bash curl -s https://api.github.com/repos/simonw/rodney | jq .description showboat note demo.md 以及 curl 标志用于演示 image 命令 showboat image demo.md curl -o curl-logo.png https://curl.se/logo/curl-logo.png echo curl-logo.png如果你在 VS Code 中打开它并预览 Markdown结果是这样的一个 Gist 中的 demo.md 文件因此一系列showboat init、showboat note、showboat exec和showboat image命令一次构建一个 Markdown 文档部分其中exec命令的输出自动添加到文档中直接跟在运行的命令后面。image命令有点特别——它在命令输出中查找图像的文件路径并将该图像复制到当前文件夹并在文件中引用它。基本上就是整个东西还有一个pop命令如果出现问题则删除最近添加的部分一个verify命令重新运行文档并检查没有任何变化我对这个设计并不完全信服以及一个extract命令用于逆向工程用于创建文档的 CLI 命令。它非常简单——只有 172 行 Go 代码。我使用我的 go-to-wheel 工具对其进行了打包这意味着你可以像这样甚至不安装它就运行它uvx showboat --help那个--help命令真的很重要它旨在为使用工具的编码代理提供他们需要知道的一切。这里是完整的帮助文本。这意味着你可以打开 Claude Code 并告诉它运行 uvx showboat --help 然后使用 showboat 创建一个 demo.md 文档描述你刚刚构建的功能就是这样--help文本有点像一个技能。你的代理可以阅读帮助文本并使用 Showboat 的每个功能来创建一个文档演示你需要演示的任何内容。这里有一个有趣的技巧如果你让 Claude Code 构建 Showboat 文档你可以在 VS Code 中打开它并在代理运行演示时实时观看预览窗格更新。这有点像让你的同事在屏幕共享会议中向你介绍他们最新的工作。最后一些例子。以下是我让 Claude 使用 Showboat 创建的文档以帮助演示我在其他项目中正在处理的功能shot-scraper全面演示 运行我的 shot-scraper 浏览器自动化工具的完整功能套件主要是为了练习showboat image命令。sqlite-history-json CLI 演示 演示我为新的 sqlite-history-json Python 库添加的 CLI 功能。row-state-sql CLI 演示 展示我向同一项目添加的新row-state-sql命令。使用 Notes 进行更改分组 演示另一个功能即同一事务中的更改组可以附加一个备注。krunsh将 Shell 命令传递到临时 libkrun 微型虚拟机 是一个特别复杂的例子我设法让 Claude Code for web 在 Claude gVisor 沙箱内的 QEMU 模拟 Linux 环境中运行 libkrun 微型虚拟机。我现在经常使用 Showboat足以说服我它的实用性。我也看到代理作弊由于演示文件是 Markdown代理有时会直接编辑该文件而不是使用 Showboat这可能导致命令输出不反映实际发生的情况。这里是关于这个问题的问题。2、Rodney配合Showboat的CLI 浏览器自动化我参与的许多项目都涉及 Web 界面。代理经常为这些界面构建全新的页面我希望在演示中看到这些内容。Showboat 的图像功能旨在允许代理作为其演示的一部分捕获屏幕截图最初使用我的 shot-scraper 工具 或 Playwright。Showboat 格式受益于 CLI 实用程序。我寻找从 CLI 管理多轮浏览器会话的良好选项但没有找到所以我决定尝试构建一些新东西。Claude Opus 4.6 指向了我 Rod 用于与 Chrome DevTools 协议交互的 Go 库。它很棒——它为使用自动化 Chrome 基本上可以做的所有事情提供了全面的包装全部在一个编译为几 MB 的自包含库中。Rod 缺少的只是一个 CLI。我构建了第一个版本作为一个异步报告原型这说服我值得将其发展成为自己的项目。我将其命名为 Rodney是对它所基于的 Rod 库的致敬以及对只有傻瓜和马的引用——以及因为包名称在 PyPI 上可用。你可以使用uvx rodney运行 Rodney 或像这样安装它uv tool install rodney或者从发布页面获取 Go 二进制文件。这是一个简单的示例会话rodney start # 在后台启动 Chrome rodney open https://datasette.io/ rodney js Array.from(document.links).map(el el.href).slice(0, 5) rodney click a[href/for] rodney js location.href rodney js document.title rodney screenshot datasette-for-page.png rodney stop在终端中看起来是这样的与 Showboat 一样这个工具也不是为人类使用而设计的目标是让编码代理能够运行rodney --help并看到他们需要知道的一切以开始使用该工具。你可以在 GitHub 存储库中看到该帮助输出。以下是我使用 Showboat 创建的 Rodney 的三个演示Rodney 的原始功能集包括页面屏幕截图和执行 JavaScript。Rodney 的新无障碍测试功能在开发这些功能期间构建以展示它们可以做什么。使用这些功能对页面进行基本的无障碍审核。我对 Claude Opus 4.6 如何响应提示使用 showboat 和 rodney 对 https://latest.datasette.io/fixtures 进行无障碍审核印象深刻——转录在这里。3、测试驱动开发有帮助但我们仍然需要手动测试在成为测试优先、最大测试覆盖率软件开发学派的终身怀疑论者之后我喜欢包含测试的开发我最近开始接受测试优先流程作为迫使代理只编写解决当前问题所需代码的一种方式。我的许多 Python 编码代理会话都以相同方式开始使用 uv run pytest 运行现有测试。使用红色/绿色 TDD 构建。告诉代理如何运行测试既表明该项目存在测试且重要也是一个指标。代理在编写自己的测试之前会阅读现有测试因此拥有具有良好模式的干净测试套件使他们更有可能编写自己的良好测试。前沿模型都明白红/绿 TDD意味着他们应该先编写测试运行它并观察它失败然后编写代码使其通过——这是一个方便的快捷方式。我发现这大大提高了代码质量和代理用最少的提示指导产生正确事物的可能性。但任何从事过测试工作的人都知道仅仅因为自动化测试通过并不意味着软件真正有效这就是 Showboat 和 Rodney 背后的动机——直到我用自己的眼睛看到它运行我从不信任任何功能。在构建 Showboat 之前我经常向代理会话添加手动测试步骤例如测试通过后启动开发服务器并使用 curl 练习新功能4、我在手机上构建了这两个工具Showboat 和 Rodney 都开始作为通过 Claude iPhone 应用创建的 Claude Code for web 项目。它们的大多数持续功能工作都以相同方式发生。我对现在在手机上完成了多少编码工作仍然有点惊讶但我估计我今天发布到 GitHub 的大部分代码都是由通过该 iPhone 应用驱动的编码代理为我编写的。我最初设计这两个工具用于像 Claude Code for web 这样的异步编码代理环境。到目前为止效果真的很好。原文链接让AI代理演示他们的工作 - 汇智网

相关新闻

深度测评 一键生成论文工具 千笔ai写作 VS 灵感ai,专科生专属

深度测评 一键生成论文工具 千笔ai写作 VS 灵感ai,专科生专属

随着人工智能技术的迅猛迭代与普及,AI辅助写作工具已逐步渗透到高校学术写作场景中,成为专科生、本科生、研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生,开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时…

2026/7/5 3:01:37 阅读更多 →
Lite-Avatar低显存优化方案:基于Ubuntu20.04的4G GPU部署指南

Lite-Avatar低显存优化方案:基于Ubuntu20.04的4G GPU部署指南

Lite-Avatar低显存优化方案:基于Ubuntu20.04的4G GPU部署指南 想在4G显存的GPU上流畅运行数字人?这份保姆级教程帮你轻松搞定! 1. 引言 最近很多朋友在尝试部署Lite-Avatar时遇到了显存不足的问题,特别是在使用RTX 3050、3060这类…

2026/7/4 7:41:50 阅读更多 →
Jest HTML Reporter深度解析

Jest HTML Reporter深度解析

# Jest HTML Reporter:一份看得懂的测试报告 在软件开发中,编写测试代码就像给房子做质量检查。你运行测试,希望所有房间(功能)都完好无损。但原始的测试结果通常是一大堆命令行文本,就像一份只有专业工程…

2026/7/4 15:24:17 阅读更多 →

最新新闻

多重共线性实战指南:识别、归因与工程化解法

多重共线性实战指南:识别、归因与工程化解法

1. 项目概述:为什么多重共线性不是“错误”,而是数据在说话你刚跑完一个线性回归模型,R高达0.92,F检验p值小于0.001,一切看起来都很漂亮——直到你扫了一眼系数表:某个自变量的系数是3.7,标准误…

2026/7/5 3:02:54 阅读更多 →
云原生技术28-K8s排障实战:20个常见问题的快速定位与解决,从CrashLoopBackOff到Running的完整指南

云原生技术28-K8s排障实战:20个常见问题的快速定位与解决,从CrashLoopBackOff到Running的完整指南

1、AI程序员系列文章 2、AI面试系列文章 3、AI编程系列文章 目录 排障思维:从"盲人摸象"到"精准定位" 2.1 自上而下 vs 自下而上 2.2 假设验证法 2.3 二分法定位 Pod问题:四大金刚的"病历本" 3.1 CrashLoopBackOff&…

2026/7/5 3:00:53 阅读更多 →
Codex 实战:AI 编程助手接入真实项目,用真实案例讲清边界

Codex 实战:AI 编程助手接入真实项目,用真实案例讲清边界

聊《Codex 实战:AI 编程助手接入真实项目,用真实案例讲清边界》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要这篇面向想用 AI 提升研发效率的开发者和技术负责人,但不会把“…

2026/7/5 3:00:53 阅读更多 →
功能测试中的“精准打击“:避免大而全的实用策略 (2)

功能测试中的“精准打击“:避免大而全的实用策略 (2)

一、核心认知前提 等价类、边界值、场景法是标准合规的用例设计方法,合理抽样≠无差别穷举。 过度细测的本质不是用例方法用错,而是两个无效叠加行为: 在必要边界样本外,额外枚举大量逻辑完全一致的重复数据; 每一条…

2026/7/5 2:58:53 阅读更多 →
76_Python数据分析pandas入门

76_Python数据分析pandas入门

Python数据分析基石:pandas入门指南 文章目录Python数据分析基石:pandas入门指南前言一、安装与核心数据结构二、读取各种格式的数据三、数据筛选与索引四、排序与聚合五、数据修改与新增列六、实战:销售数据分析✅ 亮点总结适用场景扩展方向…

2026/7/5 2:58:53 阅读更多 →
绝了!原来论文还能这样拿高分?2026降AI率工具推荐合集

绝了!原来论文还能这样拿高分?2026降AI率工具推荐合集

还在为论文查重高、AI痕迹明显、格式乱七八糟焦虑?2026 年的论文降AIGC工具已经全面升级,从选题构思到内容润色、从降重处理到去除AI痕迹、再到专业格式排版,全流程智能辅助,帮你把写作压力降到最低,轻松拿下高分论文&…

2026/7/5 2:56:52 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻