我这里有一个电商的项目,就做一个某宝的竞品数据采集的脚本,那我们要设定数据的字段,标题,首图,商品链接价格段、音频卖点输出点, js 格式。如果对任务不 注了,这需要补全的,请提示我,那 context 把它的思考过程显示出来。因为我的电脑已经装了这个 python 和 node, 所以 为了降低这个维护成本,它会用这个 load 加 play by 做脚本。 context 牛就牛,在这里我们只要看着它运行就好了, 有什么需要我们做的,他会提示好了那竞品分析的脚本。等下大概就会有对竞品数据采某机有兴趣的朋友也可以联系我,或者加我们主页的粉丝群。
粉丝1005获赞3166

今天我们来讲讲大名鼎鼎的 codex, 相信大家都已经听说过这个软件了,这是 open nai 的 核心产品,对标 osarpic 的 cloud code。 codex 能做的事情非常多,它不仅能够帮你编辑代码、排查 bug、 执行测试,还能管理 gate、 操作浏览器,甚至能直接控制电脑完成各种任务,非常强大。不过功能越多,越容易让人抓不住重点,所以这期视频我会带大家系统性地过一遍。 codex 最核心的功能,帮大家建立起一套完整的使用思路。 整个视频一共分为三个部分,第一部分是基础篇,主要带大家快速上手 codex, 并讲解一些核心配置和使用过程中容易踩坑的地方。 第二部分是进阶篇,重点介绍版本控制、绘画管理,以及如何更高效的组织和推进开发任务。第三部分是扩展篇,我们会看看如何通过 plugin、 skill、 automation 和 mobile 等功能进一步扩展 codex 的 能力边界。 所有的功能点和对应的时间戳我都打到目录上了,大家可以按需跳转。好话不多说,我们现在开始。 首先我们要做的是把 codex 安装到电脑上面,我们可以打开这个页面,点击这里面的下载按钮,就可以下载 codex 了。下载好了之后,我们来打开它。安装过程呢,跟其他的普通软件一样,比如我用的是 micros, 那 直接把 codex 拖入到 applications 文件夹里面就可以完成安装了。 安装好了之后,我们来打开 codex。 打开 codex 之后呢,它首先会提示我们登录,它一共给了我们两个选项。 第一个呢是使用叉 gbt 账号登录,这需要你订阅叉 gbt 的 套餐。叉 gbt 呢,它提供了多种套餐,其中最常用的是我屏幕上面显示的这几个,主要是包括免费版 go 套餐、 plus 套餐和 pro 套餐。 你看屏幕上面的这几个套餐,从左到右价格越来越高,当然整体能用的 codax 额度也是越来越大的。 从目前来看,免费版和购套餐的 codax 额度应该差不多,但到了 plus 套餐,额度就会有着明显的上升, pro 套餐自然就更多了。 值得一提的是,即使你用的是免费版,系统也会给你一定的 codex 额度,只不过这个额度少的可怜,只能勉强够你施个水。所以如果你想真正上手体验一下它的能力,我建议你先订阅 plus 这个 plan, 它是二十美元一个月,可用量呢比较适中。 除了订阅套餐之外, openni 还提供了另外一个选项来使用 codex, 那 就是直接接入 api, 对 应的就是这里的 signing another way, 点击之后,它会提示你输入 openian 的 api key。 一 般来说,用 api 没有订阅套餐划算,而且呢,获取这个 api key 的 门槛也有点高,一般需要一张海外的信用卡,所以我建议大家还是订阅套餐来使用 codex。 具体的登录过程呢,我这里就不显示了,大家可以在这里选择适合自己的方式登录。登录好了之后,大家首先看到的就会是这样的一个界面, codex 首先会询问我们是干什么工作的,这里大家就按照实际情况来选就可以了。然后 codex 会提示把 cloud code 和 cloud co work 相关的配置都导到 codex 这里,我们先跳过,然后 codex 提示我们要不要试用 codex 手机版,我们点击这个 set up later, 待会儿呢,我会给大家演示这个功能,所以现在先不着急,现在呢,我们就算是正式的来到了 codex 操作界面,可以开始使用它了,我们来随便跟它打个招呼,看看能否正常使用, 可以看出 codex 已经可以正常使用了。下面我带大家做一个代办软件,并且在做这个代办软件的过程中为大家讲解 codex 的 各个功能点。首先我们要新建一个目录来存放我们的软件代码,让我们打开访答,在这里创建一个新的文件夹,就叫做马克笔记吧。 然后回到 codex 这里,点击 work in the project, 再点击 use an existing folder, 在弹出的对话框里面选择我们刚刚创建好的文件夹,然后再点击 open, 然后呢,你就会发现 codex 把项目目录改成马克笔记了, 这就代表 codex 后面会把代码放到这个文件夹里面。此时我们准备工作就已经是做完了,可以开始提需求了,比如说我们的需求就是使用 html 写一个笔记软件,软件界面分为左右两部分,左边是笔记列表,右边是笔记的内容, 最后我们提醒他注意做好测试,然后回车提交,这个时候呢, codex 就 会开始工作了,可以看出他在疯狂的给我们写代码,当然实际使用是没这么快的,因为为了节省大家时间,这里我做了加速,后面的问答流程呢,也都做了不同程度的加速处理,这个呢,大家知道就好了。 好, codex 暂停了,他提出他想要构建一个本地服务器来验证 html 笔记的效果。这里呢有三个选项,第一个选项是 yes, 这个呢很好理解,其实就是把这个本地服务器启动开就可以了,不过以后如果 codex 提出类似的请求,我们还得再授权一次。 第二个选项呢,是代表我们不仅同意,而且对于这种启动本地服务器的代码,以后呢也就直接执行就好了,不需要再经过我们授权了。第三个选项可以理解为不同意,它其实不是一个按钮,而是一个输入框, 我们点一下就能看出来了。在这里我们可以告诉 codex 自己希望的处理方式,比如只让它检查代码,不要启动本地服务器之类的。当然,如果你不同意,而且你懒得告诉 codex 原因的话,也可以直接点击这里面的 skip 按钮啊,这算是 codex 做了弱化的第四选项了。 好,所有的可选项我们都说完了,在这个地方我们就选择第一项 yes 就 好了。然后呢, codex 就 询问我们能不能访问这个新创建的本地服务器,这个地方呢,我们也同意, 呃,现在 codex 已经彻底完成它的工作了,可以看出这里面最重要的文件呢,就是这个 index html, 我 们可以点击来预览它的效果。 这个呢就是 codex 写的笔记软件了,看起来中规中矩,各种基本功能呢,在这里面都能找到。当然有些人可能觉得这个预览区太小了,想要放大一点,这当然是可以做到的,让我们来点击这个按钮, 这样左边的区域就被收起来了,可预览的空间就更大了,不过下面的这块区域看着也是有点碍事,能不能隐藏它呢?其实也是可以的,我们可以点击这里面的三个点, 然后选择其中的 hide composer 就 好了,你看这样呢就好多了。那假如说这个时候呢,你看着界面里面的这两条笔记,觉得非常碍事,你想把它们去掉, 呃,这个呢,其实也是很简单的,我们就继续追问就好了。既然要追问,我们就必须要把左侧栏再次显示出来,这个呢其实很简单,我们再点一下这个按钮,左侧栏就显示出来了。 然后呢,我们就可以在输入框里面输入我们的问题,把左上角的两条笔记去掉,这个呢肯定是可以的。 呃,不过我这里想给大家演示另外一个方法,另外一个更加准确,更加方便的方法,我们可以点击这个图标,它叫做 annotation, 然后我们就可以直接选中两条笔记这个区域,选中后,输入我们对这个区域的修改意见,很简单,我们的意见就是两个字,去掉, 然后我们提交请求。好,可以看出请求已经成功提交上去了,可以看到他一共是发了两块内容,一个呢是对应的截图,另外一个呢就是我们具体的要求了。 接到了这个请求之后, codex 就 开始工作了,他应该呢就会把这块区域给去掉,让我们稍微等待一下。 好, codex 已经完成了,我们再次打开这个阅览区,看一下效果, 可以看出之前的这块区域呢,确实是没有了, codex 已经帮我们解决问题了,看起来 entity 这个功能还是非常方便的, 那这个时候我们可以再随便点点这个笔记软件,看看有没有其他我们需要修复的问题。这里好像确实有个 bug, 我 点击这个加号按钮的时候,下面呢是要增加一个新的笔记的,但实际上点了之后并没有任何的 bug 呀。让我们跟 codex 说一下这个问题, 我们需要告诉 codex, 点击添加按钮之后,笔记列表区域没有任何的反应。呃,请排查下原因,我确定之后再进行修改 好。 codex 已经排查完了,按照我们的要求,他没有直接去改代码,而是先给出了诊断结果。他猜测呢,这个问题大概率是因为当前页面的 local storage, 也就是本地存储被禁用了。 没错,就是这个原因。说白了,就是 codex 的 右侧预览区有一些安全限制,导致某些功能无法正常使用。如果我们到独立的浏览器里面用一用,问题立马就消失了,不信我们试一试。 你看这个时候再点击添加按钮是不是就完全正常了?既然用户是在真实的浏览器里用我们的软件,而不是在 codex 的 预览区里用,那这根本就不算是个问题,自然也不需要修。 我不知道这算是 codex 的 一个 bug 还是一个 feature, 我 相信 openai 是 把它当成 feature 来做的,不过实际用下来确实有点像 bug。 如果你做的也是外部应用,那一定要额外留意这一点,别被预览区给骗了。既然弄清楚了原因,为了避免再受限制,我们后续就在独立的浏览器页面里面进行测试了。 到这里,这个最基本的笔记软件就算是成功跑通了。现在我想回头聊聊刚才遇到的一个细节,就是 codex 提出的那个请求。 呃,有些同学可能会想,如果我把任务交给 codex 之后去忙别的了,没注意到他在等我授权,那 codex 岂不会一直卡在那里等我回来一看啥也没干,白白浪费了大量时间。 那这有没有办法让他自己做决定,别总是来问我呢,毕竟谁也不想一直盯着他干活,那也太累了吧。没错,一直盯着看呢,确实是非常的麻烦。其实 codex 早就替我们想到了解决办法,就在输入框的下面,大家看这里面呢,一共是有三个全线选项。 第一种就是我们刚才用的 default permissions, 在 这种模式下,如果 codex 需要修改项目目录之外的文件,或者是需要执行一些带有安全风险的命令,它就会老老实实地弹出提醒,只有当你点头同意了,它才会继续接着往下干。 这种模式的优点呢是绝对安全,一切尽在掌握,但缺点也非常明显,就是根本离不开人,你得随时给他授权。 第二种呢是 auto review, 也就是自动审查。这个模式呢很聪明,它引入了一个专门负责安全审查的 agent, 当 codex 准备执行操作的时候,这个 agent 会首先替你把关,安全的直接放行,危险的直接拒绝,只有在极少数连 agent 也拿不定主意的情况下,才会弹窗让你来做决定。 第三种呢是 full access, 顾名思义,这个呢就是放飞自我模式,全部自动同意, codex 想干嘛就干嘛,完全不需要你插手。 这个模式确实是最省心的,但也伴随着风险,万一它误删了什么重要数据,你是拦也拦不住的。虽然 gpt 模型总体上还是非常靠谱的,基本上不太会乱来,但是作为一个负责任的 up 主,我还是要提醒大家,这个模式呢,没有任何的安全,交易开启前一定要三思啊。 所以综合看下来,在这三个模式里面, auto review 是 在效率和安全之间平衡的最好的。为了避免后面频繁弹窗,要我们点同意,接下来的演示呢,我们就统一的切换到 auto review 模式。 既然聊到了这里的权限配置,我们不妨顺便看一下输入框旁边还有哪一些配置。首先大家留意这里面显示的五点五 medium, 这代表我们当前使用的是 gbt 五点五模型,思考深度呢为 medium, 也就是中等。 我们点开它可以看到思考深度呢是可以自由调节的,分为 low、 medium high 和 extra high 四个级别。思考深度越高, codex 花费的时间也就越长,消耗的 token 呢也就越多,但通常给出来的代码质量也会更好一些。 除了调整思考深度,我们还可以在这里面切换模型下来。列表里面除了 gpt 五点五,还有 gpt 五点四等等一系列的模型,大家可以根据具体的任务难度来灵活选择。 最后啊,这里面还能设置模型的输出速度,目前是 standard, 也就是标准的速度。旁边呢还有一个 fast 选项,开启 fast 模式之后生成的速度呢会提升到原来的一点五倍,不过代价呢是 token 的 消耗量也会相应的增加,具体增加多少取决于你用的模型, 比如说在 gbt 五点五这个模型下开启 fast 模式的话, toc 的 消耗量就直接是标准模式的两倍了啊。如果你财大气粗, toc 管用,那你完全可以开启这个快速模式,这样 codex 干活就更快了。 输入框的配置我们就先研究到这里,现在我们的第一版笔记软件已经跑通了,实现了最基本的功能,不过为了防止后面新加功能的时候把代码搞乱,我们最好先用 get 把当前的版本保存一下,这样的话就算是后面出了什么叉子,也能够随时回滚到这个可用版本。心里有个底, 在 codex 里面调用终端非常的方便,我们不需要去点什么菜单,直接按下快捷键, command 加 j, 大家看右侧的终端面板就直接弹出来了。在这里面我们依次输入几条常规的 get 命令, 首先是要执行 get in it, 点把当前的项目目录出示,化为一个 get 仓库。然后呢我们要执行的是 get id, 点把相关的文件呢都添加到暂存区里面。最后呢再执行 get commit 提交我们的第一次修改 好这三步敲完之后,我们的代码就有了一个安全的备份版本,接下来我们就可以放心大胆地继续迭代我们的产品了。 终端用完之后,为了不挡着视线,我们只需要再次按下同样的快捷键, command 加 j 就 能够把它直接关掉。你看用快捷键来开关终端,双手完全不需要离开键盘,整个过程呢非常的丝滑,也是非常的方便。 那现在我们用 codex 做了一个基本可用的笔记软件,而且还用 get 提交了这个可用版本,下面呢,我们就来继续迭代这个笔记软件,让它变得更强大,更美观。 假设这个时候你看了看这个笔记软件,觉得它的色彩设计不是很好,这里面有很多的绿色元素,你不太喜欢绿色,你想试试蓝色怎么样?那这个时候该怎么处理呢?很简单,你就直接在这里面追问就好了,比如我们可以这么提要求, 不过我们先不发送这个请求了吧。啊?为什么呢?你仔细看看啊,我们上一个消息里面还让 codex 排查问题来着, 但说实话,这其实并不是一个问题,只是 codex 的 浏览区有些限制而已。如果我们继续追问的话,这个排查过程不仅会占用模型的上下文,而且可能还会对 codex 后续执行产生一些影响, 他没准会继续尝试修复这个问题,把原来没有问题的页面修出问题来。虽然这种情况发生的概率应该也不会很大,但是能规避的话就尽量规避吧,毕竟这个消息其实一点用也没有。 所以我们该怎么办呢?有一个办法,那就是直接修改上一个消息就可以了,你看这里面有一个编辑按钮,我们点一下就可以直接修改这个消息了,我们来试试 提交。你看原来的请求被替换成了我们的这个,这样的话,原来排查问题的那个消息呢,就消失了,既然消失了,它就不会再占用模型的上下文了,也不会对 codex 后续执行产生任何影响, 所以很多情况下,这个功能还是很实用的。不过要注意的是, codex 只支持编辑最后一条消息,至于更靠前的那消息,它实际上是不支持我们编辑的。 前面的那些消息呢,都是没有编辑按钮的,如果你要编辑更靠近的消息,可以考虑使用 fork 功能来间接实现这个功能。我们后面会讲到,暂时你不必过于关心好。 codex 已经完成任务了,我们来看看效果。 呃,还可以吧。下面呢,我们把这一部分的改动也加入到 get 里面。之前我们是用命令行来操作 get, 这种操作方式准确通用,不过其实 codex 也内置了一些 get 操作的功能来供我们使用。比如我们可以先点击这个图标, 这里面呢就有一个叫做 environments 的 区域,它呢就跟 get 的 使用密切相关。我们可以点击这里面的 changes 按钮,然后再在这个选择框里面选择 on stage 的 选项。这里显示的就是所有还没有提交到暂存区的代码了, 这基本上也就是 codex 刚才所做的改动。如果你觉得哪一行有问题,可以点击旁边的加号,输入你的要求。输入完要求之后,你可以点击这里面的 comment 按钮,让 codex 做出相应的改动。不过这里我们就不做任何修改了, codex 的 任务已经完成的很好了,所以我们取消这个注示, 直接使用 git commit 提交这次改动。那具体该怎么做呢?很简单,直接点击这里面的 commit 按钮,输入 commit 的 message 就 可以了。我们的 commit message 就是 将整体色调改为蓝色,然后呢,再点击 continue, 此时 codex 就 会提交当前所有没有提交的改动了。 好,执行成功了,我们来验证下。先按一下 command 加 j 来到终端,然后再执行 git log, 查询 git 的 commit 记录。 你看,我们的 commit 确实是生效了,确认好了之后,我们按 q 退出 get log, 然后呢,再按 command 加 j 来隐藏终端,到这里,这个需求就算是彻底完成了。那假设这个时候你感觉蓝色这个主题也不怎么好看了,越看越不顺眼,要不再换一个吧。 没问题,我们直接提交需求,将整体色调改为紫色。改完之后呢,再做一次 get commit。 对, 这次我们不自己操作 get 了,有点麻烦,直接让 codex 操作得了。提交之后, codex 就 开始干活了,我们稍微等待一下, 改好了,我们来看看最后的效果。不错,确实改成紫色了,不过怎么说呢,啊,你觉得还是不顺眼啊,你在想,算了,我要不还是改成一开始的那个绿色吧。那这当然是可以的, 照例啊,你可以直接在输入框里面输入,你的要求就是改回来的紫色。这个呢,肯定是行的,只不过这样的话,模型还得再跑一遍,有点浪费 token, 所以 我们就不用这个方法了。 其实我们原来就是绿色,所以用 get 把代码回滚到绿色的那个版本就可以了。只不过这种做法其实也是有点缺陷的, 代码确实是回滚了,但绘画内容还是停留在紫色这里。如果我们希望在当前这个绘画继续问的话, codex 可能会以为目前所用的色调是紫色,从而对后续的任务执行效果产生负面影响。 那我们能不能把绘画和代码同时回滚呢?我们就想回滚到改蓝色之前的那个版本,也就是这个版本,如果有回滚功能的话,那应该是在这个消息旁边有一些相对应的标识吧,我们找找。 哎,还真的有一个图标有点像,不过它不叫回滚,它叫做 fork。 fork 的 意思就是基于当前的这个绘画,再复制一个新的出来,这个新绘画就只到目前所选的这个消息为止,后面的消息全都不保留, 这个呢就非常符合我们的要求了,我们其实就希望绘画到当前的这个消息为止,那既然绘画变了,代码是不是也会自动回滚呢?没准也是可以的,我们来试试。 我们首先点击这个 fork 图标,这里弹出两个选项供我们选择,一个是 fork into local, 另外一个呢是 fork into new work tree。 这两个选项的最大区别在于新绘画的代码存放地址不同。 第一个选项会继续使用当前目录作为新绘画代码存放地址,第二个选项会创建一个新的目录来存放心绘画的代码。你可能现在听的还是有点懵啊,没关系,我来演示一下你就知道了。在演示之前,我们先把左侧栏打开,这样你就会看得更清楚一些。 好,左侧栏打开了,我们来重新点击一下这个 fork 图标,然后选择第一项 fork into local。 可以看出 codex 确实给我们创建了一个新的绘画,并且还在这里标识好了,这个绘画呢,就是从别的绘画那里复制出来的。下面我们来看看代码是否也会滚了, 这个很简单,我们不必看代码,我们直接看最终的效果就行了。让我们来看看页面的颜色有没有改变,可以看出页面的颜色仍然是紫色,所以呢,代码根本就没有回滚。没错,这呢就是 fork into local 这个选项的特点,它只会处理绘画内容,根本就不会对代码做任何修改。 不过还好,我们使用了 git, 我 们可以用 git 来回滚代码。我们先按快捷键 command j, 打开终端,然后执行命令 git log 确定我们想把代码回滚到哪个 commit 上,应该就是这个了。然后呢,我们复制这个 commit 的 哈希值, 最后执行这个命令。这样呢,就可以把代码回滚到绘画对应的那个版本了。让我们回到浏览器这里刷新一下页面, 没错,确实是一开始的绿色版本了,当然绿的也不是很明显啊,只有那么几个模块是绿的。我对这个色调的表述呢,稍微有点问题,但无论怎么样,肯定是回滚成功了,相信大家都能看得出来,这个呢就是 fork into local 了,我们配合着 git, 才能把绘画和代码都回滚到之前的那个状态。 那刚才还有一个选项叫做 fork into new work tree, 那 个选项是用来干什么的呢?我们不妨来试试。让我们回到之前的绘画里, 点击这个 fork 图标,然后再选择 fork into new work tree。 注意看, codex 依然给我们创建了一个新的绘画,而且跟 fork into local 很 像。这个新的绘画呢,也标识出来了,它就是从别的绘画里面复制过来的。 一切看起来似乎都跟那个 fork into local 差不多啊,那到底什么发生变化了呢?答案就是我们当前的这个绘画所对应的项目目录发生了变化,不信我们来打开终端,输入 pwd, 这个命令就是用来显示当前位置的,可以看出我们的当前位置呢,就是这个了,我一开始 fork 出来的那个绘画可不是在这个目录里面操作的,不信的话,我们回到一开始 fork 出来的那个绘画里,同样打开终端, 运行下 pwd, 你 看它俩的项目目录地址是不同的,我把这两个地址打在屏幕上,这样大家就可以看得更清楚一些。 这个呢,就是 fork into new worktree 的 一个特性,它会给 fork 出来的新绘画创建一个对应的新目录,这样新老绘画所处理的代码不是一份,彼此之间互不影响,非常适合在两个绘画分别处理两个不同的功能点,最后做完了再合并到一起就好了。那为什么叫做 worktree 呢? 是因为它是使用 gitworktree 来实现的,这个呢,是 git 的 一个特性。这个要展开讲的话呢,又得讲好几分钟。我们本期是来讲 codex 的, 不是来讲 git 的, 所以呢, gitworktree 在 此就跳过了,感兴趣的同学可以自己查下。 另外值得一提的是, fork into new worktree 同样不会回滚代码,它只是把当前项目目录里面的所有代码复制到一个新的目录里,仅此而已。 好,这个就是 fork 的 两种形式了。总结一下,这两个选项都会复制绘画到所选消息为止,也都不会帮你回滚代码, 它们唯一的区别仅仅是代码的位置, local 呢,是继续沿用原目录,而 new work tree 呢,则是开辟了一个全新的隔离目录。主要呢,就是这个区别了。所以呢,无论是哪一种 fork 形式,都不会更改代码。实际上 codex 在 界面里面也有显示, 我们可以回到一开始的那个绘画。然后呢,再点击一下这里面的 fork 图标。注意到这段话了吗? 其实它想表达的意思就是 fork 只负责对话,不回归代码。对,它说的有点绕,但其实就是这个意思。 好, fork 功能我们终于讲完了,我们目前只需要第一个 fork into local 的 这个绘画,另外一个 fork into work tree 我 们暂时不需要。那我们能把这个绘画删掉吗?能, 不过准确来说啊,我们可以把这个绘画规章,规章和删除稍微还是有些区别的,你可以把规章理解为暂时隐藏起来了,而删除呢,那就是删完就没了。我们来试一下, 我们直接点击绘画旁边的这个图标,然后再点击 confirm, 这个绘画就被规范了。你看这个绘画是不是没了。但跟删除不同的是,我们还可以找回这个绘画。 我们先按 command 加逗号,打开设置面板,再点击里面的 archives chats, 在 这里我们就可以看到所有被规章的绘画了。我们可以解除对应绘画的规章状态,也可以彻底删除对应的绘画。所以你看,删除和规章还是稍稍有些区别的。 那规章这个功能我们就讲到这里,从之前的操作过程中我们可以看出, get 真的 还是挺重要的。那既然这么重要,我们能不能让 codex 每次写完代码的时候都能自动提交一次 get commit 呢,这样的话就不用麻烦我们每次都操作一遍了。 这当然是可以的,其中一个方法就是我们可以直接在输入框里面告诉 codex, 每次完成代码修改之后,都需要提交一次 get commit, 然后提交这个请求就行了。这样在后续的操作里面, codex 肯定就会按照我们所说的,每写完一次代码都提交一次 get commit。 不 过这个方法有个很大的缺陷,那就是它只会在当前的绘画中生效,如果我们创建出一个新绘画的话,那 codex 就 会彻底忘掉这个事情, 所以我们需要一个能够跨绘画的解决方案,即使是在一个新绘画里, codex 也能帮我们做 get commit 这个事情,这能做到吗?当然是可以的,这个呢就是 agent 点 m d 这个文件发挥作用的地方了。 agent 点 m d 简单来说呢,就是一个放在项目根目录里面的配置文件,每当 codex 开始一个新绘画的时候,它都会自动读取这个文件,把里面内容当成对自己的指令来执行, 所以我们只需要在这个文件里面写上这个 git commit 的 要求,那无论我们开多少个新会话, codex 都会记住这件事情的。我们先把原来的这个请求删掉,我们不需要它了,然后我们点击这里使用 vs code 打开这个项目目录, 在根目录下创建一个新的文件,就叫做 agent 后台,然后在这个文件里面写,每次完成代码修改后,都需要提交一次 git commit, 这样 agent dmd 就 创建好了,让我们把 vs code 关掉,现在让我们来验证一下 agent dmd 是 否真的会生效。我们首先创建一个新的绘画, 然后提交需求,往左下角增加一个主题切换选项,支持用户在浅色模式和深色模式之间切换。回车提交,让 codex 开始工作。 好, codex 已经完成了,我们来看看效果。 你看,左下角确实是出现了一个主题切换按钮,我们点击对应的主题,就可以在浅色和深色两种模式之间切换,看起来非常完美。那我们现在最关心的是, codex 有 没有帮我们做 get commit 操作呢?我们按一下 command 加 g, 打开终端执行 get log 来看看。 你看,这里面确实是多了一个新的 commit message 呢,就是 codex 自己写的,这说明 agent 点 m d 确实生效了。即使是在一个全新的绘画里面, codex 也遵从了我们的要求,在完成了代码修改之后,自动提交了一次 git commit。 这个呢就是 agent d m d 的 基本用法了,当然他能做的事情远不止这一件,比如你可以在里面规定代码风格、命名规范、技术占要求,甚至是你的项目背景介绍等等。 codex 每次启动新会话的时候都会去读取这些文件,这样他对你的项目就会有非常好的理解,给出的结果呢也会更加准确。 可以说, agents dmd 写得越好, codex 就 会用起来越顺手。不过需要注意的是, codex 只会提交当前需求所对应的代码改动。我们一开始创建的 agents dmd 不 属于当前需求的范畴,所以呢,刚才 codex 并没有把它提交为一个 git commit, 我 们点击这个 changes, 再选择 on stage, 就 可以发现 agents d m d 的 内容呢?还没有提交上去。没事儿,我们这就提交。我们先来点一下这个 commit 按钮,然后在里面输入对应的 commit message, 再点击 continue, 这样这个改动就会被提交到 get 上面了。好,一切顺利,让我们新开一个绘画,继续迭代这个笔记软件。 现在这个软件本质上就是一个 html 文件,只能在浏览器里打开,不够方便。我们想把它改造成一个真正的桌面客户端,让用户可以直接双击图标打开,就像打开 vs code codex 一 样。 那要做桌面客户端的话, electron 是 非常主流的一个选择,我们可以顺便呢也引入 react 和 type script, 把项目结构整理一下,方便后续继续迭代。那我们就直接把需求发给 codex, 把这个网页应用改成桌面客户端,进入站使用 electron 加上 react, 再加上 type script。 注意做好测试,确保所有的核心功能运转正常 啊。不过要注意这可是一个大工程,所以呢,我们最好先让 codex 做一个规划,我们确认规划没有问题之后,再让它动工。为了实现这一点,我们可以点击这里面的加号,然后选择 plan mode, 这样 codex 就 进入了计划模式,从这个图标也可以看出这一点。 在这个模式下, codex 会先做计划,再写代码,让我们来提交试试。可以看出 codex 开始工作了,让我们稍微等待一会。 好,他现在要问我们几个问题,我们来做一下选择。首先是数据要放在哪里,我们就放到文件里面吧, 然后交付到可开发运行的程度就可以了。这之后呢, codex 就 会继续开始干活了。好,可以看出 codex 开始给我们写这个计划了, 我们再稍微等待一会,它还在这个转写的过程中。 好,写完了,我们来看一下,这个计划本身还是比较完善的。呃,包括各种测试方案呐,架构设计啊,都是写的比较详细的。然后 codex 问我们是不是要按照这个计划去实现代码。 呃,他一共是给了我们两个选项,第一个选项呢就是直接同意啊,开始实现这个计划就好了。第二个选项呢是如果你对这个计划不满意的话,你可以提出你的要求,在这个文本框里面告诉 codex 应该如何做修改,然后 codex 会根据这个修改呢,再出一份新的计划。 呃,这里面呢,我们就不对计划再做一些其他修改了,我们就直接同意好了,让 codex 就 按照这个计划给我们来写代码。 好,现在 codex 开始干活了,我们需要稍微等待一下,在等待的过程中呢,我们可以跟 codex 随便去聊点东西,我们可以在输入框 side 打开 side chat 啊,在这里面呢,我们就可以随便问 codex 点别的问题,这些问题呢不会去影响左侧 codex 的 任务执行。比如说我们可以问一下,你觉得这个笔记软件还需要什么基本功能呢?提交 好 codex 呢,给了我们一些可行的方案。你看在 side chat 的 过程中, codex 左侧的任务执行一点也没有被干扰到。对,这个呢就是 side chat 的 一个非常重要的特点了,它就是允许用户在 codex 执行任务的过程中问一些比较轻量级的问题, codex 在 回答这些轻量级问题的过程中不会影响到左侧主任务的执行。那这个就是 sign chat 这个功能的特性了。这个呢,我们就先讲到这里,这个架构改造的工作量还是挺大的, codex 依然没有完成,让我们再耐心等待一会儿。 好,看起来 codex 已经完成任务了,它提示我们使用 npm runtime 这个命令就可以启动这个 electron 应用啊,让我们来试一下。首先按 command 加 j 打开终端,然后执行命令 npm runtime 回车, 这样的话这个 electron 应用就启动开了,不过看起来好像是有点问题,基本上是一个白屏的状态。呃,我们打开控制台看一下有没有什么报错 啊,确实有报错,这个呢,我们需要让 codex 帮我们来修一下啊,让我们来回到 codex 这里, 先把这个进程关掉,然后呢再把终端关掉,然后我们提出我们的诉求,启动后白屏控制台报错了。看来你之前的测试不够彻底啊,请你修复并确保在修复之后测试好再交付给我。 codex 说,我说的对,哼。呃,让我们等 codex 把这个错误修复之后再试一次。 呃,看起来 codex 已经修复好了,我们来看一下它修复后的效果是怎么样的。呃,同样,我们打开终端,然后执行这个命令 啊,这次呢,看起来没问题了,添加笔记呢也是可以的,我们呢也可以在这里面随便输入的标题内容都可以啊,主题切换也是没有问题的。 那看起来已经很完美了,各项功能都运转正常。让我们再回到 codex 这边。 呃,我们先按一下 ctrl 加 c, 关掉这个进程,然后呢,再把终端收起。好,那改成了 electron 架构,我们就继续来提新的需求。我们的新需求是为这个笔记应用增加 markdown 支持,具体来说,需要在编辑器右上角提供两个模式切换按钮。 那假设这个时候我想换行,怎么做呢?直接按回车肯定是不行的,按回车就提交了,正确的做法是按 shift 加回车。你看这样呢,就可以回车了。我们继续输入任务内容, 首先是编辑模式,显示所有文本内容,并对其中的 markdown 语法进行高亮显示。然后还有一个是预览模式,它用于显示 markdown 的 渲染结果。现在再回车。 好,可以看到 codex 开始工作了,在它工作的间隙,我们再创建一个新的绘画,让它再处理另外一个关系不大的任务。 我们的新任务就是给这个笔记项目生成一个 logo, svg 格式。可以看出这两个绘画都在工作中了。假设这个时候你突然想到了我们的笔记软件有深浅两种模式,这个 logo 需要在任意一个模式下都清晰可见。我们最好提醒一下 codex, 以免它忘了, 好让我们发送请求。不过这个请求似乎没有发出去,它似乎卡在这里了。没错,在默认情况下,只有当上一个请求完成后, codex 才会继续处理下一个请求。 不过到那个时候就有点晚了吧,毕竟 logo 都生成好了。我们能不能现在就把这个信息发送给 codex, 让它在生成 logo 前就注意到这一点呢? 没问题,注意到这里的 steer 按钮了吗?点一下,我们的请求就会立即发送给 codex, 这样我们的目标就达到了。那 codex 现在还在运行中,我们稍稍等待一会儿。 好,可以看出 logo 已经生成完毕了。我们切回到原来的那个绘画,看看它的进度怎么样了,它还在运行中,所以我们可能还需要再稍微等那么一会儿。 好,这两个任务呢都完成了,我们来直接打开软件,看看最终效果。首先是要打开终端,然后呢,我们运行 n p m start, 打开这个 electron 应用。呃,看起来好像是有点问题啊。 logo 没有被成功地加载起来, 那我们需要跟 codex 说一下这个事情,让我们先关掉这个 electron 应用。 然后呢,我们关掉这个 electron 进程,先看看这个 logo 在 不在 啊?这个 logo 确实是在 public 文件夹里面的,那应该不是文件不存在导致的。那是不是这个 svg 文件的格式有问题呢?我们来到访达来验证一下。 打开这个 public 文件夹,看来这个 svg 文件的格式也是没有问题的,毕竟访达都正常渲染出来了。 那大概率是 electron 加载这个 svg 文件的方法有问题。让我们来让 codex 修一下。首先按 command 加 g, 我 们唤起这个绘画列表,然后选择生成 logo 的 那个绘画, 然后在这里面我们输入具体的问题, logo 没有显示出来。提交好,提交之后呢, codex 就 开始给我们排查原因了,我们再稍微等一会儿。 修复完毕,我们再次启动这个软件看看效果。 首先打开终端,运行 npm start 好, 这次看起来 logo 是 成功的显示出来了,我们还可以随便点一点其他的功能,看看整体是否运转正常。 那 markdown 呢?我们可以随便输入几个 markdown 的 关键词,看一看它的高亮显示是否正常。看起来似乎并没有什么太大问题,各种格式呢,都可以非常正常地显示出来, 可以看出预览也是没有问题的。那这次需求就到这里了,我们再次回到 codex 这里,继续迭代它。 前面我们讲的呢,都是 codex 的 基本能力,下面我们来讲讲 plugging。 你 可以把 plugging 想象成一个 codex 的 外挂,它会给 codex 相应的能力,帮助 codex 去做更多的事情。这么说呢,可能比较抽象,我们可以来实战一下。呃,我们首先可以打开侧边栏, 然后点击里面的 plugins, 在 这里我们就能够看到所有可用的 plugin 了,其中有能控制电脑的,有用于操作 chromed, 还有用于编辑 excel 的 啊,还有一些是用来制作 ppt 的。 如果 plugin 的 旁边打了勾,那代表这个 plugin 已经被安装好了。如果 plugin 没有安装的话,旁边会是一个加号,我们点击这个加号就可以正常安装了。我们来随便点几个 plug in, 看看它内部到底有什么。 比如我们可以点一下这个叫做 gmail 的 plug in, 可以 看到这个 plug in 内部有三个组成部分,其中一个是 app, 两个是 skill。 这个 app 呢,是用来把 codex 和 gmail 连接起来的, 它里面提供了很多的工具,当然 codex 没有叫它是工具, codex 叫它是 action, 但其实本质上啊,这里面就是一个一个的工具,跟 mcp 的 工具呢差不多。 比如 apply labels to emails 就是 用来给邮件打标签的 archive emails 就是 用来归档邮件的。这个 app 一 共是提供了二十四个这样的工具,除了 app 之外,这个 plugin 还提供了两个 skill, 呃,你基本上是可以把 skill 当成是给大模型看的一个说明文档, 比如说是这个 gmail skill, 它就写明了怎么总结邮件内容,怎么赚,写回复,以及什么时候该调用哪一些工具啊等等。 而这个叫做 inbox treeash 的 skill 呢,则是告诉大模型如何给邮件归类的,比如说哪一些邮件比较紧急,哪一些邮件需要回复等等。如果你对 skill 比较感兴趣,可以看一下我的这个视频,把 skill 的 使用方法和运行原理一次讲明白。 gmail 的 这个 app 所包含的内容呢,就只有这三个了,我们如果选择安装 gmail 这个插件,那其实就是选择安装了这三个组件。等到用户想要 codex 操作 gmail 的 时候, gpt 模型便会找到这三个组件,并用它们提供的能力和说明来完成。用户的要求 大致就是这个样子的。我们来看一个具体的例子,比如说是 presentations, 这个 plugging 呢,是用来写 ppt 的, 它只有一个组件,那就是这个叫做 presentations 的 skill。 这个 skill 详细说明了该怎么做才能做出一个高质量的 ppt。 下面呢,我们就尝试用这个叫做 presentations 的 plugging 来完成我们的需求,让我们来新建一个绘画,然后输入我们的要求,给这个笔记软件做一个 ppt, 介绍它的产品设计和技术架构。 提交之后, codex 就 会找到我们前面所说的那个叫做 presentations 的 plug in, 并使用那个 plug in 提供的能力来做 ppt。 当然,如果你担心 codex 找不到这个 plug in, 或者说是找错了的话,你可以明确要求 codex 使用这个叫做 presentations 的 plug in, 这只需要在任务的最前面输入一个 at 符号,然后敲入 presentations 回车,这样 codex 就 一定会使用 presentations 这个 plug in 来做 ppt 了。 不过不加也没关系, codex 会自动找到这个 plug in 的, 所以呢,我们暂时就把它给去掉吧。好,提交,可以看出 codex 开始工作了,我们稍微等待一会儿, codex 写好了,我们打开看看。 中规中矩吧,其中其实还有不少可以改进的地方,不过这已经是一个不错的起点了,我们可以在这个基础上做一些其他的改进。 这个叫做 presentations 的 plug in 并不能算上经验。下面呢,我给大家介绍 open ai 所提供的两个用来镇店的 plug in, 一个呢是叫做 computer use, 用来控制电脑。另一个呢是叫做 chrome, 用来操作 chrome 浏览器啊,我们先来试一试 chrome 这个插件, 让我们来到这个插件管理的地方,然后呢,点击 chrome 旁边的这个加号来安装这个插件, 点击 install 好, 安装好了。然后呢, codex 提示我们需要在 chrome 上面也安装对应的扩展也行。好,那我们就按照它的指示来安装这个扩展。 那一切准备就绪之后,我们就来尝试用用这个 chrome 插件,我们可以直接点击旁边的这个按钮,这样的话, codex 就 可以给我们出实化一个使用当前插件的这么一个请求。呃,我们可以把后面的这个部分给去掉,换成我们具体的请求, 那就是打开 product hunt 首页,然后再找出今天最热门的三个新发布的产品,总结它们各自的特点,并附上对应的访问链接好提交。 呃,为了让大家看得更清楚,让我来把 codex 缩小一点,把 chrome 浏览器放出来,这样的话呢,大家就可以更清楚地看到 codex 到底是如何干活的了。 可以看到 codex 创建了一个标签组,这个标签组呢,专门用于解决我们的问题,然后它在这个标签组里面访问了 product hunt 的 首页,今天最热门的三个新发布的产品就在这里了,相信 codex 也看到了。 可以看到,现在 codex 开始打开另外一个标签页了,这个呢,看起来是第一个产品 brew 的 一个相关网站,然后呢,它又打开了一个。 呃,接下来呢,我们就不管了, codex 估计还会查看更多的网页,我们就在这里稍微等待一会,相信他等会就可以查询全部的产品页面,然后给我们一个比较有效的反馈,让我们稍微等待一下。 好, codex 给我们总结了,这个呢,基本上也就是我们想要的结果了,这个呢,就是 chrome 这个插件的相关使用方法了,让我们把这个 codex 再次最大化。 然后下面呢,我们就来看一看 computer use 这个插件的使用方法,它是用来操作电脑的,同样,我们点击这个加号,然后进行安装, 安装成功,让我们来使用一下。跟 chrome 的 使用方法类似,我们也可以点击 computer use 旁边的这个小图标,这样直接就能开启一个相关的 computer use 绘画。我们先把后面这段文本删掉,因为它跟我们真实的请求没有什么关系。 然后呢,我们再稍微改一下这个请求所对应的目录,我们现在呢是放在马克笔记这个地方,但实际上我们要打的这个请求呢,跟这个项目其实没什么太大关系,所以呢,我们就选择 don't work in the project, 也就是说,这就是我们随便提出来的一个请求,不会去绑定某个具体的项目目录。之后,我们就可以正式输入自己的请求了,那就是请打开我电脑自带的日历应用,帮我新建一个五月二十八日十点的日程标题,叫做讨论马克笔记的后续设计。 没错,就是这样,我们让 codex 操作一下日历这个应用,然后同之前一样,我们把 codex 缩小,把日历这个软件漏出来。这样呢,大家就可以更清楚地看到 codex 是 怎么操作我们这个日历软件的。 好, codex 首先询问我们能不能使用日历这个应用,我们同意, 可以看出 codex 开始行动了,这个呢就是 codex 的 鼠标,它跟我们所使用的鼠标呢,根本是两套,彼此之间互不影响啊。然后 codex 呢就开始操作这个鼠标,去完成我们的需求, 它还需要我们确认一下是不是真的要创建这个日程,这个有点啰嗦,那当然是确认了,我们给它回复一下, 好,看起来 codex 已经完成了我们的要求了,我们来看一下, 看起来这个日程的标题和时间段都是满足我们要求的,那就没问题了,我们再把 codex 最大化。 这个呢,基本上就是 computer use 这个插件的使用方法了。值得一提的是, codex 使用独立的虚拟鼠标,与你的鼠标互不干扰。刚才把日历软件提到前台只是为了掩饰,实际上你完全可以让它在后台默默干活,自己该干嘛干嘛,上网看视频都可以,完全不会耽误。 好, computer use 讲完了,我们接下来就来看看 skill 是 如何使用的。想要浏览 skill, 我 们就必须要先打开 plugins, 然后再点击这里面的 skills, 就 可以看到可用的 skill 列表了。 其实我们之前用 plugin 的 时候已经间接的用过 skill 了,因为无论是 presentations, computer use 还是 chrome, 这几个 plugin 的 核心组建呢,都是 skill, 你 在这个 skill 标签下面都能找到。 当我们安装对应的 plugging 的 时候呢,我们都会把相关的 skill 一 块儿安装好,所以我们在这里都能找到这些 skill。 不 过有一个王牌级的 skill 是 单独列在 skill 这个标签下面的,它并没有一个对应的 plugging。 这个 skill 呢,就是 mhgen, 它是用来生成图片的, 相信大家对 g p t 的 生图能力早有耳闻,不仅美观,而且非常的真实。下面呢,我们就来使用这个 skill 来创建一个图片。我们在马克笔记这个项目下新建一个绘画,然后输入我们的要求,给这个笔记软件生成一个宣传海报图片,注意要使用我给你的真实的软件截图。 然后呢,我们需要给 codex 相应的软件截图,我们先按 command 加 j 打开终端, 然后执行 npm start 命令来打开我们的笔记软件, 然后我们回到 codex 这里,点击加号,再找到其中的 attach electron 这个选项,这里面的 electron 其实就是我们的马克笔记软件了, 我们的这个笔记软件就是用 electron 做的,所以呢,在 codex 里面看来,这个笔记软件就叫做 electron, 我 们来直接点击这个选项,点击之后呢, codex 询问我们是否要启用这个功能,我们点击 enable, 然后我们的马克笔记截图就到了聊天框里面了,这样 codex 在 做海报的时候就可以根据真实的软件截图来做了,是不是很方便呢?点一下按钮就可以把截图放进来了, 不过这个还不是最方便的, codex 还提供了一个快捷键,按一下就能够把截图传过来。我来给大家演示一下,我们之前给 codex 的是浅色模式的截图,我现在在给 codex 传一张深色模式的,我们回到马克笔记这里,调到深色模式, 然后重点来了,左右 command 键同时按下,这样深色模式的马克笔记截图也传给 codex 了,这个确实更加方便了吧。好,现在 codex 有 了浅色和深色两种模式的截图,我们可以让它开始做海报了。提交, 首先我们可以注意到 codex 会使用 image 这个我们之前提到的技能来做这张宣传海报,然后我们就再等等,看它能画出什么样子来。 画完了,我觉得还行吧,确实是基于我们的截图来做的,不知道你觉得怎么样呢? 除了使用 codex 给我们安装的 skill 外,我们也可以创建自己的 skill。 让我们按 command 加 n 新建一个绘画,然后输入我们的任务,写一个代码审核 skill, 专门给当前的项目使用。这个 skill 应该包含如下的规则。好,我们提交 可以看到这个 skill 已经做好了,它的名字就叫做 marknotes code review。 下面让我们按一下 command 加 n 新建一个绘画,试试这个 skill 的 效果。首先我们 at 这个 skill, 然后提出我们的请求,检查当前项目的代码是否有问题。好,可以了, 结果出来了,还可以,我们还可以让 codex 根据审查的结果来修改代码。这里呢,我就不再继续演示了, 我们的笔记软件每天都在迭代,每天都有代码更新,所以我们最好能每天定时检查一下代码,看看有没有什么问题。这种场景就很适合起一个定时任务来处理。 codex 也提供了这样的功能,让我们来点击这里面的三个点, 再点击 add automation。 呃,也就是添加一个定时任务。这里呢是定时任务的标题, codex 已经帮我们填好了。这里呢,填写发起定时任务的时候,我们需要发给 codex 的 要求,我们的要求呢就是检查当前项目的代码是否有问题。 然后下面呢是执行环境,一共是有三个选项,分别是 local, worktree 和 chat。 local 呢是在某个项目目录里面运行这个定时任务 worktree 是 基于某个项目目录创建一个新的 worktree, 这个定时任务就在这个新的 worktree 里面运行。 worktree 的 概念我们之前讲过,它是 get 的 一个概念,如果你还是一知半解的话,可以先不管,我们这里不用这个选项。 chat 呢是执行环境,不跟任何项目目录绑定,我们之前用 chrome plugin 搜索网络的时候,实际上是用过 chat 环境的, 这里最适合我们的是 local, 毕竟我们的定时任务就是要扫描马克笔记的项目代码,所以一定是要跟某个项目目录绑定起来的。让我们选择 local, 然后在这里面选择马克笔记,然后这边呢是运行频率,我们选择 daily, 具体的时间呢,我们就维持在九点钟,意思就是我们这个定时任务在每天九点钟的时候启动, 下面呢我们选择模型 g b t 五点五,推理强度呢,我们就维持目前的 medium 就 好了。然后我们点击 save, 再打开左边栏, 我们就可以看到 automations, 这里面多了一个一。点击之后就可以发现我们创建的定时任务了,它会每天十点开始运行,每次运行的时候都会创建一个新的绘画,我们可以点击这个按钮试运行这个定时任务, 可以看到一个绘画创建出来了,就是用来运行这个定时任务的,我们来打开看一下, 好,可以看到这个定时任务已经完成了,后面每天跑的也都是这个样子了,那这个就是定时任务了。最后我想给大家讲讲 codex 的 一个特别有用的功能,那就是 codex mobile, 具体来说就是我们可以在手机上操纵 codex 来给我们完成任务,让我们来点击这里面的 codex mobile, 再点击 allow 允许手机操纵这台电脑, 然后再点击弹,点击完弹了之后, codex 应该会给你显示出一个二维码来。 呃,如果你像我这样没有显示出二维码的话,可以点击这里的手机图标,这样二维码就出来了。随后我们需要打开手机摄像头扫描这个二维码。然后呢,我们就会被引导到叉 g b t 的 codex 页面。在这里我们就能向电脑端的 codex 发送指令了, 比如我们想让它操作一下日历。你还记不记得我们之前在日历上创建了一个日程标题,就叫做讨论马克笔记的后续设计。现在我们在手机上再发送一个指令,让它把这个日程去掉,我们点击聊天。 然后呢,我们再点击这里,呃,在里面找出 computer use 这个选项。 随后呢,我们需要输入我们的请求,我们的请求就是把日历中五月二十八号呃,讨论马克笔记的日程删掉, 写完之后先不要忙着提交,你看,我们现在在马克笔记这个项目目录下,但我们的请求其实跟这个项目的代码没什么关系,我们就想操作一下日历软件,所以我们需要再点一下这个设置按钮,然后选择不使用项目。好,这样呢就万事俱备了。我们提交请求, codex 首先询问我们是否同意使用 calendar 这个软件,我们批准。然后 codex 再次询问我们是否要真的删除掉这个日程,我们确认, 随后 codex 就 开始操纵电脑了,我来给大家看看电脑上是个什么样子,你看日历上面多了一个鼠标,它正在操纵电脑删除这个日程。 好,删除成功了。这样呢,我们就做到了用手机来操纵电脑了,是不是很方便呢? 这样大家在外面也可以使用 codex 来做各种各样的事情了。好到这里本期视频就结束了,我是马克,用最通俗的语言讲最硬核的技术,我们下期再见。拜拜。

我让 gbt 五点四自动剪辑了,先看成片。 哈哈哈,不愧是 opencore 创始人,加入了 openai, 现在在 codex 里面直接对着窗口下指令,它就能像小龙虾一样操控你的电脑。因为它原声内置了小龙虾的能力。我实测了一波,功能,体验上 跟 opencore 基本上一致,但是能力和稳定性却要比龙虾强不少。因为它原声内置了最新的 gbt 五点四模型。 刚才你们看到的成片是我让他读取我电脑上本地 vlog 的 素材,他自动判别了素材的高光时刻,然后自己编写了一个剪辑脚本,并且在后台直接帮你剪好了。所以以后可能剪辑软件都不需要打开了,真的就是动动嘴皮子就把片子给剪了。但且不说成片质量如何, 起码他现在能理解咱们素材的内容了。相信大冒险能力,再迭代几次,剪辑的效果肯定能和人工不相上下。主要是 ai 剪辑是真的快啊,而且不知疲倦的帮你修改,你们可以自己去试一试。

ok 啊,给兄弟姐妹们分享一下个人作品及网站这个搭建的一些经验。好吧,因为我是一个没有任何代码基础的人,所以放在以前做这样一个网站几乎是不可能的。那么现在有了这个 web coding 以后呢,其实就用 codex 就 很轻易的可以做出来一个了。这个网站我从刚开始 到现在这个阶段,一个一共就花了三天左右吧,因为 codex 它是有额度的,你把额度花完之后,你就只能等它额度刷新了,所以再把这三天里面我投入进去的时间叠加在一起的话,其实也就半天到一天,如果你有更多的额度或者更多的经验的话,做的肯定比我更快更好。 嗯,给大家展示一下这个作品这块吧,你点击任何一个封面进去,他就会有一个点云炸开,然后聚拢的效果,你把鼠标悬浮在这个画上面,他还会有一些互动。嗯,有什么意义呢?其实也没有,嗯,就是感觉很好看,很好玩,所以就这么做了。 然后回到刚开始吧,给大家看一下入场动画。这个网站具体的搭建,其实刚开始就是学习了 b 站上一个 up 主的视频,有一些提示词什么的,我全都是按照他来的,然后做出了一些根据自己具体的情况而进行的改动。 你就比如说网站的这个头图,你可以从小红书上或者拼 trees 上找你觉得比较好看的,效果比较好的海报或者排版方式,然后发给 collage, 让他学习这种方式给你构建一个属于自己的头图。但是我找了很久,发现那些都是什么科技风啊什么的, 和我这个作品及气质不太相符,所以呢,我就从拼 trees 上找了很多画风趣同的我觉得很好看的插画, 我全部发给了 codex, 然后让他学习这种风格,从我的个人作品里面提炼出比较关键的一些要素,一些道具或者一些意向,弄出一个和我这个作品气质比较相符的一张头图出来。 当然就是现在这张,我还提供给他了一个我自己的签名,让他进行了处理之后放在了这个网站的首页,就在这里。 然后下面部分就是个人经历部分,当然右侧这些信息都是他根据我的简历里面的信息自己生成的。左侧这个人物照片部分呢,除了人脸是通过我提供的照片底图自己就有的之外,这个衣服 背景都是 g p t。 生成的。背景呢,其实就是仿照了余华的那张比较知名的照片,然后衣服呢,也是他 g p t 自己幻想生成的。然后这个构图方式,这个排版就是我从拼翠子上找到了一张我觉得效果不错的一个 海报吧,然后我交给了 gpt, 我 们讨论很久,讨论出了一个比较长的一个提示词,最后弄出来一个张效果相似的智能照片,然后下面这个就是作品部分,作品部分刚才也给大家展示着这里面的每一个封面,你点击一下 就有一个点云炸开然后聚拢的动画,这种点云的动画呢,在那个教程里没有的,这个主要是根据 b 站的另一个 up 主发布的视频,他自己开发了一个本地部署的点云动画的模型,也就是这个 你把它下载出来,出来之后你把照片放进去,它就会自己生成一个点云的模型,在这个里面你可以通过操作任意的切换视角以及缩放等等。然后它还有一个效果就是点云动画的流动, 你本地部署这个模型之后呢,你就可以跟 products 直接进行交流,让它把这些作品的封面通过这个模型生成出类似的效果出来,就在网站上就变成了刚才给大家呈现的这种感觉。 当然了,这个期间的过程呢,需要不断的去调整,因为刚开始他可能会跟你自己设想的感觉会有出入,你跟他不断的去精细化就 ok 了。包括最后那个 把鼠标放在上面,就会出现一些互动效果,这个也是直接跟他说就可以做到的。然后这个作品的这个排布是怎么做到的呢?这个也是根据那个视频教程里面来的,有一个 这样一个网站,在这个网站里呢,由于许许多多这种效果,你直接点一个自己喜欢的,然后把那个代码复制给 codex 就 可以完成了。像我现在这个这种排布的效果,就是用这个 这个网站上的东西完成的。然后呢,因为我的作品其实没有那么多,所以只能四排都搞一样的了,如果有的话,我巴不得有那种就是每一个都不同,然后琳琅满目的感觉。 下面这个部分呢,是个人优势的部分,这个也是根据简历直接来的,其实我没有做过多的改动,嗯,唯一的改动可能就是这个文字部分,因为 gpt 它会根据你的简历自己编造一些文字, 嗯,这些文字呢,其实有的,嗯, ai 味是很重的,需要你自己去微调。嗯,我就通过那个它建立文件夹,里面有一个文本,你直接用 vsco 打开,在里面进行那个文字的修改就可以了。 如果改完之后呢?把网站刷新一下,发现还是没什么变化,你直接跟 codex 说,让他重新帮你构建一次,其实就很好的就可以解决了。 然后最后一页是联系方式,这个联系方式背后放了一个背景动画,其实你能看出来,就是刚才给大家展示的那个本地模型里面的点云流动效果。那么它的制作方式也是非常简单粗暴,你只需要把模型弄进来,然后点击这个动画,然后直接屏幕录制。 屏幕录制完了,你把视频交给 codex 就 ok 了,因为这个屏幕录制他会把这些无关紧要的,比如这边,这边东西全都录进去,那么只需要告诉 codex, 让他通过裁剪或者别的方式直接把它处理掉就 ok 了。 当然了,用这种简单粗暴的录制方式弄出来的这个视频也不会特别精美,比如现在其实他的清晰度就不是特别高,然后那个边缘的这个裁剪的痕迹也是比较明显的。嗯,不过其实我已经很满意了,毕竟我只是想做一个玩玩,然后满足一下我的创造欲望而已。

程序员注意,现在手机也支持 codex 了,但重点不是让你在手机上写代码,真正重要的是,你可以随时随地控制电脑上的 codex。 以前 codex 跑到一半问你要不要继续,要不要执行命令,你人不在任务就停住。 现在你在手机上就能看进度,批操作、改方向。过去的 ai 编程工作流有一个很大的问题,人必须跟着 agent 的 节奏走。 他问你要不要继续,你不在,他停,他问方案选 a 还是 b, 你 不回,他停,他要执行测试或者高风险命令,你没批准,他还是停, 这不是能力问题,是协助半径太短。 agent 很 强,但他被锁在电脑前。 openai, 把 codex 放进 chat gpt 手机 app, 但重点不是在手机上跑代码, 真正干活的还是你的 mac、 mac mini、 devbox 或者远程开发机。手机只负责看批改方向,文件、凭证、权限都还留在原来的机器上。这件事真正改变的是 agent 工作方式。 以前你在陪 agent 跑,现在是 agent 跟着你的节奏跑。你在地铁上可以看他跑到哪一步,你在开会时可以审一眼 diff, 你 在吃饭时可以批准他继续测试。你在路上发现方向错了,可以直接打一行字让他改。 你看官方信息里真正关键的表述,在 chat gpt 移动应用中开始新工作,查看输出结果,控制执行进度并批准后续步骤。 这句话的重点不是移动端,而是控制执行进度和批准后续步骤。也就是说,手机端承担的是 agent 工作流理的控制面,而不是代码运行面。具体怎么用?第一步,电脑上先跑 codex, 目前主要支持 macos、 windows, 还要等。 第二步,手机更新 chat gpt app, ios 和安卓都已经有 preview。 第三步,在 chat gpt 里打开 codex, 你 就能看到正在跑的任务线程。 第四步,在手机上看 beef, 看测试结果,回复新指令,批准高风险操作,甚至新建任务,继续跑。 这次更新不是让程序员在手机上写完整项目,他更像是给你的 ai 程序员加了一个随身遥控器,你不用把文件凭证、开发环境搬到手机上,你只需要在他需要判断、批准和纠篇的时候能立刻出现。 所以这次更新不是 codex 多了个手机版,而是你的 ai 程序员终于有了一个随身遥控器。对程序员来说,这比手机写代码重要得多。因为真正的效率提升不是你在哪里敲字,而是 agent 卡住的时候,你能不能立刻让他继续往前跑。

什么?按照十五五规划,你现在开始学 ai, 就 像在零三年干淘宝,一六年做互联网。今天我们要学的是什么?是 codex, 它把话讲,它是一个能自己干活的 ai 程序员,它跟我们平时用的 gp 有 什么不同呢? gp 更像是一个会给你思路的 ai, 比如帮你写文案,解释概念,生成方案。而 codex 是 一个能进入项目里执行任务的 a 阵,他们 两个取向不同,为什么 codex 最近会这么火呢?本质区别就是它不是只会说,而是真的可以干活。很多人说,这不就是一个会写代码的 gpt 吗?其实它也不是一回事。 有一个很简单的例子,就是金弟是一个健身教练,告诉你今天要练什么动作,动作怎么做,怎么吃饭,控制热量。但 codex 像是一个真的能擅长训练的助理,会帮你把计划拆开,定的过程发现你动作不对了,还能继续调整,这样就很好理解。以前是大语言模型时代,现在到了 a 阵的时代,一个本质的区别是,以前是只给建议的,哎,告诉你应该这样,那样就是你会发现干活还是我自己。 而到了 a 阵的 codex 时代,不仅他能携带吗?关键是你给他一个目标,他会自己去执行,看文件,改代码,给大家分享一下 codex 的 核心工作流,你懂了这个逻辑,你就知道为什么 a 阵的在改变这个世界。比如你对他说帮我做一个个人网站作品集,普通 圆大模型,需要你一步步跟他互动,属于是他付得出主意,活还是得你干。但是如果运行扣代码的话,他设这个目标后,会先理解你的项目结构,然后判断要新建哪些页面,怎么样写样式,怎么样运行项目。 如果中间页面打不开,或者代码报错了,又该怎么样去调整达到你的预期?而之前的圆大模型还是留在手人工手搓这一部分才是你遇到了问题,你没有办法给 ai 提供这个项目的信息。其实 ai 不 能了解这个项目长什么样,他只能去猜,去设想,这手机很容易去出问题,而扣代码没有这个问题,他可以理解目标运行验证、修复问题,直到把结果能做出来。 坚持手速的语言大模型运行原理是你问一次,他再去回答一次。而 codex 更像是一个真正的执行者,围绕整个目标去循环推进,直到把任务完成。 ok, 又是更了解 ai 的 一天,关注我,带你解锁更多 ai 宝藏玩法!


cloud code 改一个环境变量,就能让它去跑 gpt, 跑 gemini, 而下游干活的那套代码一行都不用动,怎么做到的? 难点在哪儿?每家大模型的接口消息长什么样?流势怎么往外吐?工具怎么调用?格式全不一样,应接就得到处写,判断分支改一处崩三处。 cloud code 的 解法特别像现实里的一个职业同声传译。 想象一个国际会议,台上有人说英语,有人说日语,有人说法语,台下听众只懂中文,却全程毫无障碍,靠的就是隔间里那个同声传译。 cloud code 在 接口这一层放的就是这么个翻译官。 gpt 那 边吐出来的流逝事件进来之后,被逐条翻译成 cloud 自己的内部格式,再吐给下游。 关键就一个字,流逝。它不是等 jpt 把一整段说完再翻,而是每收到一个小片段,当场翻译,当场传出去延迟,几乎感觉不到 怎么翻。一一对应 jpt 的 文字增量事件进来,翻成 cloud 的 文本块,增量调用工具的事件进来,翻成 cloud 的 工具使用,每一种事件都有它对应的译文。 翻完之后,下游那套循环工具界面拿到的永远是同一种格式,他们压根不知道刚才在背后干活的是 gpt 还是 cloud。 这套设计我挑三个点说说,看完你会觉得挺讲究。 第一,每接一家模型,就单开一个文件夹, gpt 一个, gemini 一个, grok 一个,各装各的翻译官,互不打扰。所以加一个新模型,等于请一个新翻译官新建一个文件夹,再在分发的地方加一行判断旧代码,一个字儿都不用碰。 第二,到底用哪家模型?源码里一个函数说了算,优先级很清楚,你在设置里指定的最优先,其次看环境变量,什么都不设默认就走自家的 cloud。 第三,这个模型列表源码里一共列了七种自家的 cloud, 加上 gpt、 gemini、 grok 这些别家模型,还有三种云上的部署通道,想换哪家就是改个开关的事。 退一步看,这就是设计模式里那个适配器模式,落到真实工程里最干净的一个样子。 课本上有句老话,对扩展开放,对修改关闭,听着像八股,可在这你看到了他真金白银的回报。再接施加模型,下游代码一行不动,克制和分层,省下的全是维护成本, 模型能随便换了?那下一个问题就来了,干活的那个 ai 能不能再分身,自己给自己派活?下一集聊聊 cloud code 里的子 agent, ai 给 ai 打工。互动留个问题,你主力用哪家模型? cloud gpt, gemini? 还是国产的?评论区站个队。

怎么样去获取别人爆款智能体背后的提示词?其实我们完全可以效仿那些大模型公司去蒸馏别人的模型的时候,做的方式就是当你看到一个你觉得非常好用的智能体,你就用这个办法就可以逆向出来它的提示词,具体怎么去干?先把这张图保存下来,它是逆向蒸馏的一个最基本的东西,我们一会会用到。第一步 我们要去用它不停的去测试,用你想到的所有的办法去给他发消息,并且把他所有的回复全部放在一个文档里面, 每一次的问答全部做好,至少重复十次以上,记住十次全部保存在一个文档里面。第二步是去检查,这一步可能有点枯燥,但你一定要去查,因为你查完了之后才知道他的回复是不是对的。那么第三步就重点了, 我们在视频开头说的第一个那个图片,把图片里的文字先复制下来,然后补上下面这句话,这是我们针对这个智能体经过十次测试的结果,它的输出问和答 文档已经发送给你了,请你仔细阅读完毕文档中的每一个字,然后根据以下我的八个要求,就是刚才图上的那八个要求,逆向推理出来这个智能体背后的提示词的写法, 根据原始架构帮我逆向出这个提示词的具体内容,最后以 markdown 的 格式输出给我。 ok, 兄弟们拿去测试那个图,没有的说一声,但是兄弟们不要去争论我的 ok 散会。

当你以为 codex 还是用来写代码的时候,我已经用它实现了画面中的产品设计、数据分析、创意制作等更多类型的工作了。距离我上次分享 codex 已经过去一个月了,在这一个月里面啊, codex 开始从一个只给程序员的工具,慢慢进入了日常办公的工作场景。 这不,最近 codex 又迎来了一波大更新,所以说这期视频我就带大家来看一下。 codex 这次又给大家准备了什么新的惊喜?首先第一个是产品设计插件, 以前我们要做一个产品原型啊,通常要先写需求,再整理页面结构,最后再去画界面,这个流程会消耗非常多的沟通和试错时间。但现在你就可以直接给 codex 一个产品方向,让他帮你把产品的第一版结构给搭出来。 比如说我这里让他为 codex 设计一个日历功能,这个产品设计插件就会先给我三套他设计的原型图,让我去选择一个。当然,这边也支持用飞格马原型图来生成, 可以看到整体生成的已经不是一张概念图了,而是有导航、菜单、数据卡片,可以完整交互的外部端界面了。而且它还支持将这些圆形图重新转换到 figma 上,方便你在团队之间的协调。可以说 codex 已经完全接管了产品设计的全流程了。 第二个插件是创意制作,那这个插件更适合营销团队、品牌团队,或者说经常要做活动素材的人。 以前做一组广告素材,可能要先写创意简报,再找设计师做主视觉,然后再根据不同渠道改尺寸、改文案、改背景,最后你会发现,真正花时间哪不是想到一个创意,而是把这个创意拆成一堆能用的物料。 比如说最近马上端午节了,我这边就让他帮我设计一款牛肉健身减脂粽子系列的营销活动,用来征集创意。接着他就会提供几个创意方向让我选择。然后我这边选了端午不抖粽的主题,他就会在右侧的工作台生成这个创意对应的一些物料素材。 然后这边我还可以对某张图进行重点的譬如说明,做单独的调整。最夸张的是,我可以无缝用开码打开进行海报的二次创作,对打工人来说毫无千万成本。 所以创意插件真正省掉的是从一份创意简报到一组可用素材之间的工作。第三个我觉得是白领场景里面非常典型的数据分析插件。以前你要回答一个问题啊,比如说上季度哪个区域收入下降了?为什么?可能要自己查表,做透视拉图表, 然后再写一份分析总结。然后现在你就可以直接把问题丢给 codex。 比如说我这边准备了一份连锁咖啡品牌的经营数据,然后问他第四季度相比第三季度,哪个区域的净收入下降最多,原因是什么?他就会先看区域收入变化,再继续往下猜到底是订单量的下降还是渠道表现变差。 最后他不是只给我一段文字,而是把结果整理成图表和分析看板,你甚至可以直接把它发布到 ppt 中进行演示。比如这里可以看到华北区域的收入下滑最明显,继续拆下去会发现主要问题不在客单价,而是在订单量和外卖渠道。 这个场景的价值在于,他不是简单的帮你看表,而是帮你把一个业务问题拆成一条分析链路,从哪里出问题,到为什么出问题,再到下一步该怎么做,他可以一次性的串联起来。第四个是销售插件,销售团队真正的问题不只是写邮件,而是客户的信息太分散了。 c i m 里面有客户阶段,邮件里面有沟通记录,未记录里面有需求和意义。最后最难的呢,是,到底谁先该跟谁订单,卡在哪里?下一步要做什么? 我这边设计的场景是一个 b 二 b 大 客户销售观单的助手。比如说,系统会先根据合同金额、成交概率和风险等级,找出最值得跟进的几个客户,然后点进一个重点客户,它会自动的整理客户档案、最近沟通的内容和当前推进的阻碍。 接下来他还能继续生成下一次客户会议的准备资料,会结束之后啊,还会再根据会议的跟进邮件和接下来的观单计划。所以销售插件的重点不是帮你写一封邮件,而是把客户优先级会议准备跟进动作和风险复盘,创成一个完整的流程。 第五个是公共股权投资插件,这个插件听起来会更专业一点,他主要面向的是二级市场的投资人,用来做上市公司的研究。比如你正在研究一家上市公司,看到他最近股价跌了,你想判断这是短期的情绪波动,还是公司基本面真的变差了? 以前做这种数据分析,可能真的会去金融终端里面找财务数据,让同行的公司看估值指标,再自己整理成一个研究框架。 但这个插件可以直接把这些信息整合成一个投资分析的看板。我这里设计的场景是一家虚构的户外消费公司,他会把公司的收入、增长、利率、库存压力这些指标拉出来,再和同行的公司做对比, 最后再帮你验证几个核心问题,比如说增长还在不在,利润稳不稳。第六个是同行插件,他和前面的公共股权投资插件都属于金融场景,但侧重点完全不一样, 通过股权投资更偏向研究和判断,而同行的插件更偏向材料生成和交易的推进。比如一家仓储机器人公司准备做融资,客户给了你一堆资料,行业报告、公司财务产品介绍和融资的计划。以前同行团队要做的事情就是把这些散乱的资料整理成一套客户能看的 pitchbook, 这里面不只是排版,而是要有完整的故事线。为什么?现在为什么这家公司以及融资之后的钱要怎么用?那我这边也是让 codex 为一家仓储机器人公司做闭轮融资材料 包括行业机会、公司财务估值区间和下一步的交易计划。它不像普通 ppt 那 样,只是把文字摆上去,而是把行业、公司财务估值和交易节奏组织成一套客户就绪的材料。 所以投行插件真是省时间的地方,是把一堆研究和竞调材料,变成一套可以拿去和客户投资人沟通的版本。看完这六个插件之后,啊,我觉得这次扣贷的变化重点不在于它又多了几个功能,而是在它的边界开始变宽了。 以前我们讲 codex 更多的是在讲写代码、改代码、修 bug, 但这次的插件明显开始覆盖产品、营销、数据投资这些岗位里面的具体工作了。 所以如果你还在把 codex 理解成一个程序员的工具,那可能就有点低估它了,它正在变成一个能帮不同岗位完成具体任务的工作入口。 ok, 那 本期关于 codex 更新的分享就先到这,我是布鲁,你的 ai 好 搭子,我们下期视频再见。

ai 写代码写不明白?别等 gpt 六了,最近 nose research 正式开源了 moa 二点零,用普通模型拼出来的组合跑分居然直接干翻了 gpt 五点五和 opus。 moa 的 全称是 mixture of agents, 指意是智能体混合。 简单理解,以前是你一个人问一个模型,现在是让一群模型先各自看题开会商量,最后让最强的模型开板汇总。 在官方 hermesbench 机准测试上, gpt 五点五单打独斗是零点七四。而 moa 组合把 gpt 五点五和 deepsea 当做参谋,让 opus 四点八汇总跑分直接暴涨到零点八二,碾压任何单模型。听起来很贵, 其实一次请求只多了零点零一美元。因为参考模型不加载复杂的系统提示词和工具定义,跑得上下文,极品白嫖配置比想象中简单得多。 在 harms agent 里,只要写几行 y a m l 指定参考模型和聚合模型,或者直接在终端运行一条命令,就能立刻开聊,自动流转。当然, mo a 会增加延迟,不适合日常闲聊。 但它的意义在于,大模型不再是闭门造车的成品,而是我们可以自由组装的零件。未来,你可以自由定义你的智能团。关注我,带你了解最新 ai 技术 and 资讯。

啊,今天我们介绍一下科目一怎样去读写这个题目数据,下面我们介绍了什么是这个题目数据,题目数据呢是科目一中一个比较小的周期的一个数据,它是来自于三个数据的一个合成数据,我们先看一下怎样在科目一中去读写这个数据 啊?首先的话它包含了几个参,几个输出的一个参数,首先是一个最新价,然后开盘价, 最最高价,最低价,还有昨天的一个收盘价,然后包括的一个成交总额,他成交总额他的话他是一个累计的,他是当前时间今天所有交易的一个总额的一个累计,然后包括这个成交量他也是一个累计的, 然后后面的话就是买卖五档的一个价格,还有买卖五档的一个一个一个成交量 啊,首先的话,因为作为演示的话,我们是在数字函数中调用一次就行了,所以这的话我们是给了一个标记代码,然后同时定义了一个读写 tiktok 数据的一个接口,然后下面的话是打印这个详细的一个 tiktok 数据里面的一个参数, 它核心的代码就是在读写 tiktok 数据,用的就是 getfile tiktok 这个 api 的 一个数据接口,它这的话这个参数的话,它是一个相对是固定的的一个全级变量,它是所有的一个全级变量都会继承在这一个这个参数中。而后面的话是一个股票代码, 然后我们使用到读 tick 书机的这个接口的话,就是在它这个前提变量中带的一个输入接口叫做 getfoolt tick, 然后它这包含的是一个股票代码的一个参数, 然后他他返回的是一个字典数据,然后字典的话和核心的一个标记的话就是股票代码,用股票代码的话可以把所有的自然数据的一个数据给他缩影出来。然后后面的话,这是一个打印的一个详细的一个替代数据。我们看一下他读起到的一个数据结果 啊,首先的话,因为我们只是在数字化函数中作为演示的话,所以我们只调用一次,而他这里的话会返回他输出的一个详细数据,是包含了最近价、最高价,然后最低价成交量,成交额,还有买卖五档的一个价格,还有买卖五档一个数量,还有读起到当前的一个最新价。 好,它这个完整的代码就是这一个,然后需要的话可以找我,然后把它用于一个教学的一个使用,一个参考学习。它核心的数据就只用到了一个数据接口, get file tik 就 可以读起到它 旁口的一个实时的一个五档的价格成交量之类的一个我们需要的一个数据参数。好,这个就是读起 tik 数据的一个简单的一个教程。

给大家看一下,五秒钟用 codex 跟 gpt 帮我复习我的期末流程。首先这是让 codex 帮我生成的,我把老师给的 ppt 全部喂给他,然后让他帮我一个一个章节全部总结下来, 因为有时候你问豆包他就,你就会发现,哎,豆包有时候他只能阅读这个 ppt 前百分之三十,因为这 ppt 太长了,你直接用 codex codex, 它可以直接定位你的文件,把你的文件全部读取出来,可以完完整整的。然后呢,你再把这个 word 文档,嗯,发送给 gpt, 让 gpt 给你生成每一章节的,嗯,思维导图。然后就是这样子的,我去,我就直接用这个思维导图背 背的,真的是新手以来比我自己用 word 文档背的快很多。就是你看着这个思维导图,你到后面记下来,你就是记他这一个整个体系再也不会搞乱了, 因为我这个是互联互联网安全技术,他有很多密钥分类啊,还有什么保密技术,吧啦吧啦吧啦。然后你就直接用这个,然后每个章节都给他生成一个导图,就不会弄乱了。我去,真的很好用,期待一下我周一的期末考吧。

如果你每天都在用 ai 写代码,这个开源项目能自动读取整个项目结构,把代码整理成 ai 最容易理解的上下文,不管是任何 a 阵,都能快速理解你的项目,大幅减少来回解释的时间。

开始以为用 ai 来做游戏最难的应该是代码,开始后才发现,真正把我卡住的根本不是代码的本身, 是不知道该让 ai 改哪里,不知道它到底有没有改对,也不知道 unity 里那个看起来正常的按钮背后到底有没有真的接上了逻辑。 所以这个 demo 不是 从写代码开始的,它是从一堆很笨的过程开始的。装 unity, 装 git, 装 visual studio, 跑命令,看版本号,查路径, 确认有没有报错,确认 git 是 不是干净的,确认 codex 有 没有真的动到该动的文件。听起来一点都不酷,并且,嗯,很烦躁。 但我后来发现,正是这些不酷的东西,决定了 ai 到底是在帮你做项目,还是只是在陪你聊天。 ai 很 擅长写一段看起来对的代码,但游戏开发里最麻烦的地方是,看起来对不代表真的能跑。 一个按钮显示在界面上,不代表它背后接了逻辑。一个数值显示出来,不代表它真的在变化。 一段代码没有报错,也不代表它的规则是合理的。慢慢的开始意识到,真正要做的不是让 ai 一 键帮你做游戏,而是去建立一套能被验证的流程。 人负责想清楚要做什么,先做什么,后做什么,最终我要得到什么, gpt 来帮你拆解任务,检查逻辑,规划风险。 codex 负责进工程里改代码,跑检查,汇报改动,最后再回到 unity 里验收它到底有没有真的生效。 一开始这个流程很笨,很多东西都要自己手动确认,我得打开 cmd, 看命令输出,我得确认 get status 是 不是干净,我得盯着 unity 控制台看有没有红错。 有时候一个功能看起来完成了,结果点进去才发现它只是界面上有了底层,且根本没接通。 ok, 就 这样,下面不断地重复地开始了与 ai 非友好的互喷环节。直到后来,我们开始把这些重复检查慢慢交给 codex, 让它看, def 让它跑, build, 让他列出改了哪些文件,让他告诉我有没有碰到不该碰的系统,让他把看起来完成变成可以被验证。这一步很关键,因为对于一个不会编程的人来说,最怕的不是 ai 写错, 最怕的是 ai 写错了,他以为他写对了,然后呢?你也以为他写对了? 然后可怕的情景就出现了, ok, 刚才说到哪了?咱们继续不断的重复的再一次开始了与 ai 非友好的互喷环节。 挺好的,人都麻了。当然,等工作流慢慢稳住以后,游戏本身才开始成长起来。不是大世界,不是复杂战斗,而是最小的闭环。宠物要有状态,能探索,探索后能拿到东西。 东西要进背包,背包要能显示,商人要能买卖,宝箱要能领取,进度要能保存。这些部分单独看,其实都是很普通简单的功能,但他们组合起来,游戏便开始有了生命感,至少嘛,看上去像点样子了。 然后是战斗开始,只是很简单的战斗窗口,我方血量敌方血量回合制胜利失败。但战斗一接上,问题就变多了,敌人等级如何匹配?胜利给予的经验掉落从哪里来? 升级后的宠物属性如何增长?暴击、命中、闪避?这些规则谁的优先级更高?仅仅是把功能堆上去,貌似总会出现莫名其妙的问题, 比如宠物属性、生命攻击、防御敏捷,看起来不过是一些数字,但成长公式设计一旦出错,后面所有体验都会出现偏移。一级可能正常, 五十级、一百级或属性出现倍率提升后,数值的结果出现崩塌很多时候是必然的。错误的设计可能会使体验变得离谱,在游戏现行难度的体现上就会变成完全打不过或者过于简单。 所以这里并不是只靠 ai 随便写一个公式,至少清晰地了解设计目标,哪怕去参考一些更成熟的数值思路或者体系,让 ai 来进行落地,并且再反复检查边界, 这也是很有意思的地方。 ai 确实可以帮你执行,但要做成什么样,真的需要你来判断。更加繁琐的还是 ai 和美术,直接纯让 ai 生成,效果可能不一定太好。 当然不绝对,但至少从我的体验上确实如此,至少相对于我发现单纯依赖 ai 好 像不太行。 如果每个窗口都单独生成主地图,背包商人战斗窗口生成的过程中出现了多种风格,或者说每个部分间风格出现了细微的跑偏, 那么最后整个游戏会非常缺乏一致性。所以我开始尝试先用手绘草稿去定布局, 主地图怎么摆?宠物信息放哪里,背包窗口放哪里,按钮是什么样?边框是什么样,木质背景角式装饰线条怎么统一?这些先在手绘稿里说清楚,再交给 gpt 讨论,再让 codex 按结构去接入。 怎么说呢,看起来办法还是挺笨的,但从结果上来看很重要。效果上也确实有所提升,因为 ai 能生成画面,但如果没有统一规则,他也很容易把风格带跑。 当然,尝试的这个 demo 还远远算不上一个游戏,甚至可能都不能说是个半成品,但也谈不上毫无意义。至少它能探索、能战斗、能掉落、能进背包、能装备、能买卖、能开宝箱,能进化、能存档。 他已经成功的实现了一些游戏该有的功能,他已经从一个想法变成了一个能跑的小样。而更有意思的是,你现在看到的这条视频本身也是用同样的方式做出来的。 我并不会剪辑,也不会生成这些能表达文案的图形代码,但仅仅是我告诉了他我要做什么。 ai 会帮你拆文案,写代码,做素材,生成画面并生成字幕。所以真正神奇的并不是 ai 根据口令生成了一个游戏, 而是哪怕不会编程的人,只要能把问题讲清楚,能做出相对正确的判断,能验收结果,就真的有机会把脑子里的东西一点一点做成能跑的东西。 a i 不是 一键创造游戏,它更像是把一个普通人的执行力放大了很多倍。但前提是,别只对他说,帮我做个游戏吧, 要懂得告诉他先做什么,为什么这么做,做到什么程度,算完成哪里必须检查,哪里不能乱改。 这个过程其实很普通,并且多数的时候你看到他其实并没有那么快,偶尔也会很笨,并且伴随着反复出错。但就是这很普通的一步步进行下去,最终你会看到一个也许是你理想中的东西,缓慢的一点点变清晰, 这就是我这个零基础 unity demo 的 开始,此视频的制作初衷其实吧,我也看过很多三小时五小时的。所谓一句话, ai 为你生成游戏,但少有去展示完整的工作流, 或者再严谨一些。一个零编程基础的人,如何利用 gpt codex unity 把游戏想法推进到可验证 demo 的 工作流记录 内容上,并不华丽,也没有太多的技术含量,但是所能表达的是很平常也不复杂。但是如果你也想我一样只是零基础的纯爱好者,那么以当前的流程来说,我能做到的就是你可以做到的,仅此而已。