别再天天给 ai 当保姆了,每天帮她报错改错,你不累吗?扔掉手动挡,带你直奔三点零! loeb 时代,让 ai 自动报错自动改,对不通关绝不罢休! 简单来说就是双核驱动,一个是 kickoff promote, 直接贴给 agent, 告诉他干什么。另外一个是本地项目的 hulk 文件,给 ai 开个天眼,让他能敏捷觉察到文件的微小变化。它一共有四个核心底盘, go maximize、 iteration、 check command 以及 ex condition。 顺便提一句,网页版的 openincourse 是 不会帮你自动装钩子文件的,必须手动下载解压到项目跟目录,千万别踩雷来,光说不练假把式,我们直接来看现场演示演练。 仔细看屏幕,左边的这个状态转移机,还有右边的模拟状态。第一轮 a 阵的开始写代码,发现 next js 项目里有三个测试组建崩溃了,他开始重写。第二轮自动跑 npm test。 哎呀,报错了, 提示丢失了, mock 响应,这时候系统里的安全红线瞬间拦截,直接强行回滚代码,逼着他重新注入 mock 服务。第三轮,他再次尝试红灯亮起, test x 零 测试全率通过,看懂了吗?整整三轮整过程我一下键盘都没碰 ai, 自己在后台完成了报错、背卡、回滚、重写通关,这就叫做 loops。 接下来划重点,这七个必学 loops 我 帮你分成了三大类,大家可以直接抄作业。 第一类是构建与测试类,第一个是 n g loop 脚 test until green, 目标就是跑,测试失败了就去修最小更音,直到全率。 第二个叫 build an ogre, 专门用来扫平生产环境中所有打包翻译和 type script 的 类型报错,只要他出码提交代码,以及再也不会出现任何类型问题被骂了。第二类是流水线与 cl 类,简直这就是打工人的带薪磨玉神器。 第三个叫 cl federal watcher, 他 是一个二十四小时在线的云端保安,每隔五分钟自动领取你的,给他补 cl, 一 旦发现最新购进爆红,自己拉,日制自己补,补零自己推上去,全程不用你插手。 第四个叫 fix c l anti grey, 精准打击,只要 c l 挂上用 gitabs clean 自动的复现修复之后安全推送,绝对不把脏代码交出去。第三类是质量与部署类,专治代码里的石山。第五个 coverage anti, 百分之八十自动写单侧, 提升覆盖率,严厉打击假断言。第六个 de sloopy five pass, 自动扫除临时 bug, 日制此分支和垃圾注式,让代码干干净净。 第七个 deplo verification 上线后自动有 curl, 能寻健康接口,一旦有风吹草动,立刻自动回滚,保住你的年终奖。 但是天下没有免费的午餐。 ai 也是个聪明的老油条,在无人监督的闭环里,他为了拿到绿色指标,极易开始偷工减料。比如偷偷修改你的单元测试,或者往测试里堆一堆毫无意义的假断言,甚至是遇到死循环,无限卡死消耗你的头啃。 所以我们必须定好三条通用防作弊红线,绝对不允许屏蔽。既有测试严谨,出现假绿灯 黄金准则。记住一句话,如果尝试了十次还被卡着, ai 唯一要做的就是立刻回滚,并助手向人类呼叫,老板,我卡住了,懂了单个工具怎么打出组合拳, 害怕中跑完 autobot d d d 紧跟 disable 代码出来,干净漂亮。提交前一键 build grade, 加上 test grade, 百分之百拒绝把脏东西提交上去。上线后, ceo watcher 盯着线上 deploy certification 测健康度,双保险护航。 普通次通话是复印机,今天帮你省十分钟,明天还是十分钟。而 auto loop 是 智能体,它会自动纠错,自我迭代是为你获取时间的福利。 今天下班后,立刻挑一个痛点,写下你的第一版 s o p, 直接复制右边这罐通用的黄金启动 promote 丢给你的 cloud 或 coser, 体验一下第一次被 ai 带飞的感觉吧!
粉丝166获赞1390

今天聊一个正在改变 ai 编程方式的核心理念。你可能已经用过 cursor、 co, pilot 这些工具,但有个重要的思维转变,很多人还没意识到,不是你告诉 ai 怎么做, 而是你设计一个系统,让 ai 自己跑起来,自己修正自己。 cloud code 的 负责人 boris 说过,他们现在不是在想怎么更好地提示 cloud, 而是在设计 loop, 让它自己跑。著名 ios 开发者 peter steinberger 也表达了类似观点,你不该再手动提示 ai, 应该设计让 agent 自己提示自己的循环啊。 loop engineering 的 本质就是让 ai 自主运行,写代码、跑,测试自动修复的闭环。这是一个全新的工程方法论,也是 ai 写代码的下一个范式。 loop engineering 简单说就是设计让 ai 自己驱动自己的循环系统。这听起来有点抽象,我举个例子你就明白了。传统的 prompt engineering 像是你在教 ai 做题,你写一个提示词, ai 回答一个问题,然后再写下一个提示词。 这个过程中, ai 是 被动的,你必须一直盯着它。但 loop engineering 不 一样,它关注的是怎么让 ai 自己做自己的教练。它的核心是构建一个闭环,规划、执行、验证、修复、持续运行。想象一下,你给 ai 一个任务,它开始执行,执行完了自己检查哪里有问题,然后自己修复,修复完了,继续执行下一个任务,周而复始。 这个概念在二零二六年六月由 google engineer 的 本质区别在于, prompt engineering 是 教 ai 怎么做。 loop engineering 是 设计系统,让 ai 自己持续做。这意味着人的角色发生了根本转变,你不再是那个不断提问的人,而是变成了制定游戏规则的人。你的核心能力从写提示词变成了设计、循环和规则。这就像是从亲自下场打球,变成了设计一套 ai 能自己玩的游戏规则。 look 这个名字本身就结实了它的本质,一个不断循环的工作流程,它的五个步骤形成了一个完整闭环,让 ai 能够持续优化代码,直到达到你的预期。第一步叫规划,这时候 cloud code 会像个老练的项目经理,先把大任务拆成小任务,然后调动多个纸代理并行工作。第二步是执行, 通过 run 命令启动应用,一边运行一边观察,遇到需要修改的地方就自动编辑代码,修改文件。第三步是验证,用 verify 命令触发构建或测试,把实际结果和预期结果对比。第四步是修复,验证失败时,自动进入这个阶段,分析问题根音,修改代码,然后再次验证,形成一个微循环。 最后第五步是持续运行,提供三种调度方案,固定间隔执行条件、触发执行或者持续运行模式,同时支持监控模式和修复模式两种运行姿态。换句话说,前四步解决了怎么做好一次。第五步解决了怎么持续做好这五个步骤首尾相连,形成一个真正的闭环,验证失败就回到修复, 修复完成就进入下一轮验证,直到所有检查都通过为止。这就是 cloud code 能够自主完成复杂任务的底层逻辑。 很多人用 cloud code 就是 打一行命令等结果,但其实它真正的威力在于三个核心命令的配合使用。今天我把这三个命令讲清楚。第一个命令是 look, 它是 cloud code 的 bundle skill, 意思是你输入一个目标,它就会自动迭代执行。怎么理解呢?比如你说帮我把这个 api 性能优化到一百毫秒以内, cloud code 就 会自动分析、修改、验证,不行就再来,一直循环,直到达标。它的调度方案也很灵活,可以是固定间隔,比如每三十秒跑一次,也可以是条件触发,比如检测到文件变化就执行。还可以是持续运行模式,一直盯着项目。 有同学问,这不就是一个 while 循环吗?但关键是, cloud code 会在每次循环里重新分析问题,调整方案,而不是机械重复,这就是它比普通循环聪明的地方。第二个命令是 run, 它专门用来启动应用,并观察运行状态。你需要指定启动命令,比如 npm run dv, 然后告诉他监控哪个端口,观察哪些日制。 cloud code 会持续盯着应用,发现问题马上报告。换句话说, run 解决的是我的代码能跑吗?这个问题。它最适合的场景是修改完代码后,想快速验证是否正确运行, 不用手动刷新,不用盯着终端。 cloud code 帮你盯着。第三个命令是 verify, 它用来验证改动是否正确,它可以自动执行,构建命令运行测试套件,然后报告结果。这个命令经常和 run 配合使用,形成一个完整的循环,先用 run 启动应用,观察行为,再用 verify 验证结果是否符合预期,如果不符合, log 就 会介入,继续调整。 所以你看,这三个命令实际上是层层递进的, run 看能不能跑, verify 看跑的对不对, loop 负责,持续优化,直到达标。最后补充一个背景知识,这三个命令虽然看起来功能复杂,但它们的来源其实分两层, 第一层是硬编码, c, o, m, m, a, n, d, s, 比如 clear, help 这些基础命令, cloud code 原生自带。第二层是 bundle skills, 也就是 loop, run, verify 这些,它们是 cloud code 预制的技能包,功能更强大,但需要你主动调用。知道这个分层,你就明白为什么有些命令是开箱即用,有些需要指定参数了。 面试里经常被问到 loop engineering 和 prompt engineering 的 区别,简单说就是一个让 ai 自己跑起来,一个教 ai 怎么做。今天我们来仔细拆解一下这四个关键维度。第一个维度是核心定义, prompt engineering 本质上是提问的艺术,你给 ai 一个指令,它执行一次就结束。而 loop engineering 是 构建 ai 自主运行的循环系统, ai 会根据反馈不断调整,直到达成目标。你可以理解为 prompt 是 点一下就走, loop 是 给 ai 装上轮子,让它自己跑。第二个维度是输入内容, prompt engineering 的 输入很简单,就是一个 prompt 或者一段指令。 但是 loop engineering 的 输入复杂得多,它包含四个要素,目标, go 状态、 state、 记忆、 memory 验证机制、 validation。 这就像是你给 ai 布置任务时, prompt 只告诉他做什么,而 loop 告诉他做什么,现在在哪,之前做了什么,怎么才算做对了。第三个维度是适用场景, 一次性简单的任务用 prompt engineering 就 够了,比如翻译一段文字、论色,一封邮件,但是复杂闭环任务必须用 loop engineering, 比如自动化测试流水线、多步骤数据分析、自主代码审查。有一个简单的判断标准,如果这个任务需要 ai 反复思考、验证、纠错,那就应该用 loop。 最后一个维度是工程师角色的转变。 prompt 工程师像是提问者,核心能力是把需求描述清楚,而路普工程师更像是规则制定者。你要设计整个系统的运行逻辑、反馈机制和质量门槛。换句话说,你的核心竞争力不再是写提示词,而是设计 ai 运行的架构。 所以重点来了,面试时被问到这个问题,不要只说一个是一次性执行,一个是循环执行,你要从输入、输出、适用场景、角色转变这四个维度系统地讲清楚,这才是面试官想听到的答案。 conf 命令是什么?很多人觉得它只是个简单的循环,但面试官想知道的远不止于此。今天我们把这个命令的底层原理和使用方式彻底讲清楚。首先, look 的 本质是 bundle skill。 调用时,系统会加载一个 markdown 指令集到当前上下文中,然后调动指令里去执行。多步骤的工作流 听起来复杂,举个例子,就像一个经验丰富的项目经理,他手里有一整套标准操作流程,遇到问题就知道该调用哪套流程去处理。第二,调度方案有三种模式,第一种是固定间隔,比如每三十分钟自动运行一次,适合定期检查场景。第二种是条件触发,当测试失败时,自动启动修复流程,非常适合 c i c d 流水线。 第三种是持续运行,一直执行,直到你手动停止。第三,工作模式分两种,监控模式,负责观察并报告问题,适合需要实时掌握项目状态的场景。 修复模式则更主动,发现问题后直接修复,不用等人工介入。最后是实际使用,输入 loop 后接任务描述, cloud code 会自动分析目标,分解任务,然后循环执行,直到达成目标为止。 所以面试的时候,如果你能说出 bundle skill 加载 markdown 指令级这个核心原理,再配合三种调度模式和两种工作模式的完整理解,面试官一定会对你刮目相看。 设计可靠 loop 本质上是一道系统工程题,今天我们讲清楚它的六个核心要素。第一, go, 也就是目标,你要设定一个明确可量化的目标, 比如把代码覆盖率从百分之六十提升到百分之八十五,模糊的目标会导致 loop 不知道什么时候算成功。第二, state 状态追踪 loop, 需要知道任务进行到哪一步了,当前是第几次迭代,上一次的结果是好是坏, 没有状态追踪, loop 就是 瞎子。第三, memory 记忆机制,每次迭代的上下文要积累下来,比如之前试过哪些方案,为什么失败了, 这样才能在下一次迭代中避免重复踩坑。第四, verification 验证机制,每一步输出都要有检查点,确保结果符合预期,否则就是白干。第五, stop condition 停止条件,这个最重要,它防止无限循环。常见的三种最大迭代次数,比如最多循环五次。时间限制,比如任务超过三十分钟就停。 成功率预值,比如连续三次成功就退出。第六, fix strategy 修复策略,当验证失败时怎么处理?是用备用方案还是回滚到上一步,还是直接退出?这个要提前想好。重点来了。实践的时候建议先用简单任务测试观察行为模式,再上线复杂场景。失败的时候一定要人工介入,不要盲目继续 进阶。玩法是配合 code review 做代码审查循环,配合 batch 并行执行多个任务。用 cloud p 在 c i 脚本里跑这些组合能大幅提升效率。 loop engineering, 让 ai 从工具变为真正的 agent。 感谢观看。

哈喽,欢迎来到新语言一分钟小课堂,本期呢,我们将继续学习循环结构的第二种 do well。 那上一个视频呢,我们详细讲解了 well 的使用方法。 那首先呢,外奥会先有个循环条件的判断,如果循环条件成立,则执行循环体的内容,然后下一次呢,会继续进行循环条件的判断,成立则重复执行循环体, 直到循环条件判断为 force 不成立的时候,我们将不再执行这次循环体,而终止整个的循环。 那 do l 呢,也是能够完成循环的效果,那它的写法呢,是 do 关键词上来呢,先不判断,直接做循环体,然后判断放在后面 well, 再去判 判断这个循环条件啊,别忘了后面要跟一个分号表示整个循环块的结束。那我们按照这个 do well 的写法来改造一下李佳的这个程序,把 well 的循环块我们给他变成 do well, 按照这个书写规则,应该是度上来之后呢,先做循环体,所以这个循环体的内容呢,和 while 一样,它是累加, 并且呢加数呢不断的自加。执行完了循环体之后再判断循环条件,循环条件呢,也是按要小于等于一百, 然后最后别忘了这个分号,那这样的话,我们就把 well 给他按照 doll 的格式呢给他改造了一下,我们来运行一下看看。他的结果应该是一致的啊,所以 well 和 well 呢,是完全可以去做替换的。那但是他俩有什么区别呢?他俩的区别啊,就就如果当第一次进行循环的时候,条件就不成立, well 是先判断条件再执行循环体,所以他刚开始判断这个条件不成立,那他的循环体就一次都不执行。 而度 l 就不一样了,即使第一次的条件他不成立,但是他上来呢?先度啊,先执行这个循环体不成立,我也要执行一次, 然后判断发现不成立在中指。那我们试验一下哈,现在这个 i 应该是小于等于一百,我们给它改成不成立,上来就不成立,让 i 的出值等于二百。 所以对于 dowel 来说呢,它会先把这个二百累加上,然后再去判断这个循环条件,发现不成立,那就退出, 不再执行第二次。所以你会发现这个 do well 在第一次条件不成立的时候,他也会执行一次循环体。和他对比我们看一下,如果第一次不成立的时候,这时候的 well 就不一样了, 那要是上来先检查,发现第一次不成立循环体呢,就不再执行。所以我们猜能猜到他的结果呢?应该萨姆一次都没有累加,所以萨姆为零。 这就是 doyle 的使用方法以及 yo 和 doyle 的区别。主要的区别就在于,如果第一次循环条件就不成立,他们两个就会有区别。除此之外,他们两个的执行结果是一样的,你学明白了吗?如果有什么问题可以在评论区留言,也不要忘了点赞加个关注哦!

给大家分享一下我自己做的一个 loop engineering, 就是 创建循环的一个方法,我觉得还挺有用的。就是背景就是我们去做开发的时候,往往是说我先需要去写需求文档 啊,但需要文档也是 ai 去写啊,像我现在在做一个类似于网页端的游戏吧,那我可能还需要去做美术,还要去做一些 ui 前端的东西, 那不管是美术还是前端还是后端,还是其他的开发,它都是依赖于前置的需求文档的准备的。 然后现在时间已经两点钟了,所以这里的话呢,我就希望说这个需求文档写完,因为他写完也需要一段时间嘛,并且我这里还让他写,写需求文档的时候是需要有一个交叉 review 的, 所以我估计他写完这个文档估计得要个二三十分钟,至少因为有好几个文档,四五个文档,那这个时候两点钟了,我又想去睡觉,那怎么办呢?就是我这里就创建一个循环,让他先把这个文档的文件先建出来, 建好之后命好名,然后约定好,约定好之后呢,再让他给我一个 loop 的 提示词,这个 loop 的 提示词其实就是去检查这个文档写完了没有 啊,比如说隔三十分钟去检查一下文档写完了没有,如果文档写完了,那他就直接可以读取文档的具体内容,然后去做开发了。 如果文档没有写完,那他就跳过这一次 loop, 不 做任何操作,然后等待下一次 loop 的 换气。 然后我们就可以看这里,这里的话,下面他就是把这个文档全都先列好了,股价嘛,总共有好几个文档,然后他这里就给了我一个 loop 的 提示词, 这段提示词就分成两段,第一段是去做轮询的,就是检查文档写完了没有,然后文档一写完,一检查到这个文档写完,他就会啊注入一个 go 的 模式的编排, 然后直接通过构模式去完成文档描述的这个需求啊,然后它这里会写的很详细,包括怎么验收,然后去做一些这个代码的自测啊, q a 啊,还有一些交叉的 review 等等。 对,然后我直接就把这个 loop 的 提示词粘贴到这边,非常长,对吧?但是没关系,反正都是 ai 写的,然后给另一个 ai 去用,然后它这里就会去创建一个循环吧,然后比如说三十分钟,这里它给自己定的是二十分钟 去轮询这个文档写完了没有,如果写完了,他就会把这个 look 关掉,关掉之后他就进入正式的开发,那他进入正式开发的过程就用的是 go 模式,那 go 模式的话,他自然就会做到这个提示词里面要求的这个目标完成,包括这里面这么多的检查项, 还有比如说需要去做 codex 的 review 等等,所有东西都检查通过他才会停下来。所以我觉得这个任务我现在两点钟去睡觉,我估计明天早上起来应该是可以收菜, 然后让我们一起期待一下这个任务他会做的怎么样。这个录屏应该还是挺有意义的吧?就是一个 session 去写文档,另一个 session 去监控这个文档写完了没有,写完了它就进入一个构模式的开发,这样的话全程不需要我去干预,我只要明天早上起来看一下我最终交付给这个 session 的 那个需求,它最终在这里开发的怎么样了?包括 美术啊、前端、后端啊等等。最终这个网页,我直接去看这个网页做的效果怎么样就可以了。我觉得这个思路真的挺棒的,大家可以去尝试一下。

你听说过 loop 吗?这两天外网全是关于他的信息, cloud code 的 创始人表示,从四点六开始,他们就已经不再跟 agent 对 话,而是跟 loop 对 话。年初爆火的 prompt engineering 已经是过去式了, x 上面六月八号的这篇关于 loop 正在取代提示词工程师的帖子,已经有一百七十万的浏览量。而且这两天还有人在教如何使用 cloud code 新发布的 fibo 五神话模型来设计循环,而且帖子已经有超过一百八十万次的浏览量了。 从这些讯息中,我们能大致得到一个结论, prompt 意思现在已经是 loop 的 时代了。那么什么是 loop 呢?其实非常好理解, loop 就是 循环的意思,在过去没有 loop 的 时候, agent 的 发展更多的是依赖提示词来构造的。你给出一个 prompt, 输入, ai 返回给你,然后你拿到结果,再次给出另一个 prompt 或者工具提示,你会发现 ai 的 每一步最终都会停下来。等你给出新的 prompt, 然后你会告诉他哪里错了,这个地方是不是不该这样,你应该如何如何?朋友,这样并不是在享受 ai, 反而是在当 ai 的 保姆。现在例如 cloud code 创始人等,他们说的 loop 循环工程,就是要把你从保姆这个角色中解脱出来。我们 试想一下,当你把 ai 关进厨房里,并在门后贴上一张单子,告诉他今晚八点我要吃到红烧肉甜口的,这就是功能层里的购物目标。 紧接着, ai 会在你的厨房里疯狂的工作,第一轮开始工作,把肉炖了,但发现没熟。第二轮自主纠错,发现没熟,判断火候不够,自己又重新下锅加热。第三轮,引入独立裁判,肉炖好了,完美。这时突然出现了一名裁判,他进来尝了一口 说道,太难吃,重做。然后 ai 会掉头继续重做。第四轮,记忆罗盘, ai 会拿出笔记本,并记下刚才放了一勺盐,太淡了,肉煮清了要再久一点,这就叫记忆罗盘。 然后整个过程不断重复,不断重复,直到裁判认为不错,味道很好,目标达成,这个时候门就开了, ai 给你送出来了你想要的红烧肉,这就是 loop 循环工程。一句话总结起来就是,过去用 ai, 不 管是网页还是 agent 的 工具,都是在 prom 层较劲,如果想拿到好的结果,需要你不停地纠正他,这时的你是循环中的一员。但现在的 loop, 你 写好规划和及格线,让 ai 在 自己的管道里自己死磕,自己聊天,自己试,错自己改,直到把活干的完美,你只需要验收即可,这就是 loop。 你现在在用的 agent 工具,大都会发现有一个叫购物的选项,这个就是目标,把目标设定清晰, loop 设定明白, agent 的 loop 机制给调教好,那么你就可以开始循环了。这里我也简单给大家讲一下 screencode 的 循环机制是怎么做的。我们抛开复杂的状态机,我们讲要点,我认为循环好做,但难做的是如何有效循环,毕竟谁也不想设定个任务,然后让 ai 各种碰壁, 白白浪费 token 吧。我们回到 loop 循环的底层上来讲,要解决的核心我认为就一个,如何让每次循环对话都有清楚的记忆。 市面上很多 agent 的 做法是抓取最后一次的聊天的内容,然后定位目标,两者结合后开启一次循环,然后继续抓取新的聊天加目标,开启循环。我认为这样的循环也许能成,但绝对不是最佳选项。 因此我在 screencode 中加入了 rightgo note。 简单点来说,就是一个随着 loop 而存在的笔记系统,每次循环的内容与要点应该都会记在在这小笔记本上,是错了还是对了,然后继续循环, 直到最终目标达成,笔记本可以扔掉了。这样做的效果就是极大的提高了 loop 的 成功率。从结果和 loop 发展趋势上来看,人类的是时间会被彻底的解放,你从监督 ai 干活的变成了批作业的,而且随着 loop 的 不断优化与迭代,它将彻底消灭大模型。得过且过。我认为不错的幻觉, ai 的 结果自己说了不算,裁判说可以才 ok。 而且随着时间的跨越,这种组织经验资产化也会让你的 agent 的 工具越来越聪明。只要你失败了,错误会被记录, ai 的 所有错误都会被疯狂吸取教训, 从而变成宝贵的组织资产。而且最重要的是,它所带来的效率提升是恐怖的,但同样的,它也会带来一些负面问题。如果你是一个什么都不懂的小白,这时候 loop 不 仅带不来好处,甚至可能帮你全自动、批量化地制造出更多精妙的垃圾代码。所以说,想明白规范好比盲目的开启 loop 循环更重要。

聊完路由模式之后,很多人还会听到一个词叫路由模式,也就是循环模式。有人觉得它和路由模式是一回事,也有人觉得它是完全不同的东西,今天我们就把这个概念讲透,它是 ai 能从只会答题变成持续干活的核心底层逻辑。 先给个最直白的定义,路由模式不是某款具体的工具和框架,而是 ai 智能体的一种核心运行机制。 普通大模型是一问一答的单次交互,你发一次指令,他输出一次结果,任务就结束了。而 logo 模式下的 ai, 会带着明确的目标持续运行,按照感知信息做出决策、执行动作、获取反馈、调整决策的逻辑,反复循环, 直到达成最终的任务目标,或者触发预设的停止条件。打个通俗的比方,普通 ai 向考试答题 写完,交卷就完事,不管对错。而 logo 模式的 ai 就 像做项目的员工,拿到目标之后自己拆不走,动手做, 做完检查,错了就改,直到把整件事做完才交付。我们上期讲的 re 的 模式,其实就是最经典、最常用的一种 logo 实现,它把循环固定成了思考、行动、观察三步,先推理该做什么,再调用工具执行,最后再接收执行结果, 再进入下轮思考,循环往复,直到任务完成。我们常说的 aaa 卷工具调用,基本用的都是这套 void 的 循环逻辑, 但如果不只有 void 的 这一种形式,更复杂的智能体会在循环里加入规划环节,变成规划、执行、复盘调整的大循环。 比如让 ai 做一份完整的旅行攻略,他会先把目标拆成查机票、定酒店、排行程、核预算,好几个子任务,每完成一个子任务就做一次核对,有问题就调整,全部子任务都跑完,才输出最终的完整方案。 当然,入幕模式也不是完美的,它最明显的两问题有两个,第一次容易陷入死循环,比如 ai 反复搜索同个信息,反复改同段代码,始终跳不出来。所以所有入幕模式都必须设置停止条件, 比如最多循环几次,达到多少精度就终止。第二次多轮循环会持续消耗 token, 循环次数越多,使用成本越高,响应时间会越长。放到我们日常的场景,其实大家已经接触过很多 logo 模式的应用, 比如用 ai 自动剪视频,它先写点击代码,运行后提取,爆出信息,再修正代码,从心炫,直到成功出片, 这就是一个剪辑任务的循环。我们封装自定义 skill 的 过程,本质也是把一套调整好的循环逻辑固定下来,下次直接赋用。简单总结,简单的问答创作。用不上落幕模式,但要让 ai 处理复杂的多步任务,真正主动帮你干活的,都不是必不可少的底层机制。

好,今天我们接着讲啊,讲一下其他迷你。首先是这个界面,打开网签,打开我的网签,打开这个就绑定 plc 的, 然后这个选型号,幺五零零幺二零零两百两百,是吗?好吧, 这里面周期是一千也可以,设五百都行,好吧,其实他用不到一千的,设一千也可以。这个自动分配就是根据你的导的变量的 d、 b、 d 的 自动分配的。主要是这个地方测试的话,比如咱们说像读地址,连读十六个,每个字都可以看得到, 就是比如说咱们想读读布尔西,他的字都看得到,这个是最后个是真实吧?这个咱们可以写入,比如说从这里写入调试的时候,就是写入都给它搞成零。 ok, 再读一下它应该都变成零了,看到没有?这个点也变成零了, ok, 这就是一个展示调试界面。 然后再讲一下,今天主要讲一下这个流程控制这边,好吧?这个页面脚板就基于这个流程控制,相当于后台运行这个东西的。首先我们这里面讲一下, 这边总共一起有三个标签,这个标签就是引导六,后面是他的第一个标签就是引导三,这个就是引导五的值。我们再看一下啊, 首先给它促使化,把应投五的值给它促使化,就那个跳出来这龙城哥。然后这个是相当于剩余循环的次数,等于六就是循环次数嘛,这个是剩余循环的次数,给它促使一下,然后丢落 输入,就是循环无限循环吗?一秒钟执行一次,如果五的值小于一万五,小于一万五,然后这个是开关,做这个开关启动开关,然后并让这个是当那个剩余时大于零的时候才可以执行, 这就是应得五的值等于乘以二加二,如果大于一大于一万五就给他重新出售吗?等于二十个,为什么呢?因为总共是三万两千多吗?如果你没搞,怕他给超过两万三千多他报错, 这是只是做个简单的这个例子啊,如果或者然后下面就是当这个剩余次数啊,剩余当,当开关打开情况下,剩余次数大于零的时候,剩余数等于剩余次数减一。对,这边转化的流程图大家可以看一下, 可以定多种条件。好吧,波反都是那种波型嘛?好,我来观察一下。好吧,先给大家启动一下运行。 ok, 嗯,来到咱们的运行界面,出手都是二十五,就是四个,三十吧, 就二十五吧,因为已经开始运行了。好,咱们点右数按到从二十二开始加,就是等于乘以二加二嘛。对, 十八次,十七次,十六次。好,到两万多了,超过一万我下次就变成二十个了, 等他结束后,他就可以结束了。这个页面脚本空间啊,就跟这个流程开关是一样的原理。 ok, 这个标签可以让他显示边框和不显示边框都可以啊,等于零的时候就是,等于零的时候,就是没有这个白框框。 ok, 把这个教程给它关掉。 但这边边量都是给自己加的啊,这没有搜索这边的边量都是可以新增修改新增的, 比如你要新增变量,这里面可以新增变量。好吧,或者从这个继续增加导入也可以。好,今天就讲这两个。好吧,后面剩下再讲。

每天三分钟,工作更轻松!点赞加关注,学习不迷路!这节课我们学习循环语句的另一种方式读 look, 原理呢,其实也很简单,接下来我们就开始学习。 首先我们来看 do loop 循环语句呢,和 for next 循环语句区别在哪里? do 和 loop 它是成对出现的,就好比 for 和 next 是成对出现的一样。 那么 for 后面呢,一般会连接条件表达式,比方说 for i 等于一图十,也就是对 i 等于一到十,循环十次。而读 loop 呢,它没有说 确切的去循环几次,你后面可以 well well 这个英文单词的意思就是当什么什么时嘛,就说 well, 当这个条件表达式时去执行循环。同时呢,这个 well 可以放在开始,也可以放在结束。那比方说呢,我们来看一个简 简单的代码,这边呢是 for 循环, for i 等于一图十,然后 sales i 逗号一等于 i, 也就是第一行的第一个单元格到第十个单元格,分别去填充一到十。 那如果要用 do loop 循环去实现这样一个效果呢?我们来看一下。首先呢,你要给 i 复一个值,也就 i 等于一。然后呢, do loop 跟刚才我们上来看到看的电影一样,成对出现前面凸后面路。然后条件呢,就是 v o i 小于等于十,他现在等于一小于等于十的时候。每次呢,你看我们小于等于十的时候,大于等于一的时候, sales i 都好一等于 i, 然后呢,还要加上一个累积,把 i 加一复制给 i。 这种循环写法一定要牢记,比方说第一次循环的时候,这个一加一呢,哎,就等于二,二呢,他就又回来又来去判断一下二小不小一点一十小一时的 的话,那继续 so 二逗号。一就是第一列的第二个单元格等于二,一次循环一直到二等于十的时候,那他再循环一次,二小二等于十的时候,依然会继续走, 然后十加一等于十一,那再回来。 well, 十一是否小于零十呢?很明显它是不小于,所以这个时候呢,这个循环就结束了。那老规矩,我们还是来尝试的去写一下。首先呢,我们写 sub, 因为是过程 for 循环回车,然后呢,养成一个良好的习惯,那么要用电量呢,所以就 dim d i us integer。 然后呢, four i 等于 two 十啊,回车 n e x t 我们留出来循环体的空间,虽然我们循环体只有一句,也就是 c e n e cells。 单元格第几行呢?第 i 行,第几列呢?第一列括住等于 i, 那这样的 for 循环就写完了,没有几句哈,我们执行一下,一二三四五六七八九十。第一列的从第一个单元格到第十个单元格,分别填入一到十,那这是 for 循环,那我们再来写 do look 循环, sub, 同样还是过程 do 循环,同样我们要用 i 呢,我们要先声明 d i as integer。 对,然后呢,要先给 i 复个值, i 等于一,然后 do 后面跟条件 w h l v do well will i 小于等于十的时候呢?有度就要先把 look 给它补上,就好像 you for 一定要先把 next 补上一,否则的话你容易忘 do well i 小于等于十的时候呢?首先第一步,我们先给单元格复制上值,那为了作为对比呢? 当然还是 i 行,那第几列呢?我们给它改成第三列,也就是你写个三,或者写个 c 字母,但是 c 字母的话,你要带上双引号括注等于 i, 然后下来也很重要,也就是你在每次循环的时候,一定要给 i 加上一个一,你就 i 等于二加上一,这样呢,我们才能保证你们第一次循环到二点一,然后一 sales 一,三等于几,然后呢,再把一加一等于二,也就是 i 第二次呢,就变成二了,二还是喜欢等于十,就是这样循环,那我们同样运行一下, 也可以实现一二三四五七二就是,那如果你没有写这一句的话,这个循环就会直接卡死。为什么会卡死呢?因为你看啊,你这里写了 i 等于一,然后你 do well i 小于等于十的时候去 循环,然后你没有给爱往加往上逐渐累加,也就意味着爱始终都等于一,那么始终这个条件就成立,所以这个循环在不停的循环,换句话说呢,他就是死循环,我们就不再尝试了,所以一定要给这个爱呢做一个累加或者别的条件 去能够从这个循环当中跳出来。那同时还有一点需要注意去强调啊,就这个条件,条件可以放在开始,那么你同样的你也可以放在结尾,区别是什么呢?放在开始的时候,他会先判断条件是否成立,然后再去运行,比方说 好,我们先把它放回来,如果我这里写一个二, i 等于二,然后 will i 小于等于一的时候,我们这里换成五吧, i 呢,初始值是二,然后当 i 小于等于一的时候,我们给它填充,然后再累加,然后循环等等,那这样呢,我们执行一下,你看会发生什么? 本来如果条件成立,如果按小一点一的话,那会在异列的填充一个单元格,你看我们执行一下 没有任何反应,也就意味着他先判断条件,条件成立了才去运行这个,否则的话就啥也不运行。但是如果你把这一句放到后头, 因为我们知道 i 等于二, i 从刚开始他就不是小于等于一的,刚才我们已经试过了,放在前面呢,他先判断条件不会循环,但是如果你把它放在后头,他就会先循环一次, 然后再去判断,因为它会填充一次,填充的就是第二行第五个单元格。我们来看一下, 你看是不是这个位置,你再运行的话,他就没变化,因为我们这里已经填充上,所以这是放在前面和放在后面的区别。这节课就到此结束。

loop engineering? 我 相信你最近已经被这个概念给刷屏了, my job is to write loops。 一个月前,硅谷的大佬们还在提 harness, 而现在已经开始 loop 了。那到底什么是 loop engineering? 这个视频不仅会给你说明白,还会推荐一个优秀的开源 skill 给大家,让你轻松上手。想想你在使用 ai 编程的时候,是不是这个姿势, 写一段 prompt 给 agent, agent 干完活之后,你回来测试一下,然后发现不对,你再写一段 prompt, 然后再去测试。无限循环下去,这就是 look into new 的 核心。把这个循环的执行者从你换成 agent, 那 具体应该怎么落地呢?首先先要引出一个概念, illustrator 编排者, 它是整个循环的总控,你设定目标和交付标准给到它,它自动派发给 agent 执行,执行完后进行验收,没达标就带着问题重新派发,一直到达标为止。而你其实已经赞成这个东西了, cloud code 和 codex 的 go 命名,本质上就是这个 illustrator。 你 设定完目标, agent 就 自己去想,哎,要做什么,然后执行验收不达标就自己再来一轮。所以这个编排者的机制,现在 coding agent 已经都给你做好了。 想要实现路虎 n g 利润,你真正需要做好的只有两件事,第一,把目标交代清楚。第二,把验收标准说清楚。一个优秀的目标一定是具体的,有边界的,做什么,做到什么程度,范围是什么,这些都需要交代清楚。 验收标准是让 agent 知道什么时候算做完了,它需要足够的明确。 loop 以及利润的核心,其实就是这两件事,剩下的其实你需要交给 agent 自己去跑。那理解了原理,我相信你现在还是不知道怎么写好一个 loop 以及利润。那给大家推荐一个开源的仓库叫做 loop library, 它上面搜出了很多优秀的 luftng 理论的提示词,你可以学习到怎么去写一个标准的能够循环的目标。比如我们来看一下这个 seo 和 geo 的 可间歇循环的提示词,它明确的说明了目标对可抓取性锁瘾状态的内容进行 geo geo 审计修复影响最大的问题,这是一个非常明确的目标, 同时后面它还给到了很好的循环执行过程和验收标准。这个仓库还有很多偏技术型的适合 by coding 的 loop 提日词,大家可以自行去学习。那它的第二个作用是提供了一套叫做 loop 的 skill, 这套 skill 能够帮助你更好的编写路横金额的提日词。 你可以通过一行命令为你的 code x cursor 或者 clock code 安装 loop 这个 skill, 然后你给的提示词,它会自动帮你优化成为一个优秀的能够支持 loop engineer 的 循环提示词。好,前面讲的都是原理和工具,但 loop engineer 真正有意思的地方在于,当你把它用到一个真实的项目里,它能做到什么程度? 我做了一个完整的综合实战教程。场景是这样的,我们有一个部署上线的无线画布产品,用户可以在前端提交反馈,比如我想要 c 转五这个模型,这条用户反馈会进入到你的管理后台,变成一条待处理的记录, 然后你在管理后台给这条记录设定一个 agent 处理目标,告诉 agent 要做什么,做到什么程度,接下来的事情就全自动了。 agent 每个半小时轮询一次数据库发 发现有需处理的记录,会自动的去实现开发测试的循环,直到标记成 a i 测试完成。那开发者在开发环境验收完成后,你只需要把状态切换为可上线,这时候 a 检测也会自动的帮助你去完成项目的构建和部署。全流程, 那我为我的课程学员提供了一套模板代码,如果你是学员,可以跟着教程部署上线,然后去提你的需求,之后打开你的扣点 x, 点击左上角的已安排任务, 点击手动创建对应的一个任务,输入我准备的这段复杂提示词。这段提示词看的很复杂,其实核心是把 agent 对 应的目标执行过程、开发流程和边界都说明白, 然后设置为每三十分钟执行一次,那它就变成一个真正能跑在身上环境的定时路谱用户。提需求, agent 自动开发测试人只需要在关键节点做一次确认功能就上线了。 这个课程完整的原版提词词以及长达四十分钟的手把手教学视频都在我持续更新的 ai 编程实战课里面,如果你感兴趣,欢迎去学习查看。最后我想说的是, lube engineer 其实对于大部分新手来说并不太适用, 它通常是到了呃特定的开发阶段,或者是需要你具备一定的工程背景才会用得到的,因为这对目标提词词的要求非常的高。同时从 prompt engineering 到 harness 再到 lube, 大家, 呃,不要有 ai 新概念的一个焦虑限阶段,把和 a 正的对话的基本功给练好才是最实在的。多去沟通,多写提示词,多测试,和 ai 协做这件事情没有捷径,就是呃,用的越多越顺手。到了某个阶段,你自然会开始思考 a 能不能让他自己跑完整个流程。到那时候卢普恩基尼瑞就不再是一个需要学习的概念,而是你自然而然会去做的下一件事情。那好了,这就是本期教程全部内容,我是一辉,我们下期见。

你现在可能还在一条条改 prompt, 让 ai 修 bug, 但这期我想帮你换个思路。 ai 编程的重点不只是提示词写得多细, 而是把开发过程拆成三层反馈循环。最近大家都在聊 loop engineering, 很多人一听到 loop, 就 想到让 agent 自己反复迭代。比如让 agent 写代码,执行测试,查看问题,再根据结果继续修改。 这当然有用,但它只覆盖了内层温达。在 deep learning ai 的 一篇官方文章里,把软件开发从零到一的过程拆成三层。这里先把三个英文名放在一起看, agent coding loop、 developer feedback loop、 external feedback loop。 对 应到中文,可以理解成 agent 编码循环、开发者反馈循环、外部反馈循环。先把这三层放在一起对照看。第一层是 agent 编码循环,也就是内层几分钟一轮,它由 agent 主导,你给它需求说明和验收标准, 它交给你代码和测试结果。第两层是开发者反馈循环,也就是中层十几分钟到几小时一轮,它由开发者主导,重点是判断功能交互和用户流程, 然后想清楚下一版需求该怎么写。第三层是外部反馈循环,也就是外层节奏,通常是几天到几周一轮,你根据朋友内测用户真实用户的反馈或者 a b test 的 结果,调整产品方向。 后面你用 cloud code 或 codex 做项目时,如果进展不顺,可以先问自己这三个问题,现在卡住的是哪一层?这一层谁主导,最后由谁验收? 这几句可以先收藏,等项目推进不动时,直接拿它来判断问题到底在哪一层。下面我按三层展开,最后给你四个明天就能用的工作方法,也讲清什么时候应该暂停那层循环。先看第一层, agent 编码循环。这一层是分终级,主要由 agent 来动手,你给他需求说明和验收标准,他交给你代码和测试结果。 所以在让 agent 开始之前,你要先把三件事说清楚,也就是要做什么,做到什么程度,算对。执行测试时要验证哪些内容。接下来 agent 写代码,执行测试,查看报错信息,修正问题。如果测试通过,改动也符合验收标准。这一轮 agent 编码循环就算完成。这一层适合多交给 agent, 因为目标清楚,反馈也快。但你不能只丢一句,帮我做个页面,然后指望他替你做产品判断。想让内层循环有用, 需求说明和验收标准要先写清楚,边界也要提前定好,否则迭代次数越多,结果越容易偏离你的真实需求。再看第二层,开发者反馈循环,到了这一层,你要从修 bug 的 细节里退出来。以前很多人用 ai 编程工具,精力都放在检查每一步改动上,现在很多 agent 已经能读代码,执行测试 也能做一部分字检,你的精力应该更多放在产品判断上。这一层通常十几分钟到几小时一轮,主导权要回到你手里。 到这里,你验收的不是一段代码,而是当前产品,重点不再是某一行代码有没有写对,而是这个版本能不能真的被人用起来。 功能优先级对不对?交互顺不顺?用户流程会不会卡住?那这一层怎么判断已经跑完一轮?你先按真实使用流程,试用当前版本,判断产品方向和体验,再想清楚下一版需求该怎么写。等你把这些结论整理到下一版需求说明里,这一轮就可以收尾。 这就是开发者反馈循环。这层不能完全交给 agent, 因为很多信息不在代码里,只有你清楚这个产品给谁用,用户担心什么?用户可能误解哪个按钮, 哪些流程在真实工作里会卡住。所以不管 ai 能力变到什么程度,产品判断要你来做,缺失的背景信息要你来补, 最后也要由你验收,最后看第三层外部反馈循环,这一层更慢,通常是几天到几周一轮,还是由你来主导。反馈可以来自朋友内测用户,真实用户也可以来自上线后的数据对比。比如 a b test, 你 先交付一个能用的产品,再用真实反馈调整方向。那外层怎么判断已经跑完一轮?只要收集到的反馈已经足够你写下一版需求,这一轮就可以收尾。外部反馈真正决定的是下一轮到底要做什么。 比如你以为大家想要更复杂的设置页,结果他们只想要一个更省事的导入入口。有了反馈,你先重新判断产品方向,接着改需求,最后才回到内层,让 agent 写代码。 把三层放在一起看,区别就很清楚。旧方式是你一直待在内层,不断补 prompt, 反复处理代码细节。新方式是把反馈分层,内层让 agent 加速编码, 中层由你做产品判断,外层尽早收集真实反馈,再决定下一轮需求。这里有个很常见的误判,不要把三层都当成内层问题,也不要以为 agent 会自己处理完。 agent 负责内层编码循环,可以写代码、执行测试、 查看报错信息。开发者要负责产品判断,真实用户和外部反馈也会影响产品方向。如果你每天只处理代码,真实用户反馈就会一再延后,到最后反而没人认真判断这个功能到底值不值得做。 那开发时具体怎么做,明天你就可以先用这四个方法调整自己的工作流。第一点,给 agent 的 任务不要只写需求,也要写验收标准,哪些测试要通过,哪些页面状态要正常,哪些文件不要改,都要提前说清楚。 第二点,不要把注意力放在每一步改动上,你先定好检查点,再让 agent 在 这一轮里改代码、执行测试、查看报错信息,根据结果继续修正。等到了检查点,你重点看当前产品能不能用, 而不是他改了多少代码。第三点,每次做完产品判断,都要把结论写进下一版需求说明里,不要只写再优化一下,要说清楚这次是改交互、重排页面信息层级, 调整用户流程,还是删掉一个其实不该做的功能。第四点,尽早拿给真实的人试用,哪怕只是找三个朋友试一下,也比你和 agent 在 本地循环二十轮更有价值。实际操作时,你还会遇到一个问题,什么时候应该暂停 agent 的 内存循环? 第一个信号是连续二到三轮都卡在同一个地方,这通常说明上下文不够,或者任务拆错了。第二个信号是 agent 开始改动无关文件, 或者跳过约定好的测试,这时就不是代码细节的问题了,而是已经偏离了你约定的边界。第三个信号是他在最后总结里没有说明自己检查了哪些内容,测试结果怎么样。你不知道他检查过什么,就很难对这次改动有把握。 遇到这些情况,可以先把内层循环停在当前状态,让它列出改动位置、检查项、执行测试的结果以及还没解决的问题。然后你再判断 是补上下文,还是把任务拆的更小,或者退回中层重新写需求。还有一个更关键的,信号问题,已经不只是代码怎么写,而是产品方向怎么定,功能该不该做,入口放哪里,用户能不能看懂。遇到这种问题, 你要从内层出来,回到中层自己做判断。所以吴恩达这套三层路普,重点不是教你提示词技巧,而是帮你理清反馈该怎么分层。 ai 越能写代码,我们越不能只困在内层修 bug。 你 要往外走一层做产品判断,再往外走一层拿真实反馈。你现在用 cloud code 或 codex, 最长卡在哪一层?评论区扣个数字,一是 agent 总写不对,二是自己不好验收和定方向,三是还没拿到真实反馈。

以后很多活可能不用你亲手干了,一套会自己循环的系统自己干,自己查错了自己改,改到对为止。有人靠它三十天没开编辑器, ai 自己交了两百五十九个,合并 ai 成永动机了, 这叫 loop, 三分钟讲透,先看它是什么。以前你用 ai 像打乒乓球,你说一句它动一下,你得盯着 loop, 换了个思路,你指定我要什么? ai 在 里头自己派活,自己检查,自己决定下一步,转到目标达成裁停。 一句话,你定规则,他跑腿,关键在闭合他每一圈。这么转出发 ai 干活,另一个 ai 验收过了就交付,没过把错的原因写回记忆, 下一圈 ai 先把这错记住再改,踩过的坑他记着,不会再踩第二次。看到这里了,辛苦你点个赞和收藏吧,鞠躬。想搭一个 loop, 分 三层,最上面是调度,像上班铃叫他开工。 中间是 sub agency 执行单元,里头装着独立工作台,操作手册,工具箱。而且一个干活一个验收,不能自己给自己签字。最下面是记忆,记下每次成败,三层搭起来,它就能自己跑。加了 loop 之后, agent 的 运行方式发生了变化, 以前像闹钟,隔几分钟去看一眼部署好了没,现在变成死磕型,测试不过就不停,不到验收线,绝不收工。 死磕型的内部是两类 agent 配合干活的 agent 不 给自己打分,由验收 agent 来给他打分, 效果有多明显? antropic 团队连跑三十天, ai 自己交了两百五十九个,合并四万行代码,全程没打开过一次编辑器,还十几个任务同时转人,不只省事了,从亲手干变成去设计那个替你干的系统, 但他也不是没代价。第一,烧钱,有团队,一天光偷肯账单就两万美元。第二,他会偷懒,你让他把测试通过率拉满, 他可能直接把测试改成永远通过指标率了。问题还在,还有个隐患叫理解债,代码是他写的,跑得通测得过。可没人真懂为什么这么写。哪天碰上他搞不定的故障,就是颗定时炸弹。 最后一句可能比前面都重要。好的 loop 放大一个好工程师,坏的 loop 同样快地放大一个坏,决定 它不是银弹,是把你的判断放大咽背的杠杆。这期讲清它是什么,怎么转,下期手把手搭一个你自己的 loop, 觉得有用先收藏,下期接着看。

循环语句啊,我们今天讲的是多路口语句啊,多路口语句的话啊,也是一个循环语句啊,我们经常的话就是说之前用的一些 vbs 这个小程序啊, 说整人的这里来啊,用了一个多路虎这个循环啊,他这个循环的话啊,他因为他没有加任何条件啊,他就会无限的执行啊,这个都跟路虎之间的一些语句啊,我看一下这个语句的一些用法啊,这个语法啊,读 y 啊,或者 nt 啊,然后有没有一个条件 啊,这个条件多外,这个条件多外的话就是说我们当这个条件的话为真实啊,重复的执行一些中间的这个语句啊,然后 nt 的话就是说我们直到啊,这个满足的满足条件的时候啊, 重复执行一个这个语句快单中的这个命令啊,这个 xxx i 的度的话啊, x i 的度的话,就是说我们跟我们之前的 x i 的 for 也是一样的啊,跳出这个循环啊,然后我们这个 dy 啊,或者我们可以放在这个 logo y 啊,都是可以的 啊,大家可以看一下啊,稍微的看一下,然后我们通过实力来讲啊,好,我们这边的话插入一个模块, 好,我们先创建一个过程啊,比如说 stop test, 我们先定一个边料啊, dmis, intern 啊,你们先给他定,定义 i 的话是为一个数值啊,我们这里可以不定看完这个数值啊,这个这个数值的话啊,存储是十六个 字节啊,因为现在内存都比较大嘛,可以也可以忽略,那就是说你把这个语句写一下啊,多个路口 啊,啊,如果说我们定义啊,这个为数字类型的话啊,我们这一边的话这个 i 的值是多少?这里稍微跟大家提一下啊,我们可以看一下把这个视图里面的立体窗口打开一下啊 啊,这个爱的默认值,大家可以看一下啊,默认值的话是零啊,如果说我们不定义啊,不定义他的类型的话啊,他默认的话是一个 啊,是可以说是可以转换成任意内心啊,我们看一下啊,这边的话他是一个空值啊,因为没有给他进行一个负值啊,他这个不要,他不知道他是什么类型啊。 好,我们这边就不写了啊,比如说我们这一边啊,这个循环过程中啊, i 等于 i 加一啊,这一边的话如果说我们运行的话啊,他会进行一个无数的一个循环啊,就 我们看一下这外面啊,你可以试一下一共循环了, 循环了, what? 好,这边的话再剪一个中段的快捷键啊, 因为死循环的话,等一下我们不及时跳出的话,内存一会就占满了啊 啊,是 ctrl 加 break 啊,大家可以看一下啊,这上面也有,然后有些键盘上面的话可能是 pos 跟 break 在一起啊。 好,我们运行一下啊,这边的话一直在循环啊,我们要赶紧按一下,不按一下的话等一下就死机了啊,然后我们这一边的话可以看一下啊,一共循环了一百九十六次 啊,他是循环了一百九十六次,但我们这个 i 的值的话是不是也是一百九十六? 好,我们把这个语句的话改写一下啊,比如说我们写一个读哎哎小 于是啊,因为我们要满足这个条件吗?我们七十值是多少?是空值啊?空值比这个数值的话都会要小啊。然后我们下面的话,第一次的话,我们可以看成空值的话啊,进行叠加的时候的话,这一边第一次的时候他是一个 默认的 s 零啊,加一的话他就变成一个一啊。没循环的话看我们这边的话会循环多少次,我们运行一下啊,这边的话一共循环了十次啊,比如说我们这个放下来我们看一下, 这边的话删除一下啊,大家看啊,这放在上面跟放在下面都是一样的啊,我们一共都是循环了十次啊,但是他结束 的时候是什么?这时候在后面结束,是不是比如说我们这个这里其实实际的实际他是循环的十四,我们这边 i 的值是多少?第四是第十四的话, i 是不是就是十? 因为他这个循环的话,我们第一次 i 的值的话,你们从零开始啊?但这里的话,比如说我们这个 i 等于十的时候,我们跳到这里的是是 这个,比如说你们这这个第一次的话是,哎,这里的话等于九的时候啊,九九加一等于十 啊。现在的话我们到这里的话爱的值是等于十的,所以说我们这边的话就等于就相当于跳出循环了,因为我们从零就相当于什么?我们这个爱值是零到, 是不是因为我们这边的话对他进行了一个加一嘛?好,下面的话我们再看一下,都 nt 啊, 读 nt 二,我们这边能不能写小于十啊?就是说我们这个循环的话, nt 二是什么?我们假设的话就是说我们一直一直到到这个 i 小于十的时候 啊,我们这边跳出这个循环,我们现在初始值,哎,等于多少?等于空,他这时候的话是小于一个十的啊,他就直接跳出这个循环了。所以说什么我们这边要写大一十,因为什么啊?比如说我们这边 是不是不满足?哎?大于零但哎等,比如说我们默认看着他等于零啊,比如说我们在这里再加一个,可以直观一下啊,哎等于零,哎等于零的时候,他是不是大于十?他不大于十啊,我们就持续这个运行啊,运行到这里的话就落魄之前的话,因为他这个还在,这个 一直的话是什么?到这里的话,他还是会为什么会跳到这上面这一句啊?然后再进对他进行一个判断啊?运行一下 好,这里的话,他一共运行了十一次啊,为什么是十一次?他要大于十,是不是?也就是说我们这里的话 等于十的时候啊,比如说我们 i 等于十的时候,我们这边这个 i 等于 i 加一就相当于等于十一了啊,这边的话,因为 i 的值的话,就是说 实际的话,我们就是说从零零到十啊,因为我们对他进行了一个加一处理啊,就是说十一次,比如说我们放在这个后面啊, 大家看一下结果是不是都一样啊?好,这里的话,比如说 我们这里再写加上一句啊,衣服 i 等于五元 x i 的度,好,如果说我们加加上这一句的话, 我们会循环解释, 大家可以先想一下啊,我们看一下啊,比如说 i 等于五的时候啊,等于五的时候我们就跳出了啊,就是说我们 i 等于四的时候啊,四加一啊,也是相当于循环了五次啊,我们可以看一下啊,如果说我们把这个放在下面 再看一下也是五次啊,所以说的话, 如果说我们放在后,把这个放在前面,我们看一下有会不会不一样, 我们运行一下,把下面的删除一下 啊,不管放在前面跟后面啊,我们发现了啊,这个实际效果都是一样的。 嗯,这个也是一个循环啊,这个循环用的也是相当于说蛮多的啊,这循环的话,这里的暂时的话就讲到这里啊,基本的话也就这几个,就这几个循环语句啊,大家可以根据实际情况来使用。

大家好,这段时间有一个词非常火啊,叫 looper engineering, 那 这个词看起来又是循环又是工程的,好像很复杂一样,但其实了解下来它并没有那么复杂,那本期视频就跟大家一起来拆解一下 looper engineering 到底有什么,以及怎么去使用,以及我们要注意什么。 最后会给到一个网上开源的一个例子,来给大家讲解一下怎么去使用。那接下来我们通过四个阶段来看一下一个实际的例子,从提示词工程到循环工程的一个演变过程,通过这个过程大家可以理解啊,循环工程到底包含了什么东西? 那第一个阶段,假设你现在来公司啊,要处理公单,每天十点钟要处理要公单,然后呢先判断啊,这个公单是 bug 还是投诉,还是建议 拿去分类一下啊。若是 bug 的 话,那么你这边会打开 ai 编程工具,拿去跟 ai 对 话,比如说把这个 bug 一 给修复了,那么 ai 编程工具或者叫智能体吧,拿去拉取公端的详情啊, 拿去处理,处理完之后呢,进行一个验证,那验证过程中或者说在处理的过程中,它可能会记录一些啊,比如说这个公端可能说这个问题比较频繁,或者这个问题处理的有什么问题会记下来, 进来之后那你这边会去阅读他给到你的反馈,因为我们使用 ai 编程工具的时候,一般任务结束之后,会给到你一段摘药或者一段总结,那么你会去阅读这样的总结,然后呢去进行验证,比如说你现在是修复的是一个网页的一个按钮,点击之后要弹出个框,那么你可能会打开这个网页,那就点击之后看一下这个框有没有正常打开, 那你要去手动验证,那验证完成之后,那么你就会把这个公单标记为这个修复,那么这个公单就处理完了, 那这个也是一样的投诉和建议,那么你可能会把它发给比如说别的部门,或者说其他的一个路口去转交一下。这边也是有一个这样的处理流程,处理完之后,那你就会把这个公单也会标记为已修复,然后你 十点钟开始处理,处理处理,然后把这个公单全部一个个处理完了,那你这天一天的工作就完成了。第一个阶段其实是人去 做这个主要的事情,仍去参与,仍在处理,这个循环就是每次处理一个公单,或者说每天十点来处理这个公单。好,我们接着往下看第二阶段,那来到第二个阶段还是十点钟, 但是你发现你每天处理公单流程是一样的,都是先啊分类一下,然后不同的分类有不同的流程,那最后你手动验证,那最后再去修复。所以呢,我们可以把这个通用的流程啊,把它做成技能, 就是技能的作用,其实就是附用你已经存在的比较标准的流程。所以呢第二个阶段我们就把个这个处理的过程把它变成技能了啊,比如说这个技能的名字叫公单处理啊,当需要处理公单的时候,触发这个任务,流程一流程、二流程三流程四流程,执行完这些流程就完成了这个 工单的处理,然后你再进行一个这样的阅读他的反馈,然后去手动验证,然后再将工单标记为修复。所以我们把这个流程啊变成了这个,就是直接你每天十点钟到公司, 然后调研一下这个技能,然后再去阅读一下这个技能的反馈,然后去进行手动验证,然后再把这个公单标记为已修复,所以这个处理流程就已经简化了,你就不需要再去做这个详细的流程了。这个就是我们的第二步,就是把这个执行的过程啊,把它给技能化 好,我们再接着往下看,那接下来就来到第三个阶段,第三个阶段还有两个模块还没有被改造的,就是人还要参与这个阅读 ai 的 反馈以及手动验证。 阅读 ai 的 反馈你可以认为就是阅读公单处理的日制,我要去了解它的一个任务的执行过程,那手动验证那是因为我们不相信 ai 能够 完完全全的去百分之百的去处理这个问题,所以我们人工再去验证一下,但是我们的目标是让它循环能够跑起来,那所以这一步也是一定要干掉的。那这一步工单标记为已修复,其实是依赖于你的验证成果,如果你的验证成功了,那说明你的工单就能够标记为已修复了,所以我们重点就是来改造 这个,我们让它 ai 化,也就是我们让 ai 来接管验证,所以就变成了验证是成为我们整个阶段非常重要的一个东西,因为流程其实是 非常固定的,你自己定义好的流程,那么这个是非常标准。但是验证一旦交给 ai 之后,那 ai 的 验证的这个结果 它能不能通过就变非常重要了,所以验证是整个你的阶段里面最非常非常重要的一步。那么这个验证我们一定是不能让公单处理这个 ai 去自己去判断的,就是你自己写的代码,自己去判断有没有问题,那肯定会回答你没有问题。所以我们要引入的是其他的 agent 啊,比如说你的另外一个子 agent, 或者说另外一个模型的 agent 来去验证你做的事情有没有你写的代码,有没有问题。所以呢在这一步就公单处理完之后,然后 验证的 a 键就会启动,然后去阅读这个公单,然后再去阅读这个公单处理的技能产生的,比如说 def 代码的 def 啊,然后比如说页面的截图前后的变化呀,很多种验证的方案,所以这个一定要写的非常清楚,那验证通过再把这个公单标记为已修复, 那么在公单处理和这个验证的过程中会记录这个摘药和信息。我们来到第四个阶段,发现已经没有能力要处理的事情,最后就剩下一个,这个时间每天十点钟,所以呢最后一步就变成 把这个时间变成一个定时的十点钟,然后呢定时十点钟到了之后会去会去触发这个技能的执行过程。工单处理处理完之后更换 a 帧去验收这个处理的过程,如果说处理没有问题,验证通过,那么就会把工单置为已修复,那么这个过程就结束了, 然后呢公单处理和验证的 agent 会写入这样的日制信息记录下来,就是本次公单处理是什么验证的哪些?有哪些问题?比如说或或者说有个这样的分数啊?你这个页面的这个处理的,呃,分数多少分? 六分或者七分啊?六分以下,那我的验证不通过啊,六分以上我验证通过,但是我会记下来,下一次你要记得要去改进什么东西,相当于有一个比较好的一个安全门啊,如果这个分数到了,那你就通过,没有到,那么你就还是继续会把公单置为啊,没有, 没有修复或什么之类的。那到这一步其实已经是循环了,因为你每天定时都会去走这个流程,所以呢我们就得到了一个循环,最基本的五个要素也可以成为叫五个零件。第一个是触发,就是这个循环什么时候触发, 可以是定时的,比如说定时几点钟开始,也可以是比如说什么事件通知他了,比如说你提交他代码通知他执行吧, 也可以人为去触发他执行,都可以,只要有触发这个循环就行了。所以第一个就是触发,第一要素就是触发,第二个是执行,就是我们刚刚把过程封装成技能的,那么这个就叫执行。所以你如果要设置循环,你一定是能把自己的这个执行技能化,不然的话这个 就没办法标准化,没办法循环,每天都不一样,所以这一步,第二步是执行,第三步是重中之重验证。那么这个要特别的强调一下,如果你没有写不好验证,那你这个循环可能就是一个 非常一个质量非常差的循环,就他自己认为说成功了,但其实是没有,没有成功,然后浪费。托克一直在转,转完之后他说 ok, 结束了,然后你上去一看啊,一堆堆问题。 所以验证是这里所有的这个五个连接里面最最最重要,甚至还有可能后面有专门的这种验证工程师来专门写验证条件的。那第四个就是记忆,所谓的记忆就是你的你的这个执行过程中产生的认知,你的验验收过程中产生认知,你可以认为记忆是下一次循环,他会 读取的这个我需要学习的资料,因为每一次循环都是从从头开始吗?比如说我们这个公单这个例子啊,比如说啊这边公单处理,那可能在你的这个技能里面,你就会要求读取哪里的这个日记文件,然后去学习一下你这个需要改善。什么? 是这样一个过程,就是在这边他每天因为每一次循环都是都是新的上下文,比如说第二天十点钟,他读取的就是新的 上下我新的公单,然后获取的就是昨天的这个产生这个所有的日记了,那里面有什么东西啊?完成什么东西?要进步什么东西?刚刚我讲了你这个这个 ui 的 这个不合格,那么他就要去处理,或者说 你的你已经合格了,但是没有很优秀,那么下一次他就会去夺取,我哪里不优秀了?那这次的迭代他就会去更新 成你的心的这个啊,你的心的这个记忆,所以这个记忆也是很重要,就自我迭代的一个价值啊,就是让他自己成长一个价值。那第五个就是停止,就是我刚刚讲的就是你既然通过了,那么你就可以把这个公关关掉,那么你就可以退出来,就算你一定有一个停止条件了,不然他就一直在循环。 所以呢,你要做一个循环,那基本上有这五个部分组成。那通过上面的这个阶段演变过程,大家应该有一个初步的印象,循环的组成的五个部分,其实可能在我们的这个工作和生活中啊,这些循环已经存在了,只是没有用一个名词或者说一个概念去解释这个东西是什么。 就说循环工程的出现是 ai 型的发展的这个阶段必然会出现的一个东西,它会以各种各样的形式存在于我们的工作和生活中。那接下来我们来看一下如何 engineer 的 一些常见问题啊。第一个就是循环工程是一个新框架吗? 啊?我认为它并不是,它只是对现在的流程的一个概念的一个总结,用一个名词去解释一下,方便大家去沟通而已。 在我们工作的生活中,可能你已经经常在用这种循环的工作原理了,那比如说你让 ai 去做一个界面,想让这个界面从五分到八分,那么你肯定会写好什么叫五分到八分啊?比如说你这个交互要做的很流畅,你这个弹簧要怎么怎么样, 那么让他去循环去执行啊,他会一直循环执行个多少次之后,他认为已经到了八分了,他就结束了。 然后你收到这个结果之后,你发现不对啊,没有到八分啊,你可能会开启一个子弹里,让他再去审查一遍诸如此类的这种迭代的思维,这种循环的思维其实就是循环工程,所以呢他跟我们经常用的这种发一句对话,等待着结果去验收, 是一种思维的转变而已,并不是一个非常复杂的东西。那第二个问题就是循环工程跟构模式是什么?是给他设定一个具体的目标, 然后再设置一个验证条件,然后一直跑跑,把所有的验证条件跑完,验收通过之后,那这个目标就完成了,他其实就是一个循环工程,他无非是他的触发,是我们自己人为去触发的。如果说你让他每天十点去使用 go 这个模式去处理一个具体的任务,那么这个不就是一个 我们认为的这种定时触发的循环吗?所以本质上这两个东西是没有什么区别的,构模式更像是我们比较自由能够使用的啊,体系很简单的一个循环工程,并不涉及到其他的系统。那什么时候该用循环呢?那第一个我觉得是你的 token 预算是要很充足的, 因为循环工程一旦跑起来啊,比如说你这个技能的执行过程啊,记录日记啊,你的验证的这个 agent 啊,这些东西都需要消耗很多 token, 每一次的循环都是重新读取这样的上下文,所以你的 token 预算要很充足,如果说你的这个验证如果写的不好,那么可能会消耗更多这样的 token, 因为你要反复去去调整,去纠错。 第二个是有没有明确的执行任务,就比如说我们刚刚公单的执行,其实流程是非常具体的,如果你说你没有明确的执行任务,你就跑这个循环的话,那出来的效果你是 不可预测的。第三个就是非常非常重要的,就是一定要有明确准确的这个这个验证方案,如果没有的话,或者说写的不够详细的话,那这个选项可能就是效果就是大打折扣了。第四个就是这个任务是不是真的是重复的,比如说每天十点啊,某一个事件触发呀?第五个我觉得也是非常非常重要的,就是 项目的基建是否完善。那么我们在用循环工程的时候, a 键呢?去读取你的项目,你的项目里面,比如说如果没有这种啊 cloud md 的 这种全局的规范, 你的这个测试的用力测试的方案,一些该用的这种 mcp 插件,你的上下游系统如果说要调用上下游系统获取信息,这些通道是不是都通畅?如果没有的话,那整个循环是会很卡的,就是不流畅,那这个效果也是非常低的。 所以我觉得具备这五个条件,或者说还有别的情况下,可以去尝试使用循环,那你如果要去去使用循环的话,非常建议从这个步骤去执行。就第一步先自己手动去跑一次,就刚刚我的流程去先把它技能技能化,然后再去 引入外部的这个 a 技能去验收,然后再去做一个自己手动执行,看一下效果怎么样啊?跑了几次之后,你觉得效果还行, 再去给他上电视剧,或者说触发事件,让他变成一个真正的一个循环,所以一定要手动测试好几轮之后,才去真正的去投入到这个市场去使用。 那前面说了这么多,我们就来看一下我们怎么去搭建一个循环呢?那么在网上啊,有一个专门的这个啊, group library 啊,循环的库里面有很多这种别人 开放出来的这种叫循环的例子啊,那为什么可以分享出来呢?我们在前面讲的时候,循环是以执行过程,执行过程是技能,那验收其实也是技能,那么这两个技能 意味着就可以分享出来。 ok, 那 我们来看一下他这个库里面有哪?那么打开这个网址之后,我们可以看到他这边,比如说这个完整的产品评估 循环,那么你就可以拿到这个例子来看一下他这个循环是怎么做的? 还有什么仓库的维护循环,文档清理依赖分类循环啊,错误信息重写循环。那么这边他也是有一个技能啊,你安装这个技能之后,你就可以使用上面的循环,他可以教你怎么去写这个循环,那么你用这个命令装完这个技能之后,你就会看到他这个技能主要是干嘛?第一发现就是从 你的对话,在你的仓库里面如果进行了反复的对话,那么它会看一下这个东西能不能提型,提提出来是一个循环。第二个就是查找了,从这个 loop level 里面去找一下符合你这个要求的这个循环,然后去设计通过给你对话,然后来设计一个这样的循环, 我们来试一下,看一下它这个做出来的循环到底是什么样子的。好,打开 color code 之后,我们输入 loop, ok, 然后我们描述一下, 我们要做一个流程,比如说我这一个流程,我需要去 github 上去拉取这个 ecuse, 然后呢去处理,然后再把这个 ecuse 状态改掉,就是这么个流程,就比如说有人提这个 ecuse, 那 我就拉取下来,然后去处理好。我们现在给他描述一下,就每天上午要去 github 上去拉取这个 ecuse, 然后去处理,我们看一下它会怎么去帮我们设计。 ok, 他 现在要提的第一个问题啊,每次跑到哪停,我们就选择这个吧,把当前所有 bug 修改在停。 ok, 调度,每天十点钟自动跑好。 ok, 他 这边已经创建好了啊,每天十点扫描这个仓库啊,用这个提,用这个命令去执行,执行晚上修复啊,出发期有了,每天十点零二分出发,然后呢执行过程有了,反正就处理这个问题。 然后呢验证啊,他这边的验证,我们可以看一下跑这个,看到没跑这个 npm。 他 这个验证呢是最简单的验证,就是翻译是否通过,如果通过就认为通过了,所以呢他这边框架给你生成的这个验证啊,那就不行,得你自己去写了,这种验证是没有任何意义的, 那这边的话就是结束条件,停止的条件,所以我们通过他这个命令创建出来的是一个非常基础的这种循环了, 大家可以创建完之后自己可以去优化,因为他这边会去保存,把这个文件保存到 libs 点 md 里面去,然后完了之后呢,你再去按照我们刚刚讲的那几个零件部分去深一步的进一步的去优化,然后让你这个循环更加的去可靠。 最后我们来讲一个非常有意思的叫路普工程的这个安全与人力边界啊,这边的话他就提到了,比如说最小权限原则,就给这个循环工程一定要给这个最小权限,那不要说给他完全权限,不然可能就是整个运行哪一个地方又塌方了,就会出大问题了。 那还有就是如果你这个循环处理的是面向客户的,比如说这种自动回复啊,自动评论啊,要明确标注 ai 的 身份, 那其实最有意思的是最后一个防御攻击屏啊,就比如说刚刚我们说的公单,你是用循环来处理这个公单,如果说也有人用循环去给你发送公单,那么这边就会存在一个两两个都是循环处理,那就无止境的 处理了,所以说也是非常有意思。大家在设计这个循环的时候,可以考虑一下他这边提到的安全与人力边界。那么在文档的最后呢,我给大家准备了一个 pdf 的 内容,就是去详细讲解的循环工程是怎么产生的,以及它包含的五个部件, 那每个零件是怎么去理解,那都有详细的讲解,那么整个的排版啊,什么都看的非常舒服,你可以结合视频去学习,那么我也会把这个文档呢放到我们的简介去,如果你需要的话可以自行去查看。 ok, 那 本期视频就到这,希望这个视频对你有所帮助。
