<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Codex 实践 on Codexer</title><link>https://codexer.com/categories/codex-%E5%AE%9E%E8%B7%B5/</link><description>Recent content in Codex 实践 on Codexer</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 19 Jun 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://codexer.com/categories/codex-%E5%AE%9E%E8%B7%B5/index.xml" rel="self" type="application/rss+xml"/><item><title>当 AI 开始调教 AI：Codex 与 Claude Code 的智能体优化实战</title><link>https://codexer.com/posts/2026-06-19-codex-claude-code-agent-optimization/</link><pubDate>Fri, 19 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-19-codex-claude-code-agent-optimization/</guid><description>&lt;p&gt;想象这样一个实验：你给两个 AI 编程助手各自分配一个容器，里面塞进一个 AI 智能体应用、一百条运行日志、一个评分指标，然后告诉它们一件事：「把这个智能体的表现优化到最好」。没有详细的步骤说明，没有专门的评测工具，也没有 prompt 优化框架的 API。就是一个裸容器、一份数据、一个目标。&lt;/p&gt;
&lt;p&gt;它们会怎么做？&lt;/p&gt;
&lt;p&gt;Andrew Jesson 做了这件事。他把 Claude Code 和 Codex 分别放进相同的容器环境，让它们各自优化五个不同类型的 AI 智能体应用。结果很有意思：两个助手都交出了超越基线的方案。但他更关注的不是结果本身，而是它们&lt;strong&gt;在过程中展现出的工程行为&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="五个应用一个任务"&gt;五个应用，一个任务&lt;/h2&gt;
&lt;p&gt;实验覆盖了五类智能体应用：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;应用领域&lt;/th&gt;
 &lt;th&gt;任务描述&lt;/th&gt;
 &lt;th&gt;评分方式&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;软件工程&lt;/td&gt;
 &lt;td&gt;在 Linux 环境中完成长周期编程任务&lt;/td&gt;
 &lt;td&gt;验证器评分（0–1）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;商业管理&lt;/td&gt;
 &lt;td&gt;多轮 CEO 智能体驱动商业模拟&lt;/td&gt;
 &lt;td&gt;按时完成的任务数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NER 命名实体识别&lt;/td&gt;
 &lt;td&gt;从句子中提取人名、组织、地点等实体&lt;/td&gt;
 &lt;td&gt;实体集完全匹配&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NDA 合同解析&lt;/td&gt;
 &lt;td&gt;从 OCR 文本中提取生效日期、管辖地、签约方等&lt;/td&gt;
 &lt;td&gt;F1 分数&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;科学研究&lt;/td&gt;
 &lt;td&gt;从沙箱数据和遮蔽的 PDF 复现天体物理论文&lt;/td&gt;
 &lt;td&gt;与论文值的二进制匹配&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;每个应用先用 &lt;code&gt;gpt-5.4-mini&lt;/code&gt; 运行基线（最多 100 个任务），产出推理日志和评分反馈。然后优化智能体（Claude Code 用 &lt;code&gt;claude-sonnet-4-6&lt;/code&gt;，Codex 用 &lt;code&gt;gpt-5.4&lt;/code&gt;）被放进容器，拿到这些数据和一份简短的 skill 文件。&lt;/p&gt;
&lt;p&gt;这份 skill 文件说了什么？四句话：&lt;strong&gt;浏览数据 → 添加 prompt 变体 → 测试 → 迭代&lt;/strong&gt;。仅此而已。&lt;/p&gt;</description></item><item><title>当百万行代码没有一行是人写的：OpenAI 用 Codex 从零构建产品的工程实践</title><link>https://codexer.com/posts/2026-06-18-codex-harness-engineering/</link><pubDate>Thu, 18 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-18-codex-harness-engineering/</guid><description>&lt;p&gt;想象一下这个场景：你的团队交付了一个产品，代码仓库里有大约一百万行代码，一千五百个 Pull Request，有日常用户在使用，有 alpha 测试者在反馈。一切看起来很正常，对吧？&lt;/p&gt;
&lt;p&gt;但有一个细节：&lt;strong&gt;这百万行代码里，没有哪怕一行是人类工程师亲手写的。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这不是科幻设定。这是 OpenAI 一个内部团队过去五个月的真实经历。他们用 Codex 从零搭建了一个完整的产品，所有代码，包括应用逻辑、测试、CI 配置、文档、可观测性工具、内部脚本，全部由 AI Agent 生成。人类工程师从未直接提交过任何一行代码。&lt;/p&gt;
&lt;p&gt;Ryan Lopopolo 在 OpenAI 官方博客上详细记录了这次实验。这篇文章不是 PR 通稿，而是一份诚实的工程复盘：什么碎了、什么加倍了、人的时间应该花在哪里。我觉得这是近期关于 AI 编程最值得一读的实战报告。&lt;/p&gt;
&lt;h2 id="起点一个空的-git-仓库"&gt;起点：一个空的 Git 仓库&lt;/h2&gt;
&lt;p&gt;故事开始于 2025 年 8 月底。团队往一个空仓库里做了第一次提交，内容是 Codex CLI 用 GPT-5 生成的初始脚手架：仓库结构、CI 配置、格式化规则、包管理器设置、应用框架。连第一篇 AGENTS.md 文件都是 Agent 自己写的。&lt;/p&gt;
&lt;p&gt;没有人类写的「锚定代码」。这意味着整个仓库从一开始就是 Agent 的领地，不存在一个「先由人搭好骨架再由 AI 填充」的阶段。&lt;/p&gt;
&lt;p&gt;五个月后，仓库膨胀到百万行级别，贡献了约 1500 个 PR。团队从最初几个人扩展到七名工程师。产品有数百内部用户在使用。&lt;/p&gt;
&lt;p&gt;这里有一个反直觉的发现：&lt;strong&gt;早期进展比预期慢&lt;/strong&gt;。不是因为 Codex 不行，而是因为环境不够「具象」。Agent 缺少工具、抽象层和内部结构来支撑它朝高层目标前进。&lt;/p&gt;
&lt;p&gt;换句话说，Codex 不是缺算力，而是缺 context。&lt;/p&gt;
&lt;h2 id="第一条教训给-agent-一张地图别给一千页说明书"&gt;第一条教训：给 Agent 一张地图，别给一千页说明书&lt;/h2&gt;
&lt;p&gt;团队最初试过一个朴素的策略：把所有规则写进一个巨大的 AGENTS.md。结果呢？惨败。&lt;/p&gt;
&lt;p&gt;问题有三个层面。第一，巨大的指令文件会挤占任务的上下文空间，Agent 要么漏掉关键约束，要么开始优化错误的优先级。第二，当所有东西都被标记为「重要」时，就没什么是重要的了，Agent 变成了局部模式匹配而非全局导航。第三，单体文档变成过时规则的坟场，Agent 分不清哪些还适用，人类也懒得维护。&lt;/p&gt;
&lt;p&gt;他们的解决方案是把知识库结构化为一个分层的目录系统。核心的 AGENTS.md 只有大约 100 行，起的是 &lt;strong&gt;「地图」&lt;/strong&gt; 的作用，而非「百科全书」。它告诉 Agent 去哪里找设计文档、架构决策记录、质量评分、领域边界说明。&lt;/p&gt;</description></item><item><title>Codex 进阶手册：六个支柱解锁 AI 编程助手 100% 潜能</title><link>https://codexer.com/posts/2026-06-17-codex-full-potential-guide/</link><pubDate>Wed, 17 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-17-codex-full-potential-guide/</guid><description>&lt;p&gt;你很可能用错了 Codex。&lt;/p&gt;
&lt;p&gt;不是说你做了什么明显的蠢事。恰恰相反：Codex 的工作方式本身就反直觉。你以为它是一个更聪明的 ChatGPT，但它其实更像一个新来的同事，每次走进你的项目目录时都带有「失忆症」：它会写代码，但不知道你的项目结构长什么样、用哪个测试框架、哪些目录不能碰。&lt;/p&gt;
&lt;p&gt;解开 Codex 全部潜能的关键，不是更花哨的提示词，而是&lt;strong&gt;给它持久化的记忆&lt;/strong&gt;：关于你的代码仓库、你的编码规范、你的工作流程。&lt;/p&gt;
&lt;p&gt;本文基于 OpenAI 官方 Codex 文档中的 &lt;strong&gt;「六支柱框架」&lt;/strong&gt; 和 &lt;strong&gt;「八个常见错误」&lt;/strong&gt;，结合我三个月的实战踩坑，帮你把 Codex 从「一个会写代码的聊天窗口」升级为「真正懂你项目的 AI 队友」。&lt;/p&gt;
&lt;h2 id="先理解一个心理模型"&gt;先理解一个心理模型&lt;/h2&gt;
&lt;p&gt;Codex 不需要更多的指令，它需要的是&lt;strong&gt;更稳定的上下文&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;每次 Codex 开始处理你的任务时，它会读取文件、理解结构、然后动手。但如果没有持久化的配置，它会在每次会话结束后忘掉一切。解决这个问题的六个支柱是递进式的：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;AGENTS.md → 配置文件 → MCP 连接 → 技能包 → 自动化
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;每个支柱都建立在前面之上。你不需要第一天就把六个全搞定，但理解了它们之间的关系，你就知道该从哪里开始。&lt;/p&gt;
&lt;h2 id="支柱一每个任务都给足上下文"&gt;支柱一：每个任务都给足上下文&lt;/h2&gt;
&lt;p&gt;在开始一个任务之前，确保 Codex 知道：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;项目结构&lt;/strong&gt;：源码在哪、测试在哪、配置在哪？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;技术栈&lt;/strong&gt;：什么语言、什么框架、什么构建工具？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;编码规范&lt;/strong&gt;：代码风格、命名约定、过往踩过的坑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;当前状态&lt;/strong&gt;：最近改了什么、出了什么错？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你当然可以在每次对话里手动输入这些信息。但有一个好得多的办法：支柱二。&lt;/p&gt;
&lt;h2 id="支柱二agentsmd--写给-ai-看的使用说明书"&gt;支柱二：AGENTS.md — 写给 AI 看的使用说明书&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;AGENTS.md 是一份写给 AI Agent 的 README。&lt;/strong&gt; Codex 会在每次会话开始时自动读取它。这是你投入产出比最高的一件事，没有之一。&lt;/p&gt;
&lt;h3 id="里面写什么"&gt;里面写什么？&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;类别&lt;/th&gt;
 &lt;th&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;目录结构&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;src/&lt;/code&gt; 是源码，&lt;code&gt;db/schema/&lt;/code&gt; 是禁区&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;启动命令&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pnpm dev&lt;/code&gt;，&lt;code&gt;docker compose up&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;测试/构建/检查&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pnpm test&lt;/code&gt;，&lt;code&gt;pnpm build&lt;/code&gt;，&lt;code&gt;pnpm lint&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;工程规则&lt;/td&gt;
 &lt;td&gt;TypeScript 禁用 &lt;code&gt;any&lt;/code&gt; 类型&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;约束条件&lt;/td&gt;
 &lt;td&gt;不要修改 &lt;code&gt;db/schema/&lt;/code&gt; 目录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;完成标准&lt;/td&gt;
 &lt;td&gt;「通过 &lt;code&gt;pnpm test&lt;/code&gt; 才算做完」&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="三层优先级"&gt;三层优先级&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;~/.codex/AGENTS.md → 个人全局默认设置
repo-root/AGENTS.md → 团队共享规范
subdirectory/AGENTS.md → 局部规则（优先级最高）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;越靠近工作目录的文件优先级越高。你可以给前端和后端设置不同的规则。&lt;/p&gt;</description></item><item><title>对话 Codex 技术负责人：最好的 AI 工程实践，朴素得让人意外</title><link>https://codexer.com/posts/2026-06-15-codex-tech-lead-simple-workflow/</link><pubDate>Mon, 15 Jun 2026 09:00:00 +0800</pubDate><guid>https://codexer.com/posts/2026-06-15-codex-tech-lead-simple-workflow/</guid><description>&lt;p&gt;如果你以为 OpenAI 内部使用 Codex 的方式一定很&amp;quot;炫技&amp;quot;，那你可能会失望。&lt;/p&gt;
&lt;p&gt;工程领导力通讯的作者 Gregor Ojstersek 最近拜访了 OpenAI 旧金山办公室，和 Codex 开源项目的技术负责人 Michael Bolin 聊了聊。Michael 之前在 Meta 是 Distinguished Engineer，参与创建了开源构建工具 Buck，还写过一本关于 Google Closure 的技术书。&lt;/p&gt;
&lt;p&gt;当他展示自己的 AI 辅助工程工作流时，Gregor 最大的感受是：&lt;strong&gt;太简单了。&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;写规范 → 下指令 → 审代码。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;就这三步。没有眼花缭乱的多 Agent 编排，没有精心设计的提示词模板，没有复杂的自动化流水线。只有清晰的思考、准确的判断和快速的迭代。&lt;/p&gt;
&lt;h2 id="从权限系统说起"&gt;从权限系统说起&lt;/h2&gt;
&lt;p&gt;他们聊的项目是 Codex CLI 的权限系统，一个面向企业用户的大功能。企业客户需要功能丰富，但同时也需要精细的权限控制：谁能用什么功能、AI 能访问和修改什么、沙箱边界的约束等等。这个项目团队做了好几个月，规模不小。&lt;/p&gt;
&lt;p&gt;但整个流程的起点，是一个 Notion 文档。&lt;/p&gt;
&lt;p&gt;Michael 在 Notion 里写了技术规范，描述了需要支持的需求和功能。然后让团队成员 review、提意见、补充遗漏、讨论方案。等所有人的意见都被回应、规范定稿之后，才开始动手写代码。&lt;/p&gt;
&lt;p&gt;这个&amp;quot;先写规范&amp;quot;的步骤，Michael 认为至关重要。它不是 AI 时代的什么新花样，而是老派工程师的基本功：&lt;strong&gt;想清楚再动手。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="notion-连接器上下文的神来之笔"&gt;Notion 连接器：上下文的神来之笔&lt;/h2&gt;
&lt;p&gt;正式开始编码时，Michael 没有把需求复制粘贴给 Codex，而是直接贴了一个 Notion 链接。&lt;/p&gt;
&lt;p&gt;Codex 的 Notion 连接器会直接读取文档内容，包括需求描述、团队评论和讨论历史。相比手动复制粘贴并重建上下文，这种直接&amp;quot;喂原始资料&amp;quot;的方式让 Michael 赞不绝口。&lt;/p&gt;
&lt;p&gt;他的第一句指令也很直接：&lt;strong&gt;&amp;ldquo;现在我想构建这个。先做一个计划，把工作拆分成合适大小的 PR。&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>