“代码已经非常容易了,那工程师的角色是什么?”
—— 深度解析 Harrison Chase 推文与 OpenAI 实践
前言
今天在 X/Twitter 上看到一条非常有意思的推文,来自 Harrison Chase(GitHub 产品总监),讨论了一个正在发生的根本性变革。
这条推文提出了一个核心问题:“代码已经非常容易了,那工程师的角色是什么?”
这不仅仅是在问 AI 对工程师的冲击,而是在揭示一个正在发生的系统性转变。让我们结合 Harrison Chase 的观点、OpenAI 的实践,以及我之前的博客总结,深入解析这个问题的答案。
传统模式:PRD 流程的终结
在 Claude Code 普及之前的时代,软件工程的经典流程是这样的:
1
产品经理写 PRD → 设计师做设计稿 → 工程师写代码
这个模式的问题是:
❌ 高成本,长周期
- 每个环节都需要等待和沟通
- 文档编写需要时间
- 代码实现需要时间
- 周期漫长
❌ 瓶颈效应
- 每个环节都可能成为瓶颈
- 某个环节阻塞,整个流程停滞
❌ 创意受限
- 只有写代码的人能实现想法
- 产品想法需要先变成文档,工程师才能看到
- 快速原型验证变得困难
新时代:代码代理驱动的敏捷循环
OpenAI 在 Agents SDK 项目中的实践揭示了新模式:
1
想法 → 快速原型(代码代理构建)→ 代码审查/验证 → 发布
核心变化
- 成本结构改变
- 传统:高固定成本(每个环节都需要人工)
- 新模式:边际成本几乎为零(代码生成是免费的)
- 速度指数级提升
- 传统:线性增长(人数 × 效率)
- 新模式:指数级(一个代码代理可以并行处理多个任务)
- 创造力民主化
- 传统:只有少数人有创意的时间
- 新模式:任何人都可以让代码代理帮忙实现想法
问题解析:工程师的角色重新定位
Harrison Chase 的推文实际上在回答三个问题:
问题 1:成本还是效率?
表面上问的是工程师角色,但深层含义是:在代码生成几乎免费的今天,花在编码环节的时间还值得吗?
传统模式的优势:
- 编写代码本身是高价值工作
- 代码审查确保质量
- 可以深入学习代码库
但是:
代码生成已经极其强大(GPT-5.4、Claude 4.6、Cursor 等):
- ✅ 快速生成可运行的代码
- ✅ 自动执行测试
- ✅ 自动格式化、Lint
- ✅ 自动生成文档
当这些能力免费提供时,“纯编码”的价值下降。
问题 2:核心竞争力是什么?
Harrison Chase 的推文给出了答案:“系统思考和架构设计”。
从 OpenAI 的实践来看,新的工程师核心竞争力变成:
1. 系统构建者
为什么?
- 代码可以自动生成,但系统设计仍然是人类工作
- 如何为代码代理设计高效的工作流?
- 如何构建可维护的架构?
- 如何定义清晰的边界和约束?
- 如何构建可观测性系统?
2. 审查者
为什么?
- 代码可以自动生成,但代码审查仍然是关键环节
- 如何确保代码质量?
- 如何验证架构正确性?
- 如何发现潜在的安全问题?
3. 问题发现者和解决者
为什么?
- 代码可以自动生成,但仍然需要人发现和定义问题
- 什么样的需求是”好的需求”?
- 什么样的架构是”好的架构”?
- 如何平衡速度和质量?
问题 3:产品感从哪里来?
Harrison Chase 提到:”Generalists(通才)比专家更有价值”。
在代码代理时代:
传统专家的角色:
- 写特定领域代码(前端、后端、数据库)
- 深入某个技术栈
- 技能积累需要数年
代码代理的优势:
- 快速了解全栈
- 跨域能力(可以快速阅读任何代码)
- 快速学习新技术
- 可以并行处理多个任务
新的”通才”(Generalist):
- 理解产品问题
- 理解用户需求
- 有设计直觉
- 能快速原型验证想法
- 擅长跨领域协作
OpenAI 实践:如何系统化地使用 AI
从 OpenAI Agents SDK 的实践来看,他们不是让 AI 代替工程师,而是系统化地使用 AI:
1. Skills:可复用的知识包
OpenAI 定义了 Agent Skills 标准,每个 Skill 包含:
1
SKILL.md(元数据)+ scripts/(可执行脚本)+ references/(参考文档)
核心优势:
- 渐进式加载:Agent 只在需要时加载完整内容
- 上下文感知:明确何时使用哪个 Skill
- 确定性执行:脚本保证可重复的结果
2. AGENTS.md:仓库级规则
不是”一本 1000 页的说明书”,而是:
- 简短的指导文件(约 100 行)
- 定义强制使用的 Skills
- 定义项目结构和命令
- 渐进式披露:引导 Agent 分步探索
3. 工作流标准化
OpenAI 的工作流包括:
1
验证 → 审查 → 反馈 → 改进 → 部署
每个环节都有明确的:
- 输入是什么
- 输出应该是什么
- 什么时候使用哪个 Skill
- 如何记录结果
对我们的启示:认知升级路径
基于以上分析,我们可以总结出工程师角色的认知升级路径:
第一阶段:技能扩展(现在)
从”纯写代码”到”会使用多种工具”:
| 技能 | 传统工程师 | 新阶段目标 |
|---|---|---|
| 编程语言 | 精通 1-2 门 | 学习 5+ 编程语言(Python、TypeScript、Rust、Go) |
| 领域知识 | 深入 1-2 个领域 | 快速了解多个领域(前端、后端、DevOps、安全) |
| 代码生成 | 主要工作 | 掌握 Prompt Engineering(知道如何让 AI 高效生成代码) |
| 代码审查 | 确保质量 | 学习代码质量标准和架构模式 |
| 系统设计 | 不需要 | 理解微服务、事件驱动、可观测性 |
第二阶段:系统思考(中期)
从”编写代码”到”设计系统”:
| 技能 | 传统工程师 | 新阶段目标 |
|---|---|---|
| 架构设计 | 不需要 | 理解系统架构原则(高内聚、低耦合) |
| 工作流设计 | 参与 | 设计高效的开发工作流(CI/CD、自动化测试) |
| 技术债务管理 | 被动管理 | 主动管理技术债务,建立清理机制 |
| 可观测性 | 部分实施 | 设计完整的监控和日志系统 |
第三阶段:产品感和判断力(长期)
从”理解需求”到”产品直觉”:
| 技能 | 传统工程师 | 新阶段目标 |
|---|---|---|
| 用户共情 | 不需要 | 理解用户真实需求,而非”他们说要什么” |
| 产品直觉 | 部分人拥有 | 培养产品判断力,区分”必要功能”和”锦上添花” |
| 跨领域协作 | 参与产品 | 能与产品、设计高效协作,理解各自语言 |
| 原型验证 | 不擅长 | 快速用代码代理原型验证想法 |
实践建议:如何开始转型
立即行动(本周)
- 学习 Prompt Engineering
- 了解如何写出高质量的 Prompt
- 学习如何让 AI 生成符合团队风格的代码
- 练习从抽象需求到具体实现
- 评估现有工作流
- 哪些环节可以自动化?
- 哪些环节可以用 AI 辅助?
- 是否有重复性的工作可以编码为 Skill?
- 定义你的新角色
- 你更擅长哪方面?(系统设计?快速原型?跨领域学习?)
- 聚焦这方面,让它成为你的核心竞争力
短期目标(本月)
- 建立一个实验项目
- 选择一个非关键功能
- 用代码代理生成
- 用 Skill 定义工作流
- 记录过程和结果
- 学习 OpenAI 的最佳实践
- 阅读 OpenAI Agents SDK
- 参考 Codex for Open Source
- 理解 Agents Skills 规范
- 创建个人 AGENTS.md
- 在你的项目根目录创建 AGENTS.md
- 定义项目结构、命令、风格
- 记录你觉得有价值的实践
总结:从”执行者”到”系统构建者”
Harrison Chase 的推文揭示了一个正在发生的转变:
“传统 PRD 流程已经死,角色需要重新定义。”
这个转变可以概括为:
| 维度 | 传统角色 | 新角色(推荐路径) |
|---|---|---|
| 核心能力 | 编写代码 | 构建系统 + 驱动 AI 工作 |
| 工作方式 | 按步骤执行 | 系统化工作流 |
| 价值来源 | 手工技能成本高 | 代码成本低但技能价值高 |
| 协作模式 | 串行依赖 | 并行协作(AI 协助) |
| 创新方式 | 创意受限 | 快速迭代和实验 |
关键启示
1. 不要恐慌,要进化
代码生成不是在取代你,而是在改变你工作的方式:
- ❌ 不要继续花 90% 的时间写代码
- ✅ 开始花时间学习如何设计系统
- ✅ 开始花时间定义工作流
- ✅ 开始花时间验证 AI 的工作
2. 系统胜过实现
在 AI 时代:
- 一个设计良好的系统 > 一段写得很好的代码
- 一个可执行的工作流 > 10 个天才工程师
3. 成为”Generalist”
代码代理让”通才”路线变得可行:
- 你可以快速了解全栈
- 你可以跨领域协作
- 你可以用代码验证想法
- 你可以系统化工作
这些能力合起来,就是新时代的”专家”——而且比传统专家更有价值。
参考资源
“关键不在于使用多少 AI,而在于如何系统化地使用 AI。”
这是 OpenAI 在 3 个月内完成 100 万行代码的核心哲学。