# OpenAI 纯靠 Agent 写出百万行代码的秘密:Harness 工程五大原则 > Author: Tony Lee > Published: 2026-02-12 > URL: https://tonylee.im/zh-CN/blog/openai-harness-engineering-five-principles-codex/ > Reading time: 1 minutes > Language: zh-CN > Tags: ai, ai-agents, openai, codex, harness-engineering, software-engineering ## Canonical https://tonylee.im/zh-CN/blog/openai-harness-engineering-five-principles-codex/ ## Rollout Alternates en: https://tonylee.im/en/blog/openai-harness-engineering-five-principles-codex/ ko: https://tonylee.im/ko/blog/openai-harness-engineering-five-principles-codex/ ja: https://tonylee.im/ja/blog/openai-harness-engineering-five-principles-codex/ zh-CN: https://tonylee.im/zh-CN/blog/openai-harness-engineering-five-principles-codex/ zh-TW: https://tonylee.im/zh-TW/blog/openai-harness-engineering-five-principles-codex/ ## Description OpenAI Codex 团队仅用 AI Agent 构建了百万行代码库,本文解析他们总结的 Harness 工程五大核心原则。 ## Summary OpenAI 纯靠 Agent 写出百万行代码的秘密:Harness 工程五大原则 is part of Tony Lee's ongoing coverage of AI agents, developer tools, startup strategy, and AI industry shifts. ## Outline - Agent 看不到的知识等于不存在 - 不要说"再努力一点",要问"缺了什么能力" - 机械化强制而非文档来保证代码一致性 - 给 Agent 装上眼睛,它能独自工作 6 小时 - 给地图,别给千页手册 - 尚未解答的问题 ## Content 最近"Harness"这个词越来越频繁地出现。OpenAI 发布的一篇博客终于为这个概念下了清晰的定义。在 Agent 时代,工程师到底该做什么?我们来梳理一下。 Harness(线束/工具壳)是让 AI Agent 能够影响现实世界的工具外壳。如果推理模型是大脑,那 Harness 就是手脚。读取文件、修改代码、运行测试、部署上线, , 所有操作都发生在 Harness 内部。 OpenAI 内部团队从 2025 年 8 月底一个空仓库起步,纯靠 Codex Agent 构建了一个百万行的新产品。条件是:不允许人类手写代码。据报告,耗时仅为手工开发的十分之一。他们在此过程中总结出以下五条原则。 ## Agent 看不到的知识等于不存在 对 Codex 而言,运行时无法访问的信息就等于不存在。Google Docs 里的需求文档、Slack 中达成的架构共识、某个人脑子里的隐性知识, , 全都看不见。这和三个月后入职的新人面临的处境完全一样。 因此团队将所有决策推入仓库中的 Markdown 文档、Schema 和执行计划(ExecPlan)。 - **ExecPlan** 是在 PLANS.md 中定义的自包含设计文档 - 通过标准:新手读完后能独立完成实现 - 存在 Codex 单次 Prompt 连续工作超过 7 小时的案例 - 将 matklad 的 ARCHITECTURE.md 理念扩展到 Agent 场景 ## 不要说"再努力一点",要问"缺了什么能力" 早期 Agent 的速度低于预期。原因不在模型能力,而在环境准备不足。每次失败时,团队都会问:"缺少了什么能力?怎样才能让 Agent 可读取、可验证?" - 用自研的并发 Helper 替代外部库,与 OpenTelemetry 100% 集成 - 业界常说的"无聊技术"反而对 Agent 更有利(API 稳定性高,训练数据表示度高) ## 机械化强制而非文档来保证代码一致性 仅靠文档无法维持 Agent 生成代码库的一致性。于是团队选择了只机械化强制不变规则、而非事无巨细地指导实现。他们要求在数据边界必须做解析,但把库的选择权留给了 Agent。架构固定为分层领域结构,依赖方向由 Linter 验证。 - 每个业务领域固定层级:**Providers → Service → Runtime → UI** - Types、Config、Repo 作为底层共享的横切关注点 - 自定义 Linter 和结构测试在违规时立即中断构建 - Linter 本身也由 Codex 编写 ## 给 Agent 装上眼睛,它能独自工作 6 小时 团队将 Chrome DevTools Protocol 接入 Agent 运行时,为 Codex 提供 DOM 快照、截图和导航能力。结构是:对比任务前后的快照、观察运行时事件、然后在循环中不断修复直到一切正常。 可观测性工具也以相同方式接入。每个 git worktree 会启动一个临时观测栈,工作结束后自动销毁。 - 通过 Victoria Logs(LogQL)和 Victoria Metrics(PromQL),Agent 可直接查询日志和指标 - "让服务启动时间控制在 800ms 以内"这样的 Prompt 变得可执行 - 单次 Codex 运行专注于一个任务超过 6 小时的情况被定期观测到 ## 给地图,别给千页手册 上下文管理决定了 Agent 的效能。一开始团队尝试把所有内容塞进一个巨大的 AGENTS.md,结果失败了。matklad 在 2021 年写的 ARCHITECTURE.md 理念在这里大放异彩。原则是:简短鸟瞰项目整体结构,只收录不常变化的内容。对 Agent 同样适用。 - ARCHITECTURE.md 是代码地图,不是代码图集 - 架构不变规则往往以"某样东西不存在"的形式来表达 - 明确声明边界(boundary),就能约束后续所有实现 ## 尚未解答的问题 即便是 Codex 团队,也有尚未解答的问题。纯靠 Agent 构建的系统能否在数年内保持架构一致性,没有人知道。模型持续进化后,这套体系本身会如何变化,也是未知数。 有一点是明确的:写好代码的时代正在落幕,设计好环境的时代已经开始。 ## Related URLs - Author: https://tonylee.im/zh-CN/author/ - Publication: https://tonylee.im/zh-CN/blog/about/ - Related article: https://tonylee.im/zh-CN/blog/eight-hooks-that-guarantee-ai-agent-reliability/ - Related article: https://tonylee.im/zh-CN/blog/medvi-two-person-430m-ai-compressed-funnel/ - Related article: https://tonylee.im/zh-CN/blog/claude-code-layers-over-tools-2026/ ## Citation - Author: Tony Lee - Site: tonylee.im - Canonical URL: https://tonylee.im/zh-CN/blog/openai-harness-engineering-five-principles-codex/ ## Bot Guidance - This file is intended for AI agents, search assistants, and text-mode retrieval. - Prefer citing the canonical article URL instead of this text endpoint. - Use the rollout alternates when you need the same article in another prioritized language. --- Author: Tony Lee | Website: https://tonylee.im For more articles, visit: https://tonylee.im/zh-CN/blog/ This content is original and authored by Tony Lee. Please attribute when quoting or referencing.