OpenAI团队分享的Codex使用技巧 #codex[话题]# #openAI[话题]# #codex使用技巧[话题]# #技术分析[话题]# #渐进式披露[话题]#
✅ 已完成任务ID: 1569
30秒速读
核心摘要
本文分享OpenAI团队公开的Codex等AI代码Agent的两项实用使用技巧。
可执行建议
- 搭建AI辅助代码项目时,提前梳理好Agent和人工负责的模块,规整统一项目文档体系
- 不要将所有项目信息都塞入agents.md,用渐进式披露模式避免占用过多上下文空间
标签与备注
标签
备注
暂无备注
转录文本
前几天OpenAI来我们公司给我们讲怎么使用Codex。 第一天听到这个的时候,我就感觉,嗯,我已经用Codex很长时间了,还用你们来讲。但是听完他们的演讲之后,我发现还是有一些东西可以学习的。 这其实主要就是两点,都是关于Harness Engineering的。不好意思我又提Harness Engineering,因为现在你要做一个工程化的、可靠的软件项目的话,真的是再强调这个Harness Engineering都不为过。 当然现在出来一个新的概念,像什么Loop Engineering,之后我会再出新的视频来讲。 第一点就是Agent现在能控制什么,它不能控制什么。不光是Codex,包括Gemini和Cloud Code,那它能控制什么呢?它身上有什么工具呢?就是Shell、Web Search,还有改变文件,当然Codex还有一个Sandbox,再就是Context Compression,这些东西都是Codex控制的,也就是这些Agents控制的。 那他们不能控制的是什么?交给咱们、由人来控制的东西是什么呢?第一点就是项目文件,项目文件现在的一个入口是什么?就对Cloud来说就是Cloud MD。 然后对于其他的agents,就是agents的MD,再就是sub agents,包括一些plugins,你也可以都跟skills、MCP放在一起,这种东西咱们这里不细讲,但是这些东西你是可以根据自己的项目来定制的。 那还有一个非常非常重要的是什么呢?就是docs,也就是documents,是描述你项目的整体文件。因为现在的AI项目,基本上大家都用mono repo,也就是说把代码,还有infrastructure就用Terraform,还有项目文件大家一起保管。这样的话,AI可以调取code里边的知识,可以调取infrastructure里边的知识,调取document里边的知识,结合起来帮你写代码。也就是这样的话,它有关于你这个项目的更多知识,所以它可以更可靠地给你写代码。 这就是第一点,咱们应该很好地控制咱们的agent、MD、skills、MCP,包括sub agents还有documents这些的设计。里面该写什么写清楚,不要重复,不要相互矛盾,这是一点,这是你搭建一个成熟的、可用的、好用的项目的根基。 那第二点是什么?第二点也是关于这个Harness基座,现在咱们有一个项目,一个最重要的文件是什么? 就是一个agents.md,也就是cloud md或者gm.md,反正就是这个文件。因为每次你打开一个项目,第二个agent它首先读的就是这个项目文件,它根据这个文件了解你整个项目,然后帮你写代码,所以这个文件是重中之重。那你应该怎么对待这个文件?你难道会把你项目的所有东西全部写在这个文件里边吗?这个md文件里边?这样的话这些agent表现并不会特别好,为什么呢?因为现在agent它的瓶颈还是它的context,也就是它的上下文管理。不管它有多么机智、多么精巧设计的context compression,也就是上下文的压缩,它总会丢失一些信息,你还要全部重新再告诉他一遍,非常非常麻烦,因为他已经丢失了他的记忆。那OpenAI他们团队的解决方法是什么呢?就是渐进式披露,相信用过skill的人大家都知道渐进式披露是什么意思。咱们就以skills为例,Skills它首先是定义这个skills是什么,它什么时候触发,它是干什么的,然后什么时候可以把它当做结束。它下边可以有一堆堆的工具,包括MCP什么的都可以调用,然后把这个工作完成。 大概就是这个意思,那涉及到整个项目的建立式披露应该怎么做呢? 就是涉及到这个agents的md文件,也就是cloud md或者gmd的md文件,你不应该把所有的东西都放在里边。 一开始启动这个agent的时候,就会大量占用它的context window,即便现在最大的context window可能是one million tokens,即便是这么大的context window,你逐渐地编程,逐渐地跟它聊天,这样也会被快速压缩,就是因为一开始你给了它太多它还不需要的信息。 那解决方案是什么呢? 就是在agents里边这个文件里,你只写你这个工程或者这个项目是干什么的,然后具体的文件就指引到你的documents的文件夹里边,包括你的architecture、你的总体的设计的文件夹里边,index.md这个文件就相当于是一个目录。 诶,这次读进去之后,它现在只知道大概的这个项目是干什么的。每当你给它一个任务的时候,它就会根据这个循迹索路,也就是根据这个目录的指引,去找相应的文件、相应的code、相应的工具来完成你给它的编码任务,它一开始context window里边就没有那么多数据。 他只有一堆索引,他知道上哪里去找哪些东西,更轻松地去找一些代码、工具、Skills来帮你完成任务,而不是一开始就去撑爆它的context window。 这样的话,你的效率、质量比之前提升得会很多,因为它现在准确地知道你要做什么东西,准确地知道它应该读什么东西来帮你完成这个任务,而不是杂七杂八地存了一堆信息,有的信息可能是相互矛盾的。所以这是第二个tips。 听完OpenAI的人的讲座之后,我感觉这两个是我印象最深刻的,所以今天分享给大家,希望可以帮到你们。 另外,Honey sandwich是非常重要的,我找到两本书放在了这里,如果有需要的话希望可以帮到你们,谢谢大家。