粉丝114获赞367


最近我也是看到了关于 deepsea 的 一个 bug, 这里我是想试试看。这里直接到 deepsea 在 快速模式开启深度思考,然后把智能搜索关掉。可以看到我并没有提问 这些思考的内容,可能是其他用户所提出来的问题。不过现在了这个 bug 都还在,还好这个 bug 没有太大影响。评论区留下你们的截图。

deepseek 出现重大 bug, 在 快速模式下输入 sink 标签,它会回答一些莫名其妙的问题,并且在我们的聊天上下文中,它看不到 sink 标签,而是一个具体的问题,这是什么情况?



做测试最怕什么?不是你找不到 bug, 是 你找到了把这日期截图发给开发,开发回你一句,这个不是我的问题,你找后端看看,你去找后端,后端说这个日期我看不懂,你让前端给我复现一下步骤,你再去找前端,前端说这是服务端反馈的异常,跟我没关系。你一个人被这 两个开发来回一直在那里啊,几百行,但是你不知道该给谁看,也不知道到底哪一行出了问题,这就是我们今天要给你看的啊,这是一个真实的一个订单系统的一个日期报错, 两百三十四行,我把它给导出来了。正常的业务日记,里面夹杂着一些比如说报错或者一些异常的一些信息,你如果不会分析,你就只能被踢皮球啊。 所以呢,我用 ai 十秒告诉你谁的问题,哪一行代码怎么修,一步到位。首先大家拿到一个报错的日期之后,很多同学第一步就错了,直接在比如说拆了 gpt 里面去输入,帮我看看这段日期有什么问题,那 ai 会给你回一堆啊,可能是空纸,真建议检查配置,关注数据库连接等等啊,全是这种正确的废话,你还是不知道这个 bug 到底归谁。 那我总结一套四步排查的 s o p 啊,让你带着这个证据去找开发,而不是被踢来踢去。这一份就是刚才的那个日制两百多行,你看前面,呃,怎么创建单支付,毁掉库存扣减好像都是正常的,看着一点毛病都没有,但是它的后面有一个 old time out check job 的 这个定时任务,每次执行到最后都炸了 啊,然后这边可以看到一些锁影乐键,好,那现在我把日制直接丢给 ai, 关键的操作来了,你们未来的这个日制可能比我这个还要复杂,我把这些编程了一个 skill 啊,我直接只要问他,请帮我分一下这个报错日制,大家可以看到 ai 按照我的这个要求一步步的去完成他的一个工作, 首先检查错误类型,完整的对战,对吧?然后看一下出发条件和频率,然后定位到,然后又定位到具体的代码文件行号,再一个就是再做一个呃, 根源因果的推断啊,最后就是给出修复建议以及列出具体一个方案,最后再是生成这个 g r 的 报告,当然他这边是因为,呃,我的这个 ai 是 直接可以打通我们的代码仓库的,所以呢,他可以轻松的读取到我们的代码,所以呢,这点也是有区别的,我们可以看到他这个给出一个结果啊,直接告诉你在对应的代码八十九行, 然后更也可以标清清楚楚了啊。循环取这个 old start 历史的时候,但是循环从一跑到三,为什么啊?代码用的是这个愣字啊,那就是原始的速度,长度是四,但是去除之后历史只有三个元素啊,一跑就炸啊。这边给出了一个修复建议啊,我们就不细看这些了啊, 来到这一步的话,你其实已经不是在被踢皮球的那个了,你已经拿到证据了,具体的是哪个文件,哪行?什么原因对吧?开发是没有办法推的啊,更爽的在后面啊,它可以直接帮你去生成这个 g 拉的一个啊。 tik 的 一行,什么原因对吧?开发是没有办法推的啊,当然这个前提可能是你们需要。 呃,接入到这个你们公司自己的这个宣信管理平台啊,以前你发日记截图等开发回,开发回一个不是我的问题,现在你直接把证据甩他脸上,附上这种音频分析好,开发点开一看文件行号原因,怎么修都写得清清楚楚,他只能修对吧? 这套 sop 每次 bug 排查都能够去用啊,你也不再是一个传话筒,你是那个能够定位问题的人了。所以当你还在被开发推来推去的时候,会分析日记的测试已经把这个 bug 单甩人家脸上了啊。 这也不是什么未来趋势,这个就是现在可以做到的。但是有个前提,不是有 ai 就 行,是你得有方法论,结构化提问、证据链推断、人机验证,缺一个你都还是不能很,这个东西还是不能很好的跑跑起来啊。所以你有没有被开发推来推去踢皮球的经历呢?最离谱的一次是什么情况?我们评论区聊聊。

在这个视频中,我们先来看看这个日常安排。一个我们称之为 superpowers 技能,它可以帮助我们的 ai 代理减少犯错。通过强制它遵循这个结构化工作流程,我将在本视频中为你演示。最重要的是,在这个视频中,我还将涵概为什么我们应该使用 superpowers, 它与传统规范驱动开发有什么不同, 以及它的核心要素。在视频的后半部分,我还会展示如何在一个名为 book zero ai 的 生产级应用上使用它来构建功能。正如你在这里看到的,我成功使用了这个框架,在我们现有的应用程序之上构建了一个功能,可以 监听已连接的 google drive 文件夹中发生的任何新变更。所以,以上就是本视频要介绍的内容,教你如何使用这个代理框架 来提高我们编程代理的准确率。说到准确率,我目前正在制作一个视频,讲解如何让我们的 ai 代理达到百分之百的准确率。所以,如果你对这类内容感兴趣,请务必订阅本频道点赞这个视频。这样当新视频发布时,你就能第一时间收到通知。这将会是一个非常硬核的视频,因为我会把我所知道的所有关于如何炸 编程代理更加精准的知识都分享出来,远超传统的随意编程方式。所以一定要订阅本频道。这个内容很快就会上线,希望能在本周内发布。好的,如果这听起来让你感兴趣,那我们正式开始吧。在正式开始之前,先为新朋友做个简单介绍。我叫 eric, 曾在亚马逊 a w s 和微软担任高级软件工程师多年, 我创建这个频道是为了分享我从 ai 编程到自动化 y m 三职业发展等方面学到的所有知识和经验, 全部拆写成实用的教程,让你可以真正跟着操作。当然,我们还有一个社区学校,你可以获取所有资源、模板以及社区支持。所以,如果你想提升自己,请务必关注我的 youtube 频道,并点击订阅按钮。现在让我们回到正题,你可能会想,既然我们已经有了像 g s b, speckit、 b m f 方法等等这么多工具, 为什么还要用 superpowers 呢?原因其实很简单,是的, superpowers 确实拥有和 gsd 一 样的能力,可以将不同的任务分配给不同的子代理,这和我们 gsd 的 功能类似。但 superpowers 最大的卖点是测试驱动开发,这是一种被大型科技公司和企业广泛使用的开发框架。测试驱动开发的核心思想 就是先编辑测试用力,然后再去编辑代码。这种方法的好处在于,它能够先设定规则,明确期望的输出结果, 在动手实现之前就澄清需求。因为很多时候我们在写代码的时候,甚至连期望的结果是什么都不清楚。所以在这种情况下,先创建测试用力,然后让我们的应用程序按照自动化测试的要求来运行,接着进行代码重构, 尽量让我们的应用程序和代码库更加整洁,更具可扩展性,然后循环这个过程,直到没有需要重构的地方为止。这正是 superpowers 区别于 其他规范驱动开发框架的关键所在。除此之外, superpowers 整个工作流程也非常独特。当然,如果你想了解其他规范驱动开发框架的开发工作流程,可以查看这个播放列表,我在本频道评测过的所有规范驱动开发框架都是你在这个播放列表里了,里面包含了各种框架的评测。 现在回到 superpowers 话题,来看看它的开发工作流程。这里展示的是 superpowers 框架的完整开发工作流程。首先它会从头脑风暴开始,确保我们在动手实践之前已经制定好完整的计划。这和其他规范驱动开发一样。但不同的是,它会先 使用 getwork 将开发工作隔离到一个独立环境中,这样我们就可以同时进行多个实现任务,这就是 getwork 的 作用。完成头脑风暴和环境搭建后,我们就可以开始做规划了。接下来就是做规划,将计划拆分成不同的任务,然后逐一执行。最终我们会把每个任务分配给不同的子代理, 这样每个任务都有独立的上下文窗口,从而避免上下文溢出,更准确的完成任务。在最后阶段,我们还会遵循 测试驱动开发的原则,确保在逐步完成项目的过程中,所有测试都能通过。最终他会对照我们的 规范文档和测试计划审查整个代码库。然后通过创建 pull request 将 git tree 合并到主分支,这样其他的人员就可以进行代码审查。可以看到这个工作流程更加现代化,因为它使用了 work tree, 还使用不同的子代理来分配任务。同时采用测试驱动开发,确保我们的应用程序 有完善的测试覆盖,并且更具可扩展性。现在你已经了解了 superpowers 的 完整工作流程,以及如何用它来开发任何项目。那么接下来我们来看看 如何在本地机器上进行配置,以及如何使用它在我们的应用程序上构建功能。好的开始之前,我们要做的第一件事就是确保项目已经安装了 superpowers。 我们有两个选择,一是通过 cloud code 的 官方市场安装,二是通过插件市场安装。但两个选项都可以,最终效果是一样的,你只需要复制这里的任意命令即可。我选择从 cloud code 的 官方市场来安装。如你所见,我打开了一个名为不 p 的 app 项,并且用了 cloud code 规划,我直接把它粘贴到这里,它基本上就是要安装 solve powers 到这个项目中。现在如果我进入这里,你可以看到它已经完全安装好了,因为之前已经安装过了。如果我想管理它, 只需要输入 plugins, 就 可以在这里确认这个插件是否已安装。如果我切换到安装选项卡,往下滑动,你可以看到第三个就是 superpowers, 这就是我刚才安装的插件。如果我点进去,你可以看到它给出了一个描述,说明这个插件的功能。 这里是描述信息,还有我们可以使用的命令,包括代理和技能。如果我们想禁用或者卸载它,也可以直接操作好了 superpowers 所有内容都安装完成后,接下来我们要看看如何使用它。 首先我来清理一下当前的上下文,你可以看到,如果要使用它,唯一的方式就是通过斜杠命令输入 superpowers。 然后你可以看到我们执行 right plan 或者 bring to the wrong execute plan。 但问题在于, 这些命令已经被标记为弃用了,也就是说它们已经过时了,我们不应该再使用它们来操作 superpowers。 取而代之的是我们应该直接触发 superpowers 自带的技能。所以我直接使用 superpowers 的 头脑风暴技能,你可以看到它是 superpowers 的 一部分。现在我们可以利用这个头脑风暴技能来对任何想添加到项目中的内容进行头脑风暴。可以是一个新功能, 也可以是一个改进。任何你想添加到项目中的内容,都可以开始进行头脑风暴。现在我有一个应用 叫做 book zero ai, 这个应用的核心功能是为企业自动化预约流程。你可以看到其中一个功能是管理收据,用户上传大量收据,包括图片和各种文件到这个平台,我们基本上使用 ocr 技术来提取这些信息。 如果我们点进来看,可以点击查看详情。左侧可以查看收据,右侧显示我们提取到的数据。我想要添加的功能,这样用户能够重新同步他们上传的 google drive 文件夹。我们需要实现一个流程,将这些 google drive 文件夹中的新文件重新上传到收据页面 或者交易页面。举个例子,如果用户在 google drive 文件夹中上传了新的银行对账单或新的收据,我们应该能够 重新同步用户选择的文件夹,这正是我们要做的事情。为了让流程更简单,你可以看到我已经创建了一个 g 二公单,详细说明了功能的范围和具体实现方式。 比如上下文说明用户体验、决策、功能范围,整个同步流程,以及在添加功能前需要考虑的一些边界情况。接下来我们要做的就是复制这个 gero 公单的链接,回到 cloud code, 粘贴整个 gero 公单内容,调用头脑风暴技能,你可以看到它首先会理解公单的内容,然后探索现有的云导入下。接着他给我提出了一个建议, 可以在浏览器中展示模型图,这样我们在头脑风暴的过程中可以直观的看到设计效果。比如他问我的一个问题是关于同步按钮应该如何在视觉上呈现,他的做法是创建一个 html 页面, 然后给你展示一个模型图,让我们选择哪个方案。如果我切换到浏览器,打开对应的端口,你可以看到它提供的三个选项,让我们决定这个功能应该采用哪种 u i 方向,我选择了下拉菜单按钮作为输入按钮,你可以看到就是这个选项, 我选择了方案 c, 然后它会继续问一些额外的问题。头脑风暴完成后, 你可以看到它在 dos 文件夹中创建了一个规格文档,如果打开它,这就是完整的规格说明。首先有标题和上下文说明,然后是设计决策以及完整的架构布局。用户如何使用它呢?用户点击同步已连接文件夹按钮,会显示第一阶段的文件夹列表,展示我们已经连接了哪些文件夹, 然后显示文件预览,展示即将导入的文件,无论是收据还是对账单,然后我们关闭它。接下来激活任务进度提醒。这些是我们需要创建的 api 路由,这是查询参数, 这些是 api 路由。然后还有已连接文件夹的扫描功能,以及这个功能中需要添加的新组建。这里还可以看到它发现一些边界情况以及对应的处理方案。此外还有验收标准, 审核完这些内容确认没问题后,我们就可以批准他,然后他会开始设计实现计划。你可以看到这正是我让他做的,就是过渡到实现计划阶段。现在他会把整个计划拆分成一系列任务,我们将按顺序执行 这些任务来完成整个计划。它通过触发 superpowers 的 write twin 技能来实现将规格文档转换为完整的实现计划。因此在这里你可以看到,在完成整个实现计划之后,你可以看到我们可以在到此文件夹中找到他,如果我打开他的话, 这就是整个实现计划的样子。你可以看到这里有任务一,在整个实现计划中,我给出了具体的修改内容和操作步骤,所以你可以看到这是我们要添加的测试文件,同时这也是我们要添加的实现代码, 对吧?所以你可以看到这是一个大任。任务一是将这个功能添加到 google drive 设备中,你可以看到每个任务都被拆分成了不同的步骤。对于每个步骤,我们都有一个副旋框,明确标注了要做什么, 对吧?所以在执行之前,我们可以先审阅一验,比如先运行测试来验证他会失败。这里的预期就是测试应该失败,然后我们再去实现他接着在运行测试来验证是否通过,对吧?所以我会先写测试,再写直接代码。你可以看到在测试完成后,他还会逐步提交代码变更,所以我们可以进一步审阅所有步骤。审阅完之后, 如果要开始实施,我们有两种选择。你可以看到整个实现计划被拆分成了十一个任务,我们可以用两种方式来执行,第一种是通过自代理模式来执行,每个任务会开发一个全新的自代理,任务,之间可以省略,实现快速迭代。第二种是内联执行模式,也就是并行执行, 意味着他会在当前会话中按照执行计划来处理证,批量执行,并设置检查点。在这个例子中,我选择推荐方案,因为每个任务都会触发一个子代理,每个任务都有独立的上下文窗口,这样我们就能在任务之间快速省略迭代,准确了解发生了什么。所以这次我选择方案一,使用子代理驱动的方式,你可以看到他在询问我们要在项目级别创建工作数还是在全区位置创建。 这里我选择项目级别,选择第一个选项,他会在当前项目中创建工作树。接下来你可以看到他会触发不同的代码来执行这些任务了。这里可以看到任务一已经全部完成,目前正在开始处理任务二,当所有十一个任务都完成后,他会开始进行最终的代码审查,审查整个实现过程。 你可以看到他会调用 superpowers 代码审查技能来做全面的实现审查,他已经完成一些审查,发现了一些关键和重要的问题,然后会对这些问题进行修复, 比如即使积分的问题,确认选择的问题,以及多文件夹任务中原数据的误导性数据问题。然后他会派他一个修复代理来修复这两个代码审查中发现的问题。你可以清楚看到,不管是这些功能还是修复问题,他都会把工作伪太给死代理来完成,完成后,你可以看到这是工作中的执行材料,这里包含了构建结果验证信息,以及代码审查后留下的审查备注。 在提交病合并到主分支之前,我先做一个手动报源测试。现在如果要测试这个功能,我已经导航到了收据页面,你可以看到这里有很多通过 google drive 文件夹上传的收据。我只需点击右边的三个点,点击同步已连接的文件夹,你可以看到这是已连接的整个文件夹,里面包含了所有收据。如果我点击同步单个文件夹,你可以看到什么都没有, 所有文件夹都显示已是最新状态,因为我没有做任何修改,也没有添加新文件。为了测试这个功能,我已经打开了 google drive, 我 选中这些文件, 然后把它们添加到 google drive 文件夹中。文件用到 google drive 文件夹后,现在我回到 bugger ai 应用程序,再次点击三个点同步已连接的文件夹,点击同步单个文件夹, 你可以看到这些文件都被检测到了,可以从 google drive 文件夹进行同步。现在我点击导入六个文件,你可以看到所有六个文件都成功导入到数据页面功能验证通过,在我们的 ai 代理中完全正常运行。好了,以上就是本次演示的全部内容来让你的 ai 代理更加准确,如果你喜欢这个视频, 请务必点赞,当然也请订阅本频道,因为很快会发布关于如何提升 ai 概念变成准确率的更多内容,本周就会上线。如果你想查看我在这个频道做过的所有敏捷开发放假内容,请务必查看这个播放列表我们频道上的敏捷开发系列。好了,以上就是本期的全部内容,如果你喜欢这个视频,请务必点赞, 考虑订阅一下。那么我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。 好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。 好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。 好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。 好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。 好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。好了,我们下期再见。

什么?什么? deep sec 居然出现了新型 bug, 严重可能会泄露用户数据,这到底是道德的沦丧还是人性的扭曲?那为什么会引发这个 bug 呢?这边我查询到了以下几点, 一、用户输入 think 后,模型可能输出它内部的推理过程,这些内容本不该让用户看到。二、这说明模型无法可靠区分内部思考和最终回答,存在输出失控的风险。三、 如果推理过程中包含了模型对你输入内容的原始分析,比如用户可能在试探,那就相当于把模型对你的分析草稿暴露给了你,这本身就是一种信息边界失控。还有,趁这个 bug 还没修复,赶紧去看看吧。

bug 截图一发,开发秒回,所以呢?秒挂了?一个做了三年的测试,天天提 bug, 却只会描述现象。我一问细节,好家伙,出了问题,只会甩截图,不会查日记,不会抓包,不会看接口,完全不会定位。问题根源, 我问他线上或测试环境出现功能异常,数据不对,页面报错,你是怎么一步步定位 bug 原因的?怎么区分?是前端问题,接口问题还是数据库问题?他想都没想,直接截图提 bug, 让开发自己查 bug 是 这么定位的, 只提现象,不给依据,沟通效率极低,分不清前后端,不会抓包,看请求响应,不会查日期,开发来回甩锅,迭代效率直接拉垮。 如果这道题你也没把握打好,我整理了让大厂测试总监沉默的必考题库,包含测试理论功能测试自动化测试接口测试性能测试数据库等等。甩个六六六,直接打包带走。想要快速精准定位 bug, 牢牢抓住四个维度听好了。 第一为抓包排查, fiddler charles 抓包看请求参数响应数据核对入参是否正确,接口返回是否异常,快速区分是前端传参错误还是后端接口逻辑问题。 第二为日制排查,查看服务端日制,前端控制台,日制看报错,堆站异常信息, coco 执行记录定位空指针, coco 异常参数校验失败等后端问题。 第三为环境数据排查,核对,测试环境数据库数据检查脏,数据缓存问题,权限配置定时任务判断是数据问题,配置问题还是环境问题。第四为复现跟对比,排查复现 bug 步骤,对比正常场景, 更换账号、浏览器机型网络复现边界场景对比不同环境结果区分偶线 bug、 避线 bug, 缩小问题范围。所以这道题考察的是你从只会提 bug 到会分析问题的跨越。不是你会不会发现 bug, 而是能不能精准定位,提供有效依据,减少沟通成本。优秀测试不仅能找 bug, 更能快速定位根音。最后,你平时定位 bug 最常用的工具是什么?遇到过最难定位的 bug 是 什么?