Learn

建设 AI 团队

把 Codex 放进团队工程体系时,需要同步治理、评审和能力建设。

介绍

人工智能模型正在迅速扩大它们可以执行的任务范围,这对工程产生了重大影响。 Frontier 系统现在支持 multi-hour 推理:截至 2025 年 8 月,METR 发现领先模型可以完成 2 小时 17 分钟的连续工作,并且有大约 50% 的置信度产生正确答案。

这种能力正在迅速提高,任务长度大约每七个月就会增加一倍。仅在几年前,模型可以管理大约 30 秒的推理——对于小型代码建议来说足够了。如今,随着模型维持更长的推理链,整个软件开发生命周期可能都在人工智能辅助的范围内,使编码代理能够有效地为规划、设计、开发、测试、代码审查和部署做出贡献。

在本指南中,我们将分享真实的示例,概述人工智能代理如何为软件开发生命周期做出贡献,并提供有关工程领导者今天可以做什么来开始构建 AI-native 团队和流程的实用指导。

人工智能编码:从自动完成到代理

人工智能编码工具的进步已经远远超出了其作为自动完成助手的起源。早期的工具处理快速任务,例如建议下一行代码或填写函数模板。随着模型推理能力的增强,开发人员开始通过 IDE 中的聊天界面与代理进行交互,以进行结对编程和代码探索。

今天的编码代理可以生成整个文件、搭建新项目并将设计转换为代码。他们可以通过 multi-step 问题进行推理,例如调试或重构,代理执行现在也从个人开发人员的机器转移到 cloud-based、multi-agent 环境。这正在改变开发人员的工作方式,使他们能够花更少的时间使用 IDE 内的代理生成代码,而将更多的时间用于委托整个工作流程。

能力它能实现什么 跨系统统一上下文单个模型可以读取代码、配置和遥测,从而提供以前需要单独工具的跨层一致推理。结构化工具执行模型现在可以直接调用编译器、测试运行器和扫描器,生成可验证的结果而不是静态建议。持久项目记忆长上下文窗口和压缩等技术允许模型遵循从提议到部署的功能,并记住以前的设计选择和约束。评估循环模型输出可以根据基准(单元测试、延迟目标或风格指南)自动进行测试,因此改进基于可衡量的质量。

在OpenAI,我们亲眼目睹了这一点。开发周期加快,曾经需要数周时间完成的工作现在仅需几天即可交付。团队可以更轻松地跨领域移动,更快地加入不熟悉的项目,并在整个组织中以更大的敏捷性和自主性运作。许多例行任务和 time-consuming 任务,从记录新代码和进行相关测试、维护依赖关系到清理功能标志,现在都完全委托给 Codex。

然而,工程的某些方面保持不变。代码的真正所有权(尤其是对于新问题或模糊问题)仍然取决于工程师,并且某些挑战超出了当前模型的能力。但有了 Codex 这样的编码代理,工程师现在可以将更多时间花在复杂和新颖的挑战上,专注于设计、架构和 system-level 推理,而不是调试或死记硬背实施。

在以下部分中,我们将详细介绍 SDLC 的每个阶段如何随编码代理而变化,并概述您的团队开始作为 AI-native 工程组织运营时可以采取的具体步骤。

1. 计划

组织中的团队通常依靠工程师来确定某个功能是否可行、构建需要多长时间以及将涉及哪些系统或团队。虽然任何人都可以起草规范,但形成准确的计划通常需要深入的代码库意识和多轮工程迭代,以发现需求、澄清边缘情况并与技术上的实际情况保持一致。

编码代理如何提供帮助

AI 编码代理在规划和范围界定期间为团队提供即时的 code-aware 见解。例如,团队可以构建将编码代理连接到其 issue-tracking 系统的工作流程,以读取功能规范,根据代码库对其进行 cross-reference,然后标记歧义,将工作分解为子组件,或估计难度。

编码代理还可以立即跟踪代码路径,以显示某个功能涉及哪些服务——以前需要数小时或数天手动挖掘大型代码库的工作。

工程师会做什么

团队在核心功能工作上花费了更多时间,因为代理可以提供以前需要召开会议来进行产品调整和范围界定的上下文。预先确定关键的实施细节、依赖关系和边缘情况,从而可以通过更少的会议更快地做出决策。

代表评论自己的人工智能代理可以首先进行可行性和架构分析。他们阅读规范,将其映射到代码库,识别依赖关系,并找出需要澄清的歧义或边缘情况。团队审查代理的调查结果,以验证准确性、评估完整性并确保估算反映真实的技术限制。故事点分配、工作量调整和识别 non-obvious 风险仍然需要人类判断。战略决策(例如优先级、long-term 方向、排序和权衡)仍然是 human-led。团队可能会向代理询问选项或后续步骤,但规划和产品方向的最终责任仍由组织承担。

入门清单

识别需要功能和源代码之间的一致性的常见流程。公共区域包括功能范围和票证创建。

首先实施基本工作流程,例如标记和删除重复问题或功能请求。

考虑更高级的工作流程,例如根据初始功能描述将 sub-tasks 添加到票证中。或者当工单到达特定阶段时启动代理运行,以通过更多详细信息补充说明。

2. 设计

设计阶段常常因基础设置工作而减慢。团队花费大量时间连接样板、集成设计系统以及完善 UI 组件或流程。模型和实现之间的不一致可能会导致返工和较长的反馈周期,而探索替代方案或适应不断变化的需求的带宽有限,会延迟设计验证。

编码代理如何提供帮助

人工智能编码工具通过搭建样板代码、构建项目结构以及立即实施设计标记或风格指南,极大地加速了原型设计。工程师可以用自然语言描述所需的功能或 UI 布局,并接收符合团队约定的原型代码或组件存根。

他们可以将设计直接转换为代码,提出可访问性改进建议,甚至分析代码库以了解用户流程或边缘情况。这使得在数小时而不是数天内迭代多个原型成为可能,并尽早以高保真度进行原型设计,为团队提供 decision-making 更清晰的基础,并使客户能够在此过程中更快地进行测试。

工程师会做什么

通过代理处理日常设置和翻译任务,团队可以将注意力转移到 higher-leverage 工作上。工程师专注于完善核心逻辑、建立可扩展的架构模式并确保组件满足质量和可靠性标准。设计师可以花更多时间评估用户流程并探索替代概念。协作工作从实施开销转向改善底层产品体验。

代表评论自己的代理通过搭建项目、生成样板代码、将模型转换为组件以及应用设计令牌或样式指南来处理初始实施工作。该团队审查代理的输出,以确保组件遵循设计惯例,满足质量和可访问性标准,并与现有系统正确集成。该团队拥有总体设计系统、用户体验模式、架构决策和用户体验的最终方向。

入门清单

使用接受文本和图像输入的 multi-modal 编码代理

通过 MCP 将设计工具与编码代理集成

使用 MCP 以编程方式公开组件库,并将其与您的编码模型集成

构建映射设计 → 组件 → 组件实现的工作流程

利用类型化语言(例如 Typescript)为代理定义有效的 props 和子组件

3. 构建

构建阶段是团队感受到最大摩擦的阶段,也是编码代理产生最明显影响的阶段。工程师花费大量时间将规范转换为代码结构、将服务连接在一起、在代码库中复制模式以及填充样板文件,即使是很小的功能也需要数小时的 busy-work。

随着系统的发展,这种摩擦会加剧。大型单一存储库积累了模式、惯例和历史怪癖,这些都减慢了贡献者的速度。工程师可以花费与实现功能本身一样多的时间来重新发现做某事的“正确方法”。规范、代码搜索、构建错误、测试失败和依赖关系管理之间不断的上下文切换会增加认知负担,而 long-running 任务期间的中断会破坏流程并进一步延迟交付。

编码代理如何提供帮助

在 IDE 和 CLI 中运行的编码代理通过处理更大的 multi-step 实施任务来加速构建阶段。他们不仅可以生成下一个函数或文件,还可以在一次协调运行中生成完整功能的 end-to-end — 数据模型、API、UI 组件、测试和文档。通过对整个代码库的持续推理,他们可以处理曾经需要工程师手动跟踪代码路径的决策。

通过 long-running 任务,代理可以:

根据书面规范起草整个功能实现。

在数十个文件中搜索和修改代码,同时保持一致性。

生成符合约定的样板:错误处理、遥测、安全包装器或样式模式。

修复出现的构建错误,而不是暂停以进行人工干预。

将测试与实现一起编写为单个工作流程的一部分。

生成遵循内部准则并包含 PR 消息的 diff-ready 变更集。

实际上,这将大部分机械“构建工作”从工程师转移到了代理身上。代理成为first-pass实施者;工程师成为审稿人、编辑和指导来源。

工程师会做什么

当代理可以可靠地执行 multi-step 构建任务时,工程师会将注意力转移到 higher-order 工作上:

在实施之前澄清产品行为、边缘情况和规格。

检查 AI-generated 代码的架构含义,而不是执行死记硬背。

细化需要深度域推理的业务逻辑和 performance-critical 路径。

设计指导 agent-generated 代码的模式、护栏和约定。

与产品经理和设计人员合作,迭代功能意图,而不是样板文件。

工程师不是将功能规范“翻译”为代码,而是专注于正确性、连贯性、可维护性和 long-term 质量,这些领域的人文环境仍然最重要。

代表评论自己的代理起草 well-specified 功能的第一个实施过程 — 脚手架、CRUD 逻辑、接线、重构和测试。随着 long-running 推理的改进,这越来越多地覆盖完整的 end-to-end 构建,而不是孤立的片段。工程师评估设计选择、性能、安全性、迁移风险和域对齐,同时纠正代理可能错过的细微问题。他们塑造和完善 AI-generated 代码,而不是执行机械工作。工程师保留需要深度系统直觉的工作所有权:新的抽象、cross-cutting 架构更改、模糊的产品要求以及 long-term 可维护性 trade-offs。随着代理承担更长的任务,工程从 line-by-line 实施转向迭代监督。

例子:

云从科技的工程师、PM、设计师和操作员每天都使用 Codex 将规范转换为工作代码,无论他们需要脚本、新的欺诈规则还是在几分钟内交付的完整微服务。它消除了构建阶段的繁忙工作,并赋予每位员工以惊人的速度实施想法的能力。

入门清单

从明确指定的任务开始

让代理通过 MCP 使用规划工具,或者编写提交到代码库的 PLAN.md 文件

检查代理尝试执行的命令是否成功

迭代 AGENTS.md 文件,解锁代理循环,例如运行测试和 linter 以接收反馈

4. 测试

开发人员通常很难确保足够的测试覆盖率,因为编写和维护全面的测试需要时间、需要上下文切换以及对边缘情况的深入理解。团队经常在快速行动和编写彻底的测试之间面临 trade-offs。当最后期限临近时,测试覆盖率往往是首先受到影响的。

即使编写了测试,随着代码的发展保持更新也会带来持续的摩擦。测试可能会变得脆弱,由于不明原因而失败,并且随着底层产品的变化,可能需要进行重大重构。高质量的测试让团队更加自信地更快地交付。

编码代理如何提供帮助

人工智能编码工具可以帮助开发人员通过多种强大的方式编写更好的测试。首先,他们可以根据阅读需求文档和功能代码的逻辑来建议测试用例。模型在建议开发人员可能很容易忽视的边缘情况和故障模式方面出奇地出色,特别是当他们深入关注该功能并需要第二意见时。

此外,模型可以帮助测试随着代码的发展而更新,减少重构的摩擦并避免过时的测试变得不稳定。通过处理测试编写的基本实现细节和呈现边缘情况,编码代理可以加速开发测试的过程。

工程师会做什么

使用人工智能工具编写测试并不能消除开发人员考虑测试的需要。事实上,随着代理消除了生成代码的障碍,测试作为应用程序功能的真实来源发挥着越来越重要的作用。由于代理可以运行测试套件并根据输出进行迭代,因此定义高质量测试通常是允许代理构建功能的第一步。

相反,开发人员更关注于查看测试覆盖率中的高级模式,构建并挑战模型对测试用例的识别。加快测试编写速度可以让开发人员更快地发布功能,并实现更雄心勃勃的功能。

代表评论自己的工程师将根据功能规范委托生成测试用例的初始阶段。他们还将使用该模型来完成生成测试的第一步。让模型在与功能实现不同的会话中生成测试会很有帮助。工程师仍然必须彻底审查 model-generated 测试,以确保模型没有走捷径或实施存根测试。工程师还确保测试可以由他们的代理运行;代理具有适当的运行权限,并且代理对其可以运行的不同测试套件具有上下文感知。工程师负责根据功能规范和用户体验期望调整测试覆盖范围。对抗性思维、绘制边缘案例的创造力以及对测试意图的关注仍然是关键技能。

入门清单

指导模型将测试作为单独的步骤来实现,并在进行功能实现之前验证新测试是否失败。

在 AGENTS.md 文件中设置测试覆盖率指南

为代理提供可以调用的代码覆盖率工具的具体示例,以了解测试覆盖率

5. 审查

开发人员平均每周花费 2-5 小时进行代码审查。团队经常面临一个选择:是投入大量时间进行深入审查,还是对看似很小的更改进行快速“足够好”的检查。当这种优先级被取消时,错误就会溜进生产中,给用户带来问题并造成大量返工。

编码代理如何提供帮助

编码代理允许扩展代码审查流程,以便每个 PR 都能获得一致的关注基线。与传统的静态分析工具(依赖于模式匹配和 rule-based 检查)不同,AI 审阅者实际上可以执行部分​​代码、解释运行时行为以及跨文件和服务跟踪逻辑。然而,为了有效,模型必须经过专门训练以识别 P0 和 P1 级错误,并进行调整以提供简洁的 high-signal 反馈;过于冗长的响应就像嘈杂的 lint 警告一样容易被忽略。

工程师会做什么

在 OpenAI,我们发现人工智能代码审查让工程师更有信心他们不会将重大错误带入生产中。通常,代码审查会发现贡献者可以在引入另一位工程师之前纠正的问题。代码审查不一定会使拉取请求过程更快,特别是当它发现有意义的错误时 - 但它确实可以防止缺陷和中断。

委托、审查、自己

即使有了人工智能代码审查,工程师仍然有责任确保代码准备好交付。实际上,这意味着阅读并理解变化的含义。工程师将最初的代码审查委托给代理,但拥有最终的审查和合并过程。

代表评论自己的工程师将初始编码审查委托给代理。在拉取请求被标记为可供团队成员审核之前,这种情况可能会发生多次。工程师仍然审查拉取请求,但更注重架构一致性;是否正在实现可组合模式,是否使用了正确的约定,功能是否符合要求。工程师最终拥有部署到生产环境的代码;他们必须确保其可靠运行并满足预期要求。

例子:

Sansan 使用 Codex 审查竞争条件和数据库关系,这是人类经常忽视的问题。 Codex 还能够捕获不正确的 hard-coding,甚至可以预测未来的可扩展性问题。

入门清单

整理由工程师进行的 gold-standard PR 示例,包括代码更改和留下的评论。将其保存为评估集以测量不同的工具。

选择具有经过专门培训的代码审查模型的产品。我们发现广义模型经常挑剔并且提供较低的信噪比。

定义您的团队将如何衡量评论是否高质量。我们建议跟踪 PR 评论反应,作为标记好评和差评的 low-friction 方式。

从小规模开始,但一旦您对审核结果充满信心,就可以快速推出。

6. 文件

大多数工程团队都知道他们的文档落后了,但发现追赶的成本很高。关键知识通常由个人掌握,而不是在可搜索的知识库中捕获,并且现有文档很快就会过时,因为更新它们会使工程师远离产品工作。即使团队进行文档冲刺,其结果通常也是 one-off 的努力,随着系统的发展,这种努力就会消失。

编码代理如何提供帮助

编码代理非常有能力根据阅读代码库来总结功能。他们不仅可以编写部分代码库的工作原理,还可以使用 mermaid 等语法生成系统图。当开发人员使用代理构建功能时,他们还可以通过提示模型来简单地更新文档。借助 AGENTS.md,根据需要更新文档的说明可以自动包含在每个提示中,以提高一致性。

由于编码代理可以通过 SDK 以编程方式运行,因此它们也可以合并到发布工作流程中。例如,我们可以要求编码代理审查版本中包含的提交并总结关键更改。结果是文档成为交付管道的 built-in 一部分:生成速度更快,更容易保持最新状态,并且不再依赖于“抽出时间”的人。

工程师会做什么

工程师从手工编写每份文档转向塑造和监督系统。他们决定如何组织文档,添加决策背后的重要“原因”,为代理制定明确的标准和模板以供遵循,并审查关键或 customer-facing 部分。他们的工作是确保文档结构化、准确并融入交付流程,而不是自己完成所有打字工作。

代表评论自己 完全移交 low-risk,重复工作交给 Codex,如 first-pass 文件和模块摘要、输入和输出的基本描述、依赖项列表以及 pull-request 更改的简短摘要。在发布任何内容之前,工程师会审查和编辑由 Codex 起草的重要文档,例如核心服务概述、公共 API 和 SDK 文档、运行手册和架构页面。工程师仍然负责代理遵循的整体文档策略和结构、标准和模板,以及涉及法律、监管或品牌风险的所有 external-facing 或 safety-critical 文档。

入门清单

通过提示编码代理来试验文档生成

将文档指南纳入您的 AGENTS.md

确定可以自动生成文档的工作流程(例如发布周期)

检查生成内容的质量、正确性和重点

7. 部署和维护

了解应用程序日志记录对于软件可靠性至关重要。在发生事件期间,软件工程师将参考日志记录工具、代码部署和基础设施更改来确定根本原因。令人惊讶的是,这个过程通常是手动的,并且需要开发人员在不同的系统之间来回切换,在事件等高压情况下会花费关键的时间。

编码代理如何提供帮助

借助 AI 编码工具,除了代码库的上下文之外,您还可以通过 MCP 服务器提供对日志记录工具的访问。这允许开发人员拥有一个单一的工作流程,他们可以在其中提示模型查看特定端点的错误,然后模型可以使用该上下文来遍历代码库并查找相关的错误或性能问题。由于编码代理还可以使用命令行工具,因此他们可以查看 git 历史记录来识别可能导致在日志跟踪中捕获问题的特定更改。

工程师会做什么

通过自动化日志分析和事件分类的繁琐环节,人工智能使工程师能够专注于 higher-level 故障排除和系统改进。工程师可以专注于验证 AI-generated 根本原因、设计弹性修复和制定预防措施,而不是手动关联日志、提交和基础设施变更。这种转变减少了花在被动消防上的时间,使团队能够在主动可靠性工程和架构改进上投入更多精力。

代表评论许多操作任务可以委托给代理——解析日志、显示异常指标、识别可疑代码更改,甚至提出修补程序。工程师审查和完善 AI-generated 诊断、确认准确性并批准修复步骤。他们确保修复符合可靠性、安全性和合规性标准。关键决策由工程师负责,特别是对于新事件、敏感的生产变化或模型置信度较低的情况。人类仍然负责判断和最终的 sign-off。

例子:

维珍航空使用 Codex 来加强团队部署和维护系统的方式。 Codex VS Code 扩展为工程师提供了一个单一位置来调查日志、跟踪代码和数据问题以及通过 Azure DevOps MCP 和 Databricks 托管 MCP 查看更改。通过在 IDE 内统一此操作上下文,Codex 可以加快根本原因发现、减少手动分类,并帮助团队专注于验证修复和提高系统可靠性。

入门清单

将 AI 工具连接到日志记录和部署系统:将 Codex CLI 或类似工具与 MCP 服务器和日志聚合器集成。

定义访问范围和权限:确保代理可以访问相关日志、代码存储库和部署历史记录,同时维护安全最佳实践。

配置提示模板:为常见操作查询创建可重复使用的提示,例如“调查端点 X 的错误”或“分析日志峰值 post-deploy”。

测试工作流程:运行模拟事件场景,以确保 AI 呈现正确的上下文、准确跟踪代码并提出可行的诊断。

迭代和改进:随着系统和流程的发展,收集真实事件的反馈,调整提示策略并扩展代理功能。

结论

编码代理正在通过承担传统上拖慢工程团队速度的机械式 multi-step 工作来改变软件开发生命周期。凭借持续的推理、统一的代码库上下文以及执行真实工具的能力,这些代理现在可以处理从范围界定和原型设计到实施、测试、审查甚至操作分类的任务。工程师牢牢控制着架构、产品意图和质量,但编码代理越来越多地充当 first-pass 的实施者和跨 SDLC 每个阶段的持续合作者。

这种转变不需要彻底的改革;随着编码代理变得更加强大和可靠,小型、有针对性的工作流程会迅速复合。从 well-scoped 任务开始、投资护栏并迭代扩展代理职责的团队在速度、一致性和开发人员关注度方面看到了有意义的收益。

如果您正在探索编码代理如何加速您的组织或准备首次部署,请联系 OpenAI。我们随时帮助您将编码代理转化为真正的杠杆——设计跨规划、设计、构建、测试、审查和运营的 end-to-end 工作流程,并帮助您的团队采用 production-ready 模式,使 AI-native 工程成为现实。

站内延伸阅读