如果我要让 codex 给本地 ai 推理平台 open mutate 升级 racket, 你 觉得第一步应该做什么?很多人低反应可能是直接让他看代码,然后开始改,但我现在不会那么做,因为 racket 不是 一个单一的功能, 它里面有文档导入、 chunk 切分、 embedding、 向量查找、 answer generation racket 如果 codex 没先读懂现有的 racket, 很 容易做两件事情,第 一,重复造一套新的 rag。 第二,为了加新功能,把原来的链路改坏。所以这期我们开始搭 agent hines 的 第一层 guides, 也就是先让 cortex 读懂现有的 rag。 很多项目都有 redmi, 但 redmi 通常是给人看的,它会告诉你项目怎么启动,有哪些功能,怎么安装依赖。但 cortex 要接收一个真实功能升级,光看 redmi 不 够,它需要知道线路怎么跑,关键模块在哪里,数据从哪里来到哪里去,这次目标是什么, 哪些地方可以扩展,哪些地方不能重写,改完以后怎么验证。所以我这次准备的 guides 不是 普通说明文档,它更像是给 cortex 的 工程地图,让它不是在仓库里乱逛,而是沿着 rev charts 二点零这条线路去理解项目。这次我准备了四份 guides 啊,其实不止四份啊。后面我又补充了一份。呃,这是第一份的文档,它只描述当前 rag 的 现状,比如文档是怎么导入的, trunk 怎么切分, embedding 是 在哪里生成的,向量剪索怎么执行、 answer generation 怎么拿到上下文?现在的 rag chance 记录了什么? 这份文档最重要的作用是让 cortex 先理解当前 rag 的 一点零,而不是上来就幻想二点零。这是这份文档 啊。第二份文档是它。这份文档呢,是描述目标架构,也就是我们要把当前的 text trunk trunk 升级成 evidence trunk。 以前 trunk 追踪的是文本 trunk, 但 log trunk 二点零米,我们想追踪的是回答依据,这个依据不一定是文本,它可以是 text, image page, crump table。 所以 这份 guide 要讲清楚。 revictrice 二点零不是简单多显示一张图,而是让回答背后的证据链路能够从文本扩展到图文资源。呃,这是第三份的那个 文档。呃,说明呢,是资产的模型。因为图文 revictrice 最容易乱的地方也就是数据关系,比如 document 是什么?配置是什么?嗯, trunk 属于哪一页?然后 assets 是 从哪里提取的?绑定 box 怎么表示位置? ocr, text 从哪里来? embedding 到底要给 trunk 还是给图片说明?如果这些不先定义清楚, cortex 可能边写边设计,最后数据结构会越来越乱, 所以这份该的。让 cortex 先理解文档页面、文本块、图片、资产之间的关系。 然后这是第四份的 guide。 呃,这份我觉得最关键,它规定的是解锁成返回的结构。以前很多 rack 系统里, reciver 最可能返回的是一串 字母串,但如果我要做 reciver 二点零,这样是不够的,因为字母串只能未给模型,很难追溯。所以这次我要规定 reciver 不 能直接返回字母串,而是同 容易返回 evidence item。 这个 evidence item 里面要保留证据类型, document id, page number, trunk id, asset id, 文本内容, ocr 文本图片说明,绑定 box score source 与 i i 这样后面的 answer generation 和 trans 面板才知道这条证据来自哪里,属于什么类型,能不能展示原始来源。 呃,这里要重点说一下 retrieval contract。 因为 rev charts 二点零的关键不是回答多放一张图,而是每一个回答依据都能被追溯。 如果 retrieval 返回的是字不串,那么后面的模型可能能回答问题,但系统不知道这段话来自哪个文档,在哪一页,是文本 chart 还是图片说明对应的图, 图片在哪里?有没有绑定 box, 能不能在 trans 面板里展示?这样 rock chance 就 断了。如果 retrieve 返回的是 evidence item, 情况就不一样了,回答生成能拿到的不只是内容,还有来源。 chance 面板拿到的不只是文本, 还有证据类型、位置、分数和原始资产。这时候 rock chance 才能从 text trump chance 升级成真正的 evidence chance。 所以 这期我不会先写代码, 而是先把这几份 guides 给立起来,尤其是 retrieval contract, 因为它决定后面 raptures 二点零是不是能真正地追溯,这是最重要的一份文档。 所以 guides 的 占值不是多写几份文档,而是让 cortex 在 动手之前先搞清楚四件事,第一,当前的 rag 是 怎么跑的。第二, routchains 二点零要升级到哪里?第三,图文资产应该怎么建模?第四,解锁结果应该用什么契约返回。有了这些杆子, codex 后面再去写代码,就不是凭感觉改它,知道现状,知道目标,知道数据模型,也知道接口边界,这就是 agent harness 的 第一层。那下一期我们会继续搭第二层 senses, 也就是 codex 改完 routechains 二点零之后,怎么验证它真的改对了?
粉丝2116获赞1.1万

如何把 codex 用到极致?现任 codex 开发者、体验工程师 jason 六最近发了一篇教程,专门教用户如何最大程度压榨 codex 的 价值。这篇教程分为十个小节,包括 codex 的 独占功能、最佳使用实践等几个不同方面。今天这期视频,我会结合我自己长期使用 codex 的 经验,把这些内容重新拆成四个层次, 告诉你到底应该怎么做,才能让你的 codex 发挥出它的最大潜力。在视频的最后,我也会介绍一个文档里没有提到的斜销技巧,帮助你白嫖。 codex 的 使用额度 一层是两个使用习惯的改变,这里 jason 提到了持久对话和语音输入。过去大家用豆包、 kimi 这类对话式 ai 很 容易把它当成搜索引擎,想到一个问题就新建一个对话,每次都是问完就走。 但对于 codex 这种 a 阵工具来说,更合适的方式是给长期任务建立固定对话,让同类型的任务始终在一个对话里进行。 codex 的 优势在于它能够主动记忆,压缩上下文,即使一个对话已经聊了很长,它依然能够记住之前的关键信息,并且这些信息可以在新的任务中附用, 而不是每次都需要你把相同的事情跟 codex 再描述一次,这不仅能够提升效率,也能节省 token。 更重要的是, codex 不 用每次重新探索一遍项目,也就大大减少了一上来就走错方向的概率。然后是语音输入。 在 ai 聊天助手时代,有一个很火的概念叫提示词工程。大家会反复琢磨怎么把一句 prompt 写得更完整、更准确、更专业。但到了 agent 时代,提示词工程被上下文工程、 harness 工程和工作流循环这些概念所取代,并且 ai 也变得更聪明、更主动。这时你再去精雕细琢,提示词反而没有那么重要了。更加重要的反而是如 如何最大限度的把你的想法表达给 ai? 使用语音输入,把你脑子里那些还没完全整理好的想法直接倒给 codex, 让 codex 去梳理,去查缺补漏,然后再来跟你反馈,通过几轮沟通,把需求收窄,最终把你脑子里那个最有价值的想法挖掘出来,这其实更接近真实的工作场景。 第二层是如何在工作中让你和 codex 更好的互动。这里 jason 提到了侧边栏、任务干预和任务排队。先说侧边栏,他让你在 codex 里能直接看到当前项目里的文件,以及你和 codex 一 起产出的最新结果, 包括但不限于电子表格、 ppt、 pdf 文档。你不用先导出文件,再打开另一个软件,再把想要修改的内容复制下来,告诉 ai 哪里不对。 你可以直接在旁边看,直接标注,直接让 codex 改。以前 ai 做完东西以后,审查和修改是断开的,侧边栏把审查和修改这两个环节接上了。任务干预和任务排队则是让你跟 codex 的 沟通效率变高。 以前你让 ai 做事,经常是丢一个任务,然后等结果等他做完才发现方向错了,只能重来。但现在你可以看着 codex 的 执行过程, 一旦发现他跑偏,就及时让他微调。比如这个地方先别改,这句文案不是我要的意思,先把布局问题解决掉,任务排队更像是提前安排下一步,做完这一步以后接着做下一步,比如页面改完之后,发育览测试跑完之后整理说明。到了这一步, codex 就 不再像一个问答框,而更像一个坐在你旁边的同事,你俩共同推进一个任务, 有什么问题随时都能沟通调整。第三层是如何让 codex 自己干活,而你则可以离开工位去喝杯咖啡,或者做些别的什么事情。这就是教程里提到的自动化和勾死模式。先说自动化,它可以让 codex 在 你设定的时间自动干活,这特别适合于那些重复 但又每天都需要做的事情,比如检查消息、写日报或者搜集每日资讯。你可以让一个固定对话定期检查某些事情,把你的需求以及流程提前跟 codex 沟通梳理好, codex 会在你指定的时间自动开始执行。当你回到电脑前时,那些枯燥乏味的重复性工作已经做完了,而你只需要做最后的审核。 勾子模式也是类似逻辑,如果一个任务有一个明确的交付标准,那它就非常适合以勾子的形式交给 codex 去做,比如为现有的开发项目新增一个功能或者排除一个 bug。 你 告诉 codex 最终的目标,它就会一直朝着这个目标推进,并且在工作过程中会自主验证自己的结果,以确保最终产物符合你的全部要求。 这里还要提到一个 codex 手机 app 上,接入正在运行 codex 的 电脑或远程环境,查看当前任务状态、审批命令、变更任务方向,甚至开一个新任务 文件权限本地环境还留在电脑上,但你不一定非要坐在电脑前盯着。这个功能可以让你随时随地和 codex 一 起工作,跟自动化和 goes 模式简直是绝佳搭配。第四层最后讲讲如何让 codex 拥有一个超越对话框的持久记忆。 虽然 codex 这类 agent 普遍都有自动记忆功能,但是如果想要让 codex 准确记住你项目的具体情况、进度,以及你最在意的那些细节,最稳妥的办法还是将这些重要信息以文本的方式保存在项目中。你最稳妥的办法还是将项目情况、代办事项、工作日期等文件 在工作中实时更新,这样不仅可以让 codex 记得更牢更久,也方便你和你的团队进行信息的共享。所以你会发现,怎么把 codex 用到极致。 最后,其实不是一个功能问题,而是一个工作系统问题。先用固定对话和语音输入改变使用习惯,再用侧边栏任务干预和排队,让 codex 真正参与协作。然后用自动化 goales 和手机端,让它在你不盯着的时候继续推进,最后把关键经验写进文件,形成共享记忆,从而让 codex 成为一个长期的可靠的工作伙伴。 最后,对于大多数人来说, codex 的 额度往往是不够用的,这里我也分享一个可以白嫖 codex 额度的小技巧,那就是在每个额度周期结束之前,将没有完成的任务一股脑全部交给 codex, 可以 是一个长任务,也可以是一系列小任务, 反正 codex 会自己规划。在一个对话轮次中, codex 即使额度用尽了,也会持续不断的去工作,直到最终完成。也就是说,只要你规划得当,你可以白嫖到翻倍甚至更多的 codex 额度。 jason 这篇教程里还有一部分专门讲插件和 m c p 这块比较硬核,其他博主也分享过很多,本期我就先不展开了,我整理了 jason 这篇教程的原文,如果有观众朋友感兴趣可以点赞,关注后加入我的粉丝群领取,期待我们一起用 ai 创造更多价值!

大家好,今天是六月二十六日,来看看这两天 ai 工程上一个挺值得关注的焦点, 编程智能体的运行架子 harness。 先给个数字找找感觉。 open ai 说,过去半年,它内部 codex 的 输出量研究部门涨了五十六倍,工程部门也有二十七倍。 编程智能体确实在爆发,但真正决定它好不好用的,往往不是模型本身,而是模型外面那层架子。 这两天有三件事都在说这个 harness, github 把它量化了, open ai 的 codex 让它上了云, resale 把它们统一编排了起来。 先说 github, 它发了一篇评测,第一次把这层架子到底值多少给量化了出来。先说清楚, harness 是 什么,它是模型外面那层编排, 给模型配什么工具,塞什么上下文,按什么流程跑。模型是发动机, harness 就是 底盘和变速箱 get up 做了个很干净的对照实验,同一个模型,同一批任务,分别放进自家 copilot 的 架子和别家的架子里跑,把上下文、窗口、推理强度这些变量都拉平。结果很有意思, 同样的模型,同样的完成率,换一个架子, token 的 消耗能差出一截。它的 copilot 命令行,在好几个配置下,用更少的 token 做到了同等的完成率,在 soulnet 四点六和 opus 四点七上尤其明显。 结论很实在, harness 和模型一样关键,而且是能测出来的。第二件 openai 的 codex 正式发布了,从一个本地工具变成了能上云进团队的生产工具。 它现在支持远程执行,你在手机上起个任务,让它在云端跑。回头再看结果,还配了 codex 的 sdk, slack 集成 和一整套管理后台,花费上线监控分析面板。这意味着这层架子不再只是个人开发的脚手架,开始往团队和组织那一层走了。第三件, vassel 的 aisdk 把这一层直接抽象掉了, 它有个叫 harness agent 的 东西,用一套统一的接口去跑 clock code code, 还有 deep agents, open code 这些现成的架子。最妙的是它的说法让你像换模型一样换 harness, 你 的智能体只写一遍,底层用哪个架子随时能换,配合 get up 那 个结论一起看就很顺,既然架子之间的差距能量化,那能不改代码就换架子,本身就是一笔工程红利。 把这三件事连起来看,模型是发动机, harness 是 底盘。今年很多工程上的红利其实就在这一层,它被量化了,上了云也被统一了。 下次你觉得某个编程智能体不好用,先别急着换模型,可能换个架子效果就不一样了。好,今天就聊到这里,我们下次再见。

程序员在使用 cologold 去修改已经有的项目的 bug 的 时候呢,一定会经历过这样的情况,你先让 cologold 去找 bug, 然后他分析了一波,把这个 bug 修复了, 修复完之后呢,你把项目再上上去之后发现,哎, bug 并没有解决,你反复,然后再让他去描述一下,分析一下这个 bug, 再让他去改,然后呢,再上上之后发现 bug 并没有解决,那这样呢,你就会陷入了项目有 bug colocode 分 析,当然这里面你可以是 codex, 其他的分析在这样就是不停的循环,好像这个循环魔咒打打破不了。那么我们怎么更好地去解决这个 bug 呢? 首先我们来分析一下这个问题啊,就是用 colocode 这样的 hash 工具,我怎么去分析项目?那么在项目里面 他固然有很多 bug, 我 们可以看到他有 bug 一, bug 二,项目有很多的 bug 一 二三,那么这些 bug 呢?他形形色色对吧?那么像之前的这个项目里面的代码,他有些是, 有些是用可能靠的这样的工具生成的,那有些是人写的,对吧?那么标准的理想的情况,项目按照最开始的设计模式的层级结构, 最底层是负极抽象类,我核心模块,那么下一层就是它刺激一些的模块,再下一层可能就是具体的函数或者类,这是最标准或者是最理想情况下的项目的一个结构类型。如果说它出现 bug, 那 么它应该是 比如说哪一个节点它的继承错误,或者是哪个节点的配置错误,那么对于 bug 来说,它相当于树状结构来说,我可能关联的模块呢?你比如说 bug 在 这个位置,我可能关联的模块就是这个, 然后它弱关联的是这个。如果 bug 在 这个位置,那么它关联的是这个位置,这个位置和这个位置它弱关联的是三个,也就是说 他的关联代码第一层,第二层,无论是哪一层,他关联性他其实是相对偏弱的。也就是说在严格意义上的代码构建的过程中,代码之间的这种关联性和玻璃性,他通过层级的隔离,他会非常的弱。但是事实上 这个代码呢,他有各种不同层次水平的程序员去写的,那我们的代码呢?就像一坨石上,大家应该是深有感触的。其中最严重的第一种情况就是流水账式,什么意思呢?完全没有层级结构,完全没有重构,我的代码就是流水, 想到 a, 写到 a, 想到 b, 想到 b, 就 这样一直写。第一种情况,第二种情况就是我里面通用的结构呢,我并不抽离这个里面我有配置信息,我是 e 代码的形式写入的,这里面有配置信息,有 e 代码的信息。那么在这种情况下呢,代码的层级结构就变成了网状结构,可以想象一下, 对于这种史山代码,它的结构就从数据结构退化成网状结构。那么网状结构我们想一下,在这个地方,如果说出现了问题,出现了 bug, 那 么它的弱关联要比这个弱关联要多。那么言言外之意呢?就是说 它的代码关联性的这个窗口如果是十兆的话,那么在这种情况下,它可能就变成了二十兆。 cologne 的 强弱取决于你连的外部的模型,那么外部的模型它对于这种编码的能力,随着你窗口扩大,它的能力应该是一个弱化下降的过程。 当你强行把当前的这个小的这个关联的窗口给它扩展到这个关联窗口下,在这种情况下,可乐扣的带着大模型,那它对于代码的能力,处置能力,它就会弱化下去。所以说呢,你修改了 bug, 虽然它每次都说的言之凿凿, 但是 bug 并没有真实的修复,这是它的根子,那具体怎么办呢?在修改 bug 过程中,那么基于这样一个分析模型,我们怎么办呢?那很显然就是要对代码进行重构,把网状新型的结构改成层级结构, 把中间公用的你比如说往第三方的引用,服务器的配置,第三方服务的令牌等等一系列的配置一定是集中到某一个配置里面的,还有公共的工具类的一定是抽象出来的,那么就是在这个梳理过程中我们要重构,那么重构 其实他又分为了这几个级别,第一个级别就是代码函数级的窗口,我不能说一个工具类的函数或者一个功能性的函数,我在任意地方,我用到的地方我把它写一遍。类似于这种的成功的目的就是要缩减代码可适用于的这种窗口的大小, 因为对于模型来说,你给他给到他关联的代码越少,他的能力,他的准确性是越高的,这是我们核心的目标。第一个函数层面,第二个就是模块层面, a 模块和 b 模块,我们说就是在编码的过程中,一定是一个弱相关的 高内距低或模块层级的玻璃。对于纠缠逻辑要梳理,这里面的根子就在于, 我再强调点,根子就在于当它处于层级结构出现,出现 bug 的 时候,它就是其实相当于把这个较大的,也就说如果一个 bug, 如果要处理这个 bug, 在原先的情况下,我可能要树立这么大的一部分的代码,当我分一层层级版的时候,他可能这个量级就变小了,你后续出 bug 我 也能很好的修复,这是成功的第二个需要注意的。 那么还有一个重中之重呢,就是我们在使用 colocore 的 在重构完之后一定要进行版本控制,你让它当你有时候指令不明的时候,它会引入什么样的 bug 呢?就是你让它去构建一个, 结果发现呢,你把他不但把新功能没有加对,而且把原先的功能也加坏了,然后你再有指令说你在你,你现在这功能你给我加错,你给我恢复,其实他是恢复不了的,他有可能会把当前的功能破坏掉,原先的代码给你改的一塌糊涂, 一定要加版本控制。这里面版本控制呢,就是用最经典的 get, 你 默认每一步往前走,或者无论是你调 bug 还是去对代码出口,一定是要有这个版本控制在里头,每一个每一小步,让它去在错误的改正之下,也一定能够完整的去回,回到原先的地方上去 啊。这个就是 bug 修复它背后的逻辑,我们基于这一个先重构,然后对于 bug 分 析,紧接着对于 bug 的 修复,这是完整 bug 的 修复,而不是一上来之后呢 bug 直接让它去解决, 这就会,这就基于这个链条你就能打破,就是它,它说颜值遭就是一本正经的胡说八道的去解决问题,把它变成了有理有据有条理的把问题解决掉。

给你的 codex 套上教程,这就是 harness engineering, 我 利用这个方法让 codex 帮我制作了一个网页小游戏,它直接运行了四十六分钟,然后我们可以看一下成果如何。 作为一个小游戏来说的话,它其实该有的功能全都有了,如果后续要发展其他的关卡的话,也是可以用到这个 harness engineering 啊,继续完善什么的。 如果直接让 codex 帮你制作一个小游戏,它可能会出现能跑但能操、功能缺失等情况。为什么同样是 codex, 但有些人制作出来是半成品的, 这个时候我们就要用到这四个文档,这四个文档加起来就是我们今天要讲的 harness engineering。 第一个 agent 点 md, 它相当于项目入口,告诉 codex 这个项目怎么执行,哪些事情不能偷懒, 什么情况不能算完成。第二个 s p e c 点 md, 这个是规格文档,写清楚游戏到底要做成什么样, 比如经验球怎么掉,升级怎么触发,卡牌要做到什么程度, ui 必须全中文等。第三个 tasks 点 md, 它负责拆开开发顺序,先做首页,再做地图,再做角色控制,攻击怪物经验等等,这样 codex 就 会想到哪做到哪。第四个 acceptance 点 md, 这个是验收标准,他告诉 codex 不是 你自己说完成就完成,而是每一项必须过,所以这四项东西加起来就不是一句 prompt, 而是一套工程护栏,也就是 harness engineering。 准备好之后,我们只要让 codex 按照 agent 点 m d 执行,即可完成我们的小游戏制作。 我从来都不会输贴图粗糙,那么为什么会出现这种问题呢?其实是因为这个时候我们是让 codex 又当运动员,又当裁判,那他肯定会去偷懒。 这个时候我们就需要 superpowers, 在 插件里面我们直接搜索 superpowers 就 可以去安装,然后这个时候我们再去助手框里面艾特它 superpowers, 然后再去复制我们刚刚那段话,这个时候它就会自己创建子代理,让子代理去监督自己最后的验收标准,它就不会偷懒。 那么最后总结一下,这里需要用到 harness engineering 去约束 codex, 并且建立四个文档,分别负责工作规则、 项目规格、开发顺序以及验收标准。最后还需要用到 superpowers 去审查它,防止它自己去偷懒。如果你也经常觉得 codex 做出来东西差一口气, 可以试一下这个方法,先写文档,再让 ai 做,然后再让一个代理帮你去验收,完全解放双手, ok, 那 么本期视频如果对你有帮助的话,记得点个收藏,我们下期再见。

你身边有没有这样的朋友,花几个月搭了个 ar, 上线当天就翻车了。不瞒你说,我就是那个朋友上个月搭的客服。 ar 测试一切正常,结果上线第二天,用户一句话就让 ai 开始教黑客技术。那一刻我才懂,模型再强,没有护栏就是定时炸弹。 这个护栏圈内管,它叫 harness 工程,在 ai 模型外面包一层可控的安全壳。模型管思考, harness 管边界 就像自动驾驶的决策约束层,算法再强,也必须圈在人类设定的轨道里落地。分三步,评估,防护、监控。第一步,评估,拿对抗样本测你的 ar, 找到软肋在哪?第二步,防护,设定输入输出规则,把越狱注入幻觉三类攻击逐一拦截。 第三步,监控上线后,丁日志异常回复,立刻告警,回滚,兄弟,听我的,下周一上班先做这三件事,装个 guards a r 二十段配置就能兜住粤语攻击 输出层加内容审查敏感词自动拦截,双保险上路。平常爱用 check gpt cloud 的 朋友,两个习惯改一下 prompt, 写完直接用了加依据,输出约束稳很多,大了 ai 工作流总被搞崩,接一个输出较验节点立马见效。 di 不 翻车不是靠运气,是靠这层保险杠。你的 diu 上线之后踩过什么坑?评论区聊聊,下期我调热评接着拆。

真正决定 ai 能不能干活的不只是模型,把模型想成一个聪明的新同事。聪明不等于一上班就能稳定交付,它还需要工作说明、资料、权限表格、模板、检查清单以及出错时找谁确认。 模型是聪明的新同事。 harness 是 让他可靠工作的整套环境。这套环境有六个关键零件,目标与指令、上下文、工具与连接、状态与记忆、边界与权限、验证与反馈。 比如检查供应商报价表、标准式指令报价表是上下文读取 excel 式工具以检查清单式状态。 禁止自动发邮件是权限边界、复合总价和缺失自断就是验证。模型没有变,变的是它周围的系统。于是一次聊天变成了可重复的工作流程。 所以,别只问模型够不够聪明,更要问它周围的 harness 搭好了吗?

这一期我们继续聊 agent harness。 以前我用 cortex 更像是在用一个很强的单兵,我给他一个需求,他自己冲进去看代码、改代码、解释代码、修 bug。 这个方式在一个小任务里面很好用,比如改一个字段,修一个接口,补一个页面状态。但一旦进入真实项目, 尤其是 open 维他命这种,已经有了 rag、 rag chains 推理记录、智能体模型管理这样的旧项目,单兵作战肯定是不够的,因为真实项目不是只有实现功能,它还涉及项目理解、架构、边界、运行环境验证机制、过程记录以及最后的审查。如 果这些都靠 codex 在 一个对话里临时判断,它很容易做出一个看起来完整,但不一定可靠的结果。所以这期我想讲的不是 codex 到底会不会写代码,而是怎么把 codex 从一个单兵放进一套真正的工程流程里。这套工程流程就是 agent harness。 我对 agent harness 的 理解不是一个插件,也不是一句提示词,它更像是一套给 ai coding agent 使用的工程工作台。这个工作台里至少有五个部分。第一是 guides, 是 项目的地图,它告诉 cortex 这个项目是做什么的,核心架构是什么,关键链路在哪里,哪些规则必须遵守,这次任务的边界是什么?没有 guides, cortex 就 像是一个刚入职的新同事,直接被丢进核心模块里面改代码。第二是 truth, 是它能使用的工具, cortex 不 能只在对话里分析太阳能运行命令、启动服务、执行测试、查看日记、检查接口返回, 这样它写完代码之后才不是只说我觉得实现了,而是可以看到真实运行结果。第三, sensors 它是检查机制,它要解决的问题是 cortex 怎么知道自己做错了?比如测试失败、接口异常、日制报错、页面没有渲染, flag 解锁没有命中引用来源对不上,这些都应该变成 cortex 能感知的反馈,否则它很容易停留在我已经完成了。第四,是 state 或者是 memory, 真实项目不是一次对话就结束了,任务计划、当前进度、设计决策、踩坑记录、验证结果都应该沉淀下来,否则下一次去开发 cortex 又要重新理解一遍。第五, subagent 复杂任务里不应该让一个 cortex 同时负责计划 实现和审查,可以拆分成多个 agent, 比如 planner 负责拆任务, build 负责写代码, reviewer 负责检查结果, test 负责验证链路。 这不是为了复杂而复杂,而是为了减少一个 agent 自己设计、自己实现、自己说自己完成的问题。这五个部分组合起来才是我理解的 agent harness。 拿 open webmin 这次要做的 rap tracks 二点零来说,如果只是把 cortex 当单兵,我可以直接说帮我让 rap tracks 支持图文引用,它可能 马上开始改前后段代码,改数据库。但如果是 agent harness 的 方式,我会先给他搭一套工程流程,在 get 字里面写清楚。 open webmin 现在已经有 rap tracks, 这次不是重写 rag, 也不是重新做一个知识库系统,而是让现有的 rap tracks 进行升级,让它支持图片截图、架构图的最综合引用。 choose 里面要准备文档解析流程、图片提取流程缩影更新命令问答接口测试前端 trace 面板检查 sentence 里面要定义图片有没有真的提取出来,图片说明有没有生成,图片说明有没有进入缩影剪索有没有命中?回答有没有带图文引用,引用能不能追溯到原始文档和页码,原来的文本 reg 有 没有被破坏, state 里记录当前方案是什么,哪些文件改动过,哪些 些检查通过了,哪些问题还没有解决? sub agent 再把任务拆分成先设计方案,再实现功能,最后审查和验证。这时候 cortex 就 不是一个人冲进项目里改代码,它是被放到 一套有地图、有工具、有反馈、有记录、有分工的工程流程里,这就是 agent harness 的 价值。 所以现在我不再只问 codex 能不能写出这个功能,我更关心的是他在什么流程里写,他怎么知道自己有没有写对,他改完以后项目能不能被复盘,下次继续开发时能不能接得上。这也是为什么我说 codex 不是 写不动,而是缺一套 agent harness。 编辑的 harness 的 意义不是让 ai coding 变得更复杂,而是让 cortex 从会写代码变成能在真实项目里稳定工作。下一期我们就进入 harness 的 第一层 guides, 也就是如何给 cortex 准备一份真正能用的项目地图,让它重新理解 open mapping 这个项目。

今天就一个目标,搞清楚,你需要使用 codex 吗?全网所有的博主都在关心你用上了 codex 没?只有我关心你,你真的需要用吗? codex 还有两个特别火的同学, cloud code 和 openclaw 小 龙虾,它们三个又有什么区别呢?真的要用的话,该用哪一个呢? 把笔拿出来,五分钟教会你想要知道你需要 codex 吗?首先你得要知道 codex 能做什么?以及它的两个热门同学, cloud code, 它简称 c c, 还有前段时间爆火的 open class, 这三个。我们在上一集里面讲了,这些都是 agent, 它们是被谁指挥啊? ai 大 模型来指挥,去达成你想要的那个工作目标。 只不过呢,不同的 agent 被不同的大模型指挥,去达成目标的时候,过程有一些不一样而已。听下一些抽象啊,我给你举个例子你就明白了,假设你现在有一堆货,这里有一百个箱子,你现在需要把它运送到一个目的地去。 这时候有一个司机 a, 他 开了一辆五菱宏光迷你 v, 他 因为车比较小,所以他选择跑十趟。 这时候来了个司机 b, 他 开了一辆长城炮,这是个皮卡车,他有一个很大的后斗,他只需要把这一百箱货装在他的车斗里面,一趟搞定。 这时候来了一个司机 c, 他 开了一辆理想 l 九,他发现他有一个拖车钩,他挂了一辆拖车,两趟就把这一百个箱子送到了目的地了。通过这个例子你就理解了,司机 abc 就是 三个不同的大模型,这三辆不同的车就是三个不同的 a 阵,也就是这三个东西,那跑一趟还是两趟还是十趟,就是他的流程, 总之呢,你现在有一个清晰的目标,你需要一个大模型来操作这个 agent 去帮你设计这个流程,最终让你达到这个目标就可以了,具体怎么达成的你不用管,所以这个时候你应该就有了一个相对清晰的判断,如果你有一个目标, 但是由于你不会写代码,不会设计,不会搞架构,不会设计流程,那么你就可以立刻去学。 那到这里问题又来了,这三个都是 agent, 这三个都可以让你达到目的,我应该学哪一个呢?我来给你讲清楚这三个中间有什么区别就可以了。第一个就是 codex, codex 约等于 cloud codex, cloud code 都是大厂出品,性能功能肯定是没有问题的,功能非常强大,但是门槛高。 opencloud 呢,有一些它们俩不具备的优势,首先第一个就是轻巧,主要体现在它可以直接部署在云端, 非常的便宜,并且他互联互通非常方便,他可以接入几乎市面上所有的通讯软件,比如说微信、飞书、 qq 等等都可以。另外就是门槛低, 我用我自己的一个实际的详细案例来给你解释一下,你应该用哪一个?我自己呢开了八家新疆特产店,每个店里呢有三百多个产品,我有二十多个店员 大量的关于产品的资料,以前呢,店员要了解这三百多个产品,要去逐个的学习资料,总公司呢要整理这些所有的产品的资料发给店员,这个效率非常的低,因为产品一旦多了以后,查询这些资料非常的麻烦。现在我是怎么解决的呢?我使用 opencloud 做了一个知识库, 我把所有的产品,所有的资料给到了这个知识库里。这个 opencloud 的 知识库我是使用 cloud code 开发的, 然后我把这个知识库接入了我的企业微信,店员就可以在企业微信上直接访问这个知识库,问关于产品的任何知识,这个知识库都可以给店员一个高质量的回答。我通过 cloud code 和 opencloud 开发了一个非常棒的产品知识库系统。好, 复盘一下。如何知道你真的需要一个 codex 吗?或者需要一个 cloud code 或者 opencloud 呢?首先你要知道这三个东西都是一个 agent, 它由大模型去操控, 然后来完成你的目标。所以说,如果你有一个明确的目标工作,因为你不懂代码,不会设计,不懂架构,不懂设计流程,那你就立刻去学。那究竟要去学哪一个呢?如果你是一个纯新手, 建议你先从 openclaw 开始,因为它的门槛非常的低,你可以在扣子或者是 timi 花上三四十块钱买上一个云端版的 openclaw 玩起来。等你觉得 openclaw 的 功能已经不能满足于你的时候,你再去学习 code 和 claw code, 因为毕竟它的门槛比较高,学习成本也相对比较高。好,接下来是截屏时间, 恭喜你,你已经了解清楚了现在最火的三个 agent 你 到底该不该用,以及该用哪一个了。如果你决定要现在开始尝试使用一下的话,那你一定绕不开 a p i skill m c p 和 c l i 这些东西是什么?下期视频给你讲清楚。

我现在最讨厌就是那些麦克的博主,天天吹 cloud, 还有酷狗 x 怎么怎么牛逼。我最早就一直没有用国外的模型,主要因为我懒得翻墙,太麻烦了,而且我是代码量比较大, 我现在的代码在那两百万,加上所有配置文件大概五百万,我不可能用国外大模型,酷狗 x 还有命令行那种格式, 所以我一开始用国内的。那我当初发现最好用的模型就是 kimi, 这个印证了我一个点,就是马圣马斯克 spacex, 它收购了那个 q sir, 它就是套壳 kimi 的。 你就想你就知道,大家说其实不知道模型能力的, 大部分人是感觉不出来的,所以国外为了卖课,他就是要推国外的模型,因为这里头可以设置到很多中转站的商业模式我就不说了。 所以现在的国产模型和国外模型是没什么太大的区别,尤其智普五点二出来之后,觉得这个模型是非常强的,我一般不舍得用。一般现在用的最便宜的 deepsea vs flash, 因为我的哈尼斯工程体系建立起来了, 就现在用什么模型,写写我这种框架代码基本上都不会差,所以我现在一个月大概两百美金的消耗,而且用的基本上都是最便宜的模型。 deepstack v 四 flash 和千万三点七 max 在 现在打五折, 那个消耗是非常低的。你想想我的代码量多大,因为我现在同时将近五百万行代码吧,工程量特别复杂, 但是哈尼斯建立起来之后,我心里特别爽,现在洗的代码基本上一次过,因为我有各种约束,各种规范, 这种花了半年时间去逐渐打磨,逐渐摸索出来的,我觉得这个非常有价值。如果你们觉得非常好了,我会做系列客人,我也在跟一个大厂官方的去合作,帮他出基于他们工具的一套哈尼斯实战, 你们不用去报这种课,没什么太多价值。 harness 本是最重要的是工程实践过程,不是理解它们里头的所谓的什么概念,什么 ruler agent, skill, 还有 command, 还有记忆,记忆管理,这些都不是价值。最关键的是你怎么根据你的工程搭建适合你自己的 harness。 现在我花了很长时间去摸索这个过程,特别痛苦。我最开始也是用最贵的大模型,是用智普的,我所理解的这就是智普。五点一,现在都用 deepsea vs flash, 全部搞定, 非常爽。现在我的模型成本全部下降下来了,我的 toky 成本消耗也下来了,只不过我要做的东西越来越多了,所以说还是每个月保持很大的一个图形消耗量。

不注册账号使用 codex 没有办法使用插件,接入国产大模型的意义在哪里?上期有三十万人看过相关的视频,产生最大的疑问就是这一个。产生这个疑问是我们不知道。可以用一个小方法,先下载插件,之后再接入国产大模型,就可以使用插件了。 也不了解 codex 的 协调能力有多强,接入 ai 大 脑之后呢?执行的效果就看软件的协调能力。在业内我们叫做 hash 工程,而 codex 和 cloud code 的 hash 工程是做的非常好的,所以即便 codex 没有用上 gpt 大 脑,但它也能发挥很大的作用。

最近 ai 圈经常提到一个词, harness, 很多人第一反应是,这又是什么新噱头?其实不是,今天我们一分钟讲透它。 harness 其实等于 ai 模型外面那层工作系统。如果把 ai 看做厨师,模型就是厨师本人的水平, skill 就是 菜谱。而 harness 更像是整个厨房,包括食材、工具、火候、出餐流程、卫生检查等。 所以 skill 应该算 harness 的 一部分。那么更好的 harness 会不会让结果更好?答案是会的。同一个厨师,因为食材不同,出餐流程和标准不同,结果也会有明显的差异。那普通用户能怎么优化自己的 harness 呢?可以做五个动作, 第一,把资料尽量提供齐全,避免让 ai 凭空去猜。第二,写清楚输出格式,比如表格清单、邮件、 ppt 大 纲。第四,规定边界,哪些能预测,哪些必须标注不确定。 第五,要求复查,让他最后列一个待确认问题清单。所以了解 harness 对 我们的意义是,要优化 ai 出活的质量,不只要看模型本身,还要优化使用模型的一整套流程方式。


anthropic 和 codex 的 分歧这次是真的公开了,同样都在做 coding agent, 但他们对 harness 的 判断正在走向两条完全不同的路。一边是 anthropic 前几天刚发工程博课系统展示他们怎么把 harness 做得更强更厚。另一边是 codex 的 开源负责人 michael bolin 最近在一场访谈里给出了几乎相反的信号,一个在继续加厚,一个却在努力作薄。所以现在真正的问题已经不是 harness 重不重要,而是它到底是终局,还是一个过渡阶段的中间态。先把 harness 讲清楚,如果用最简单的话说, harness 就是 模型外面的那套控制结构,模型负责生成,但 harness 决定任务怎么拆,工具怎么调,上下文怎么传,结果谁来验,流程怎么往下走。所以它不是单个 prompt, 也不只是工具调用,它更像是 agent 真正能跑起来的那套工程外骨骼。而现在最有意思的地方就在于, anthropic 和 codex 都承认 harness 很 重要,但它们对 harness 的 未来判断已经开始明显分叉。 anthropic 的 路线是把 harness 做厚,这点我们前面其实已经拆过了。它们在最新工程簿里,为了让 cloud code 能长时间构建完整应用,加了很多非常重的结构。 比如 planner, 把一句话,需求扩成完整规格。比如 generator, 负责真正实现功能,比如 evalerer, 像真实用户一样去测页面接口、数据库状态。 再比如 contact reset, 就是 上下文快脏掉的时候直接清空,重新起一个新 agent, 再通过结构化交接文件把状态接过去,你会发现, anthropic 这套思路的核心是模型本身还不够稳的时候,要靠更强的外部编排去兜住长任务里的跑偏风险。说白了就是模型做事, harness 保证特别失控, 所以 answer pact 的 判断其实很明确,复杂任务之所以能落地,靠的不是单次深层能力,而是整套控制结构够不够强。但 codex 这边, michael bolin 在 最近访谈里给出的信号儿几乎是反过来的,他说的很直接,他们理想中的 harness 应该尽可能小,尽可能轻。 什么意思?就是不要把太多决策硬编码进外部框架里,不要疯狂堆专用工具,不要把流程做得越来越重,不要让模型每走一步都被人类写好的规则牵着走。 codex 的 思路更像是尽量给模型一个真实环境, 比如终端,比如沙箱,比如必要的上下文连接能力,但探索路径、调用方式、执行策略,尽量让模型自己决定。你可以把这理解成两种完全不同的工程哲学。 antropic 更像是在说模型还不够稳,所以我们要先把脚手架搭起来。而 codex 更像是在说,脚手架可以有,但别把它做成一栋楼,因为模型早晚会涨到能自己处理更多东西。这就是两边真正的分歧, 不是要不要 harness, 而是 harness 到底应该越来越强,还是应该随着模型变强不断收缩?所以这个问题为什么值得我们认真看?因为它背后其实决定了未来 coding agent 的 产品形态。如果 entropy 这条路是对的,那未来的核心竞争力就会越来越像系统工程,谁的 planner 更强, 谁的 evalerer 更稳,谁的 handoff 更完整,谁的流程控制更严密,最后拼的会是整个 agent 框架本身。也就是说,未来的竞争可能是 harness 之战。但如果 codex 这条路是对的,那现在很多复杂的外部编排本质上都只是过渡期补丁。随着模型的推理、记忆 工具使用,还有长期执行能力继续变强,这些重型框架里的一大部分可能都会被模型自己内化掉。到最后真正留下来的,可能不是一个很厚的编排系统,而是一个相对轻量的运行环境,比如 sandbox, 比如 memory, 比如 connector, 比如少量但足够强的工具入口。如果真走到这一步,那 harness 就 不是中矩,它更像一个中间态,是模型还不够强的时候,人类替它补上的那层结构。但这里最有意思的是, michael 也没有说 harness 会彻底消失, 它其实保留了一个底线,就是环境和安全不会退场。这点特别重要。因为这说明,哪怕在最做薄 harness 的 路线里,也不是完全没有 harness, 它只是会从流程控制层慢慢收缩成运行环境层。这才是这场分歧最值得看的地方。 anthropic 在 回答的是模型还不够稳的时候,怎样让复杂任务真的能跑起来。 codex 在 回答的是模型越来越强之后,哪些外部结构还值得保留。所以如果把这两条路线放在一起看,我觉得真正值得记住的一句, where anthropic or codex 谁对, 而是 harness 现在当然重要,但它最终会不会成为主角这件事还没有定论,它有可能是 ai coding 的 终局, 也有可能只是模型能力跃迁之前被快速放大的中间态。而这个问题一旦想明白,你看今天很多 a 阵的产品视角就会完全不一样,你就不会只问这个产品加了多少工具,做了多少编排,有多少 a 阵在写作。你会开始问另一个更关键的问题, 这些结构到底是长期护城河,还是只是在替今天的模型补短板?如果是前者,那你应该继续把 harness 做强。如果是后者,那你就得非常警惕,别把过渡期脚手架做成未来的长期负担。所以我自己的结论是, entropic 和 codex 的 分歧, 表面上看是在讨论一件更根本的事,未来 coding agent 的 核心竞争力到底会停留在框架层, 还是重新回到模型层?这也是为什么我觉得这个问题不是技术细节,而是路线判断。我最后留一个问题,你觉得 harness 最后会变成 ai coding 的 终局,还是只是一个被迅速放大的中间态?评论区聊聊,关注我,下期继续带你拆。

剪辑师会 ai 你 还焦虑啥?本期教剪辑师用 codex 生成文案,做口播账号,手把手教你接入国产大模型,无需订阅和注册。 open ai, 国内直连 deep seek, 烧起 token 完全没压力。 剪辑师为什么要学 codex? 很多小伙伴学完剪辑想练手,别傻傻去当牛马,甚至免费给人白干,何不好好运营自己的账号,做点有长期价值的事。伙伴计划收益不比牛马单少。不会写文案,今天就教你用 ai 写, 至于为什么不是直接问 ai, 还要费劲学 codex 你 就学着吧,用完你就知道有多香了。 cdlex 是 open ai 开发的智能体,直接下载安装就好了,默认用的是 gpt 模型,需要账号或者 api 登录,如果不想被盗乐,我们需要让它连国产模型,这就需要另一个工具 c c switch, 它的作用让 codex 的 交互改到 第一次打开 c c switch 要先进行设置,可能这里有很多图标,一定记得先选 codex, 这里只有官方的模型, 点击右上角的加号,可以看到支持很多大模型。我选 deepsafe 给大家做演示,其他信息都可以不用管,只需要填入自己的 api key, 可以 到 deepsafe 的 api 开放平台获取。首次需要注册和登录,然后到 api case 里面点击创建 apikey, 名字可以随便取一个, 创建完成后出现一串字母,直接复制就好了,如果没记住,下次是看不到的,重新创建一个就好了。回到 cc switch, 把 api key 填进来, 其他都用默认就好了。直接点击添加按钮,这时会回到首页。现在列表里面有 deep seek 了,这个时候还不能用 deep seek, 需要打开路由功能。 什么是路由功能呢? codex 发出的请求是 open ai 格式的,但 deepsea 能接收的是另外一种,就像 codexing 讲的英语, deepsea 讲中文,需要在它们之间做翻译。 点击左上角的设置,然后进入路由,点开本地路由。这里一共有三个开关要打开,第一个显示开关,第二个总开关,第三个 codex 开关, 然后再点返回,点击 deep sync 这一行起用,这时候看到提示切换成功,请重启客户端已生效, codex 连 deep sync 的 设置就搞定了。 如果以前打开过 codex, 请确保先完全退出一次,然后重新打开 codex, 这时候不会再提示登录或输入 api 了,但第一次启动会比较慢,请耐心等候。 box 是 以文件夹创建项目,项目里面创建对话的方式来运作的。点击 project, 第一个选项会在默认目录中创建项目。第二个在指定文件夹中创建项目,我们选第二个。 根据工作内容的不同,有可能会占用大量硬盘空间,请选择合适的位置作为工作目录。这里可以看到当前工作的文件夹。 codex 有 两种工作模式,一种是默认模式,经常干着干着就请求你的同意,如果对安全性要求比较高,就用这种。第二种是自动审查模式,不需要经过你的同意,它会自己一直干活,直到干完为止。 在对话框的右下角可以看到我们正在使用的模型。写文案这种工作我们使用 v 四 flash 模型就可以了。 看到这里和我们平时使用的 ai 都差不多,但使用网页版 ai 最大的困扰是他们不一定懂你。每次打开网页,他都像一个陌生人使用 codex, 他 能记住我们的习惯,更像老朋友 使用网页版 ai, 他 只会告诉我们应该怎么做,最终还得我们自己动手。 codex 就 不一样,他会自己调用命令或者工具完成工作,结果直接保存为文件。 所以第一步我们要先给他立规矩,让他用中文回答,不然随时会蹦出我们不认识的英文来。 在这里输入提示词,创建一个名字叫 dy 的 技能,这就是我们自己的 skills, 以后有优化和迭代,只需要告诉 codex 修改这个 skills 就 好了。 codex 会根据我们的要求自动创建目录和文件,自动生成 skills 不 懂编程也完全没关系,只要会和他对话就好了。我们来看看他理解了多少,他不只是创建了文件夹和文件,还概括了我们的要求。 在 skills 里面理解了我们说的每句话,按照标准的格式做了分类和整理。我们用这个技能创建一篇文案试一试。 现在文字越来越多,我们来了解一些文字的冷知识。大概思考了二十秒左右, codex 就 开始生成文案了。我们直接来看结果。 首先, codex 整理了十个有关文字的冷知识,比如只有母蚊子叮人吸血,文字化石可追溯到约九千万年前,大多数文字活动范围约五十到一百米,是不是有点意思啊? codex 还做了一些比喻,让灰色难懂的知识更加形象化,让观众更容易理解和接受。比如把文字比喻成特种兵,把它的作案工具比喻成精密针管,作案动机比喻成养娃。 接下来的内容,按照顺序详细的铺开开场沟子,使用了一个反差的概念,小小的文字和头号杀手吸引观众。台词、分镜或者配图都有详细的说明,还做了事实核查,不是凭空捏造乱讲的。 中间设置了反转,用京剧做了收尾,先把情绪做升华,提到了生存的高度,再来一个反转。理解归理解,见到文字照样拍。还总结了分镜表,给出了 bgm 和音效的建议。有这样的文案结果还愁口博不会做吗? 如果你对这个结果不满意,可以把你的想法告诉他, codex 会联系上下文帮你修改,不需要你再重复刚才的操作。 如果还想再深入一点去研究 hyperfreemars 加 emotion 或者纹身视频。作为只讲真话的博主,我劝你一句,那些东西试试就够了,别抱太多希望。最后记住, ai 不是 法外之地生成的东西,你也要自己把关, 内容从哪来的对不对,能不能发你得要负责。好了,这一期讲完了,想探讨提示词的朋友可以留言了。

那么多 agent 产品,为什么 crocco 和 co 蛋子会成为首选呢?为什么替换成国产模型,还要用这两个 agent 产品呢? 今年三月底, crocco 意外泄露的五十一点二万行代码,已经把答案摆在面前了。跑通一个能工作的 agent, 只需要几十行代码, 电容大模型给它配上工具,套一个歪有循环,它就能完成思考、行动、观察的闭环。那为什么要写五十多万行代码呢?因为大模型这个聪明的大脑,有了你电脑的命令行权限。而且它本身还有不少毛病,没有记忆能力。上下文窗口有限,输出的本质就是预测下一个偷啃的概率,还可能被恶意指令劫持。 于是你得给它套上浆绳,配上马鞍,让它成为稳定、高效、可控的 a 阵产品。这套工程被称为 harness engineering。 很快大家也发现了一个顶级大模型,如果跑在糟糕的基础设施上产出,反而不如一个中等模型配上精心设计的 harness。 这就是为什么很多人因为 gpt 靠模型太贵,用国产模型也要在 callco 和 calldes 里面跑,它们选的是这五十多万行代码构建的顶级配套。 今天这期视频我想以 qq 的 架构为主,同时带上扣大 s 来跟你分享 a 沈到底是怎么工作的,为什么这么设计,帮你真正吃透它的运行原理,从而更好地驾驭你的赛博团队。关于能力模块,我有一期视频分享,今天这一期重点展开上下文管理模块。 首先我们要清楚,目前所有 ai 大 模型都没有记忆能力,他根本不记得你们之前聊了什么,不记得你叫什么,喜欢什么,也不知道自己能用哪些工具。那你想想,如果每次对话你都要重复一遍自我介绍,帮他回忆之前聊到哪了,任务进展到哪一步,还得再培训一次,他能用什么工具?那也太低效了。 所以 a 诊系统在调用大模型 a、 p、 i 的 时候,会帮你把这些系统规则工具,既能说明历史、对话阶段总结等等,打包好这些资料,加上你的新问题,就是大模型每次收到的上下文,就算你只跟 ai 说 hi, 他实际收到的是一长串上下文。这也是为什么才发一句话就能跑出几万、十几万 tokens 的 账单。那是不是把所有历史信息都塞进去,模型就能永久记忆了呢?当然不行,他有三个硬伤。第一,上 下文窗口有限,很多主流模型的输入长度能到一百万 tokens, 听起来很大,但是在长任务里很快就会被塞满。第二,即使没到上限,上下文异常,模型的注意力就会被忽视。这个现象被称为上下文腐烂。有经验说法是,到百分之六十左右,他就开始上下文,焦虑,倾向于赶紧把你打发掉, 不太愿意输出长内容,甚至遗漏关键细节。第三,越长越贵,按 token 付费。你想想,你作为老板,要管住这个记不住事,每次得重新交代交代,长了记忆力又会被稀释,还要按次数收费的赛博员工,你要怎么管,才能让他持续稳定又省钱地把事情做好呢?我们来看看 carco 是 怎么设计的。 为了方便理解,我把上下文拆成四块,其中开启绘画就会注入上下文的部分,划入基础设定。其中工具和 skills 虽然有渐近式加载机制,但也提醒大家,工具和 skills 不是 装的越多越好,需要定期整理。这块我有一期视频分享外部知识和 r a g 也有一期视频分享,有兴趣深入了解的朋友可以翻看 上下文的部分。这期就重点围绕记忆模块来展开。我们先聊短期记忆,就是指在当前对话窗口生效的上下文内容。为了保证对话和任务的连贯, a 诊通常会把对话历史带入上下文,你发的消息模型的回复,他调用的工具工具返回的结果。但是随着对话一轮轮往下走,短期记忆会快速膨胀,很快就会触发硬伤,变慢变笨,甚至上下文窗口被塞爆。所以 a 诊不能傻不拉几的把所有历史记录原封不动塞进去,它必须压缩。而 夸库尔在短期记忆管理上有至少十种压缩机制,像一套分级防御系统,我把它们归为四类,除了用户主动这类以外,其他都由系统自动处理,你不用记,只需要了解它在怎么管理记忆。 你平时用 ai 应该有体会,之前的工具结果过几轮基本就没啥用了。比如他读一个文件,跑了一条命令,搜索了一批结果。这些内容在刚返回时很重要,但过几轮后任务已经推进下去,它们就不一定需要完整留在上下文里了。 而且很多工具的结果往往是偷啃大户框扣会对一些工具结果做清理,把大段内容替换成占位符。这层清理是在后台悄悄做的,你全程无感。 而且哪怕你后面要再用到这些结果,它可以再调用工具重新拿回来。所以这层清理几乎无损,也被称为微压缩。单指清理工具结果肯定不够。随着对话继续变长,上下文长度也会不断逼近上限 某个域值时,就会触发自动压缩。它会调用大模型,把前面很长的历史对话压缩成一份招标,再用这份招标替换掉原来的长消息。注意,这不是销毁完整兑换,还保存在你的本地文件夹里。被换掉的是塞到模型的上下文内容。那它具体什么时候触发呢?用当前模型的上下文窗口大小减去为招标预留的偷藤树,再减去预留一定的缓冲区。 这是 coco 三月底版本的预值,一个大概能装一百万 tokens 的 模型,到九十六点七万的时候,自动压缩就启动了。这时候对话框会有提醒,你是有感知的。那摘要主要记什么信息呢? coco 有 一段精彩的提示词,要求大模型按九个章节总结,摘要必须包含你最初的诉求,改过哪些文件, 遇到过哪些报错、怎么纠正、代办清单、下一步该干什么等等。这里有个细节,下一步是要求模型必须原文引用对话里的句子,防止大模型润色着把任务说歪了。所以很多人说夸客源码里提示词是非常值得学习的。 不过压缩也可能会失败,科靠有垄断机制,如果连续三次压缩失败,它就停止尝试,避免陷入无限死循环。因为早期没有垄断机制的时候,就出现过单日浪费二十五万次 a p i 调用的惨剧。除了系统自动触发压缩,你可以随时手动压缩输入 compact 指令,还可以追加要求,提醒它重点保留什么 code 有 类似的功能,再输入框敲斜杠压缩那个就是它还很贴心地标注了当前上下文用量,是用单独指令 contacts, 顺便提一下另外两个跟手动管理上下文相关的指令。 cleer 是 清空上下文的对话历史,相当于新开一个对话 b t w by the way 的 缩写,类似在对话窗口中插入一个临时对话,这个临时对话的内容不会混进主线,污染上下文,扣在肆里面。类似的功能是侧边, 如果前面几层都没来得及生效,或者复杂任务一下子把上下文推过限制了,这时候 api 会在后台返回报错,这个是你看不见的,它在后台进行, 包括会立即启动几道兜底防御。这层防御就不是优雅的整理记忆了,而是避免系统因为偷喷超线而停摆,一道不行就换下一道。最后的防线是撕腻,直接把上下文中最大的一块裁掉,信息损失最大。 来感受一下整体压缩机制。上下文越接近上限,起用的手段越激进,信息损失也越大。你看你的赛博员工为了维持对话的连贯和任务效率,背后筑了多层防线, 那你也不能直接放飞,总等着系统启动最后一道防线来救火。复杂任务分阶段做,关键节点主动压缩支线问题,不要污染主线。完成每个阶段,让 ai 总结进度, 这也是接下来要讲的 crowd 点 n d。 说到这里,你可能已经发现了,短期记忆解决的是在当前对话里 ai 怎么不断篇,但如果新开一个回话呢?它还能不能记得项目的规范、要求、结论等等, 这是长期记忆要解决的问题。 coco 为你搭建了一个记忆图书馆,有一套严密的机制来管理记忆的写入、调用以及维护。这是长期记忆的全局图。最底层的 transgrace 是 原始绘画日制,而记忆文档分用户主动创建的 curl 点按低以及系统自动生成的 memory 点按低和 topic fires 输入指令, memory 就 能查到相关的记忆文件。这套记忆系统我认为藏着两个特别有意思的设计哲学。你发现没有,无论是 coco 还是 cocos, 它们都不会主动给你建跨项目的全局用户画像。你平时使用 call、 叉、 gpt 这类聊天 ai, 它们都会给你攒一份全局记忆, 记住你叫什么,做什么工作,喜欢什么,有什么习惯。因为对话机器人这类 app 是 场景开放、跨主题、长期陪伴型的产品, a 他越懂你越好。但是 coco codas 不 这么干,因为他们作为通用 agent, 面对不是开放闲聊,而是具体项目终端文件系统,他们要做的是理解项目执行任务,还要遵守规范,不能把 a 项目的经验胡乱搬到 b 项目乱用,像是一个 pm 带着落地团队, 你爱喝什么?性格内向、外向根本不是他干活时首要操心的事。不过 openai 在 六月二号宣布了要把叉、 j、 p、 codas 甚至 alice 浏览器融合成一个超级应用。 这就有意思了,当一个开放聊天的拆报和一个干项目的 agent 合体,它的上下文和记忆到底怎么设计?是继续按项目隔离,还是混进大局画像?拭目以待吧。 虽然 call 和 call dice 我 会主动给你建全局记忆,但他们给你留了一个灵活的口子,你可以主动创建记忆文档。 call 点按 d 库, dice 的是 agents 点按 d, 这个文件放在不同的位置,作用范围不同。这里有几点需要你关注的。 第一,除了子目录的 crawl 点 id 文档,其他都会在每个绘画开始时自动提取并全文注入上下文。而子目录的 crawl 点 id 会在 crawl 提取这个子目录文件的时候一并带入上下文中。第二,项目里的 crawl 点 id 文档区分可团队共享和个人私有。 如果文件名加上 logo, 那 么这个文件在提交 give 的 时候不会被上传作为共享的内容。第四,你在几层目录中都放了 crawl 点 id, 它们是按顺序拼进上下文的,越靠近工作目录的,越后被读到, 也就相当于模型更容易参考。但这只是概率倾向,不是硬覆盖,万一它们记录的内容存在冲突,模型可能任选其一。 第四, crawl 点 n d 的 作用是 agent 的 工作契约,你希望 korko 遵守的规范、约束、结论、共识等等。 korko 虽然对内容长度没有强制约束,但官方建议是控制在两百行以内。总之,凡是进入上下文的内容,你秉持言简意赅就对了。如果你完全不知道一份 crawl 点 n d 应该怎么写,敲一个命令, enit proco 就 会自动分析你项目的文件,生成一份起步模板,你再在这个基础上改 cobase 也是非常相似的,只是文件名叫 agent 点 n d, 刚才说的 crowd 点 n d 是 你主动创建的,那系统自动记的部分又是怎么运作的呢?大家还记得那个火爆全网的大龙虾 open crawl 吗? 这只 tok 焚化炉号称永久记忆,不管你俩聊什么,它全部记下来,塞进一个橡料数据库,下次需要的时候再用 rego 混合剪索给你捞回来。结果就是响应慢, tok 烧得快。如果说 opencr 是 记日记,那么 coco 和 coxit 就是 记项目分类、规档、结构化存储,按需读取。 那我们来看一下 coco 是 怎么帮你自动整理记忆文档,以及什么时候会把哪些内容加载到上下文中。当你和夸库写作停下来的间隙,后台会放开一个词 agent 去扫描当前对话上下文,判断有没有值得记忆下来的东西。它找两类信号,你反复纠正过某个规范或要求任务,产生了未来可附用的经验。 如果有的话,它就会执行 writing memory。 或者在对话中你明确要求它记住某件事,它就不会等到空闲的间隙,直接就执行 writing memory 了。它会按这四个类别整理写入 top files。 同时它还会给这些 tiffy fires 制作一个锁影目录, memory 点按地, memory 点按地,不存具体内容,每一行是一个钩子,告诉模型。这里有这么个事儿,要细节去看对应文件。那什么时候哪些记忆会被读进上下文呢?跟 skills 的 渐近式加载机制一样,分层加载,按需读取, memory 点按地。每次对话启动直接加载, 但有一个限制,只读前两百行或二十五 kb 的 内容,超出的部分不读。 tokyfires 按需读取。每次你说话, crocco 会指定桑尼模型去扫一眼 memory 别 and 这个。所以目录判断当前任务可能相关的 tokyfires 有 哪些,最多选举五份,欲读取到上下文,单个文件最多读两百行或四 kb 内容。如 如果聊着聊着,模型判断需要哪个 topic 的 完整内容,才会把整份文件读进来。 transgress 原始日制不会直接进入上下文,只有你明确提出,比如之前讨论过哪些设计风格, a 诊才会用最基础的刮搜索原记录,然后返回摘药到上下文中。注意,只搜索本项目内的,不会跨项目搜索。在读取记忆这件事上, coco 还有一个贯穿始终的底层原则, 记忆是线索,不是真相。 ansaurp 的 工程师在原码里写得很直白,翻译过来就是记忆会过时。如果记忆的信息和当前观察到的事实冲突,以当下观察到的为准,并主动更新或删除过时的记忆。 也就是 crocco, 哪怕读取了自己存的记忆,但在使用之前,他会先验证这个信息是否依然正确。看到这里,你也大致了解这位赛博员工的记忆全貌了。 也许你会有些恐惧,上下文内容那么复杂,并为用户节省。 tokens 模型厂商的 api 做了提示词缓存设计, 就是你每次发送给大模型的请求,前面完全重复的部分不会重新处理,所以也不会重新计费。这也是为什么你使用 agent 的 时候,一开始一次对话要几万 tokens, 后面突然下降了,是因为重复的内容进入了缓存。 要注意两点,一是从头开始连续匹配,中间一旦有一个 token 变了,从对应位置往后全部缓存失效,哪怕只是多一个空格,改一个标点都不行。 二是有缓存时间,不同厂商差异很大,最常见的是五分钟,最长的是 d c v 四,可以几小时到几天不等。这也是为什么你跟 ai 的 绘画间隔时间长了,突然消耗 toc 又上去,因为缓存失效了。 几乎主流的大模型都支持提示词缓存,但具体怎么用,要不要手动标记,用多久?要不要负溢价,每个厂商都有自己的小算盘。虽然很多人会吐槽 a 诊烧 toc 太快了,还时不时幻觉, 为了弥补大模型的原生能力缺陷,他们已经很努力了。这期内容时不时有提到子 a 诊,那到底什么是子 a 诊跟主 a 诊是怎么协助的?下期分享多 a 诊协助机制。

这段时间全网都在聊 codex、 考扣和 ai agent, codex 火了,但你真的知道它能干什么吗?这期视频我想用最短的时间讲清楚三件事,第一,考扣和考扣分别是什么?如果你刚入门,哪个更容易入手?那?第二,如果你想接受 agent 工具,应该先看国外产品还是国内产品。 第三,这些 ai agent 到底能怎么用到我们的工作和生活里面呢?首先,先说国外两个最火的 codex, 考扣是 msop 做的 agent 体 coding 编程工具,它一开始的定位很明确, 就是 coding agent。 简单来说,它不是普通的一个聊天框,是一个能够进入项目、理解代码、修改文件、执行命令的一个 ai 工具。那这里也要顺便区分一下 curl 和 curl, curl 的 话是一个 g u i 的 图形应用,它像用豆包一样的,你主要就在对话框里去问它问题,让它写内容,帮你分析。那 curl code 的 话是一个命令行工具,更侧重代码端结构,它可以帮你改代码,处理 get 的 流程,也能用自然语言去推动一部分的工程任务。那 code 的 话是 open ai 的 coding agent, 它同样可以读文件、改文件、运行命令等, 也可以在云端或本地环境里去帮你处理任务。但今天的 codex 和 qq 已经不再是写代码的工具了,他们一开始是扣进 a 准,但现在正在慢慢的变成更通用的 a 准,只要任务涉及文件、资料、结构、流程和检查等步骤,他们就能参与进来。那哪个更容易上手呢?俗话说, qq 和 codex 都不是最低门槛的 ai 工具, 他们更适合三类人,第一,愿意折腾的人。第二,能理解一点项目和文件结构的人,那第三就是懂得如何配置网络环境的人。 那如果我不会这些,就不能用 a 准工具了吗?当然不是的,国内有好用的 a 准工具,比如 workbody 和扣子。 workbody 是 腾讯推出的工作场景的 ai agent, 更懂办公任务,比如文档处理、资料研究、表格分析、内容整理等等。扣子的话是字节跳动旗下的 ai 开发平台,它可以用来搭智能体、工作流技能,甚至做一些简单的应用。国内工具的优势就很明显了,中文界面上手更轻,离日常的办公场景更近。那如果你只想先感受 a 准能做什么, body 和扣子这类产品会更加的友好。但如果你想做更复杂的工程任务,更深的本地文件处理,或者探索 agent 的 上限 code 和 call, 目前更值得你去深入研究。那这些 agent 工具到底能怎么用?第一个用法就把它当成一个升级版的聊天助手,多用 agent, 少用 chatbot 这类聊天助手,像豆包、 chatpt 等等。 那第二个用法的话,就是把你的重复流程沉淀成 skill。 比如你经常要做 ppt, 那 现在你可以用做 ppt 的 流程沉淀成 skill, 下次再做就可以直接使用 skill 了。 第三个用法就是边干边学。 github 全球最大的开源社区上有很多的 a 整项目模板和工作流,可以基于别人的产品来打造自己的产品。那 codice 和 crowco 的 走红,不只是工具变火了,它背后真正的变化其实是 ai 正在从对话式提问走向任务式写作。 或许我们用 ai 是 问他答案,那接下来我们会把目标资料和流程交给 ai, 让他帮我们去完成更多的任务推进结果,那这也是 agent 会成为主流的原因。那当你开始用 ai 推进任务,而不只是问问题的时候,你就已经进入 agent 的 世界了。