ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AI编码时代程序员如何发挥价值:从编码助手到Agent与harness的实战指南

AI编码时代程序员如何发挥价值:从编码助手到Agent与harness的实战指南 1. 当编码助手成了标配程序员的护城河到底在哪最近半年我身边几乎每个开发群都在聊同一个话题AI 编码工具越来越强自己写的代码还有没有价值。有人焦虑有人兴奋也有人干脆躺平。我自己从去年开始深度使用各类编码助手从最早的代码补全到后来的 Agent 自动改代码、跑测试、提 PR一路踩坑一路观察慢慢有了一些比较实在的体会。这篇文章不打算贩卖焦虑也不打算灌鸡汤。我想从一个一线开发者的视角把“AI 编码时代程序员如何发挥价值”这件事拆开来讲清楚AI 编码工具到底改变了什么、哪些能力正在贬值、哪些能力反而更值钱、我们该怎么调整自己的工作方式。不管你是刚入行的新手还是写了十年代码的老兵都能从中找到可以立刻上手的东西。核心关键词先摆出来AI 编码、程序员、Agent、编码助手、harness。这几个词基本构成了当下这个阶段的主线——AI 负责生成Agent 负责编排harness 负责约束和验证而程序员负责判断和决策。理解这条链路你就理解了价值转移的方向。2. AI 编码工具到底改变了什么2.1 从“补全”到“代理”的三级跳要搞清楚价值往哪走先得看清楚工具本身进化到了哪一步。我把 AI 编码工具的演进分成三个阶段这个划分是我自己用下来的体感不一定严谨但很好理解。第一阶段是代码补全。你敲几个字符它猜你接下来要写什么。这个阶段本质上是“更聪明的输入法”它提升的是打字速度但代码结构、逻辑走向还是你说了算。这个阶段程序员的感受是“爽但没被威胁”。第二阶段是对话式生成。你把需求描述清楚它给你一整段函数甚至一整个文件。这个阶段开始有人慌了因为很多模板代码、CRUD、工具函数确实可以一句话生成。但问题也很明显它生成的东西对不对、能不能跑、边界情况处理了没有还是得你自己判断。第三阶段就是现在正在发生的Agent 化。编码助手不再只是被动等你提问而是能自己读代码库、自己规划任务、自己改多个文件、自己跑测试、自己根据报错再改。这时候“harness”这个词就冒出来了——它指的是给 Agent 套上的一层约束框架包括权限控制、工具调用边界、验证流程、回滚机制等等。提示很多人把 Agent 理解成“更聪明的补全”这是误解。Agent 的核心不是生成能力而是自主执行和闭环验证的能力。生成只是其中一环。2.2 被替代的从来不是“写代码”而是“翻译需求”我观察下来AI 真正吃掉的是从明确需求到标准代码的翻译工作。比如“写一个分页查询接口”“把这个 JSON 转成实体类”“给这个函数加个 try-catch”这类工作以前占用了大量时间现在确实可以交给 AI。但注意这里有个前提需求本身是明确的。而现实工作中大部分时间根本不是在写代码而是在搞清楚“到底要写什么”。需求模糊、边界不清、各方理解不一致这才是真正的难点。AI 在这件事上帮不上太多忙因为它没法替你开会、没法替你判断业务优先级、没法替你承担“这个方案选错了”的责任。所以第一层价值转移就很清楚了把“翻译”交给 AI把“定义问题”留给自己。谁能把模糊需求拆成清晰、可验证的任务谁就能让 AI 发挥最大价值同时自己不可替代。2.3 一个真实对比同样用 AI产出差三倍我做过一个小实验。同一个需求——给一个已有的订单模块加一个“超时未支付自动取消”的功能我让两个同事分别用 AI 助手完成。同事 A 的做法直接跟 AI 说“帮我加一个订单超时自动取消功能”AI 生成了一大段代码他复制进去跑了一下报错又让 AI 改来回折腾了快两个小时最后勉强能跑但边界情况一堆问题。同事 B 的做法先自己把需求拆成几个子问题——超时时间从哪来、用什么机制触发定时任务还是延迟队列、取消时要不要回滚库存、并发情况下怎么防止重复取消。然后针对每个子问题分别让 AI 生成方案自己对比选型最后组装。整个过程四十分钟代码质量明显更高。同样的工具产出差了三倍。差别不在工具在于会不会拆问题。这就是我想说的核心AI 时代程序员的第一个核心价值是问题拆解能力。3. 哪些能力在贬值哪些在升值3.1 正在快速贬值的四类能力我不想说“某某能力没用了”这种绝对的话但确实有些能力的市场溢价在快速下降这是事实。第一类是纯记忆型知识。比如某个 API 的参数顺序、某个框架的配置写法、某段正则怎么写。这些以前靠背、靠查文档积累的东西现在 AI 秒答而且比人记得准。你花大量时间背这些投入产出比越来越低。第二类是模板化编码。CRUD、DTO 转换、简单的工具函数、重复的样板代码。这些是 AI 最擅长的领域生成质量稳定速度快。第三类是单点语法熟练度。以前面试爱考“这个语法糖展开是什么”“这个闭包输出什么”现在这类问题越来越像八股。不是说基础不重要而是它不再是区分度所在。第四类是纯执行型任务。别人把方案定好你负责照着写。这种角色在 AI 加持下一个人能顶过去三四个人的产出岗位需求自然收缩。3.2 正在快速升值的五类能力反过来有几类能力的价值在肉眼可见地上升。第一问题定义与拆解。前面已经说过这是让 AI 干活的前提。能把一个模糊的大需求拆成一组清晰、独立、可验证的小任务这个能力现在极其稀缺。第二方案判断与取舍。AI 能给你三个方案但它不会告诉你哪个更适合你当前的团队、业务阶段、技术债情况。选型这件事需要的是对上下文的理解AI 缺的正是这个。第三验证与调试。AI 生成的代码你得能快速判断对不对、哪里可能有问题、怎么设计测试去验证。这需要扎实的调试功底和对系统的理解。第四系统设计与架构。模块怎么划分、边界怎么定、数据怎么流、扩展性怎么留。这些是 AI 目前最弱的地方因为它缺乏对全局和长期演化的把握。第五沟通与协作。跟产品对齐需求、跟同事协调接口、跟上级汇报进度、带新人。这些软技能在 AI 时代反而更重要因为技术执行的门槛降低了人的协调成本占比上升了。3.3 一张对照表看清趋势能力类型过去价值现在价值变化趋势记忆型知识高低快速下降模板化编码高低快速下降语法熟练度中低下降问题拆解中极高快速上升方案判断高极高上升验证调试高高稳中有升系统设计高极高上升沟通协作中高上升这张表不是让你焦虑而是让你知道力气该往哪使。如果你现在大量时间花在表格上半部分的能力上是时候调整了。4. 把 Agent 和 harness 用起来一套可落地的工作流4.1 先理解 harness 到底解决什么问题很多人用 AI 编码最大的痛点不是“它不会写”而是“它乱写、它改坏、它跑偏”。harness 就是来解决这个问题的。你可以把 harness 理解成给 AI 套的一个“工作规范 安全护栏”。它通常包含几层上下文层告诉 AI 这个项目的结构、约定、技术栈、代码风格。工具层规定 AI 能用哪些工具比如读文件、写文件、跑命令、查文档。验证层AI 改完代码后自动跑测试、跑 lint、跑类型检查。回滚层如果验证不通过自动回退到改动前的状态。权限层哪些目录能改、哪些命令能跑提前设好边界。没有 harness 的 Agent就像一个没有安全绳的攀岩者能力越强摔得越惨。有了 harness你才敢让它自主执行。4.2 我自己的编码工作流长什么样说说我现在的实际工作方式供你参考。我把它分成五步。第一步需求澄清。拿到任务先不写代码用自然语言把需求、边界、验收标准写清楚。这一步我会用 AI 帮我提问——让它列出“这个需求可能有哪些歧义点”然后我逐个确认。第二步任务拆解。把需求拆成一组小任务每个任务独立可验证。拆完之后我会让 AI 评估一下“这个拆解有没有遗漏”作为交叉检查。第三步方案生成与选型。针对关键任务让 AI 生成两到三个方案我自己对比取舍。这一步 AI 是参谋不是决策者。第四步编码与验证。让 Agent 在 harness 约束下执行编码每完成一个小任务就跑一次验证。验证不通过就回退重来。第五步人工审查。所有 AI 生成的代码我都会过一遍。重点看边界处理、异常路径、性能隐患、安全隐患。这一步不能省。4.3 一个具体的 harness 配置思路不同工具的具体配置不一样但思路是通用的。我以常见的 Agent 编码场景为例说说我会怎么设。# 概念示意非真实配置文件 context: project_structure: src/ 下按模块划分tests/ 放测试 conventions: 遵循现有代码风格不引入新依赖除非必要 tech_stack: 语言、框架、数据库版本 tools: allowed: - read_file - write_file - run_tests - run_linter forbidden: - delete_directory - modify_ci_config validation: on_change: - run_unit_tests - run_linter - run_type_check on_failure: rollback permissions: writable_paths: - src/ - tests/ readonly_paths: - config/ - .github/这套配置的核心思想是给 AI 自由但自由有边界让 AI 干活但干完必须验证。我实测下来有了这层约束Agent 的产出可用率能从大概五成提升到八成以上。注意harness 不是越严越好。约束太死AI 什么都不敢做效率反而低。边界要设在“关键风险点”上比如生产配置、数据库迁移、CI 流程这些普通业务代码可以放宽。4.4 多 AI 协作别把鸡蛋放一个篮子现在有个趋势是“多 AI 协作”就是让不同的模型或 Agent 分工。比如一个负责写代码一个负责审查一个负责写测试。我试过一段时间确实有效果但要注意几点。好处是明显的不同模型有不同盲区交叉验证能发现单模型发现不了的问题。比如 A 模型写的代码B 模型审查时经常能挑出边界问题。但坑也有协调成本高、上下文传递容易丢失、有时候两个 AI 互相“客气”审查流于形式。我的做法是给审查方明确的检查清单逼它逐条核对而不是泛泛地说“帮我看看有没有问题”。5. 实操中踩过的坑和总结的经验5.1 五个高频问题与排查思路用 AI 编码这段时间我整理了几个反复出现的问题做成速查表。问题现象可能原因排查思路解决方向AI 生成的代码跑不通上下文不足或理解偏差检查是否提供了足够的项目背景补充上下文明确约束改了一个地方坏了另一个地方缺乏全局视野检查是否让 AI 读了相关模块提供依赖关系分步验证反复改还是不对需求本身没想清楚回到需求重新拆解先定义清楚再让 AI 动手生成的代码风格不一致没给风格约束检查 harness 的约定层补充代码规范说明测试通过但线上出问题验证覆盖不足检查测试是否覆盖边界补充边界测试和异常路径5.2 三条我踩坑换来的经验经验一永远不要让 AI 直接改生产相关配置。我吃过一次亏让 Agent 自动改了一个部署脚本结果它“顺手优化”了一个它不理解的参数导致环境出问题。从那以后生产配置、数据库迁移、CI 流程这些我一律设为只读必须人工改。经验二验证要自动化但判断要人工。自动化测试能挡住大部分低级错误但“这个方案是不是最优”“这个抽象是不是过度设计”这类问题机器判断不了。我现在的习惯是机器管对错人管好坏。经验三把 AI 当同事不是当工具。这个说法听起来有点玄但很实用。当你把 AI 当工具你会期待它“一次做对”当你把它当同事你会自然地给它交代背景、说明约束、检查产出。后者的产出质量明显更高。5.3 关于“程序员会不会被取代”的真实看法这个问题我被问过无数次。我的看法是被取代的不是程序员是不会用 AI 的程序员。但这个说法太笼统我拆细一点。短期内纯执行型、模板化的岗位需求会收缩这是确定的。同时能驾驭 AI、能定义问题、能做判断的岗位需求会上升。中间那批“只会照着写”的人压力最大。长期看编程这件事的门槛在降低但天花板在升高。以前你要花大量时间学语法、记 API现在这些可以快速跨过你可以更早地接触系统设计、架构、业务理解这些更高层的东西。这对愿意往上走的人是好事。所以与其焦虑不如把 AI 当成一个杠杆。你原来的能力是 1AI 是 10 倍杠杆你能撬动的东西就大了。但前提是你得有那个“1”——判断力、拆解力、责任心。没有这个 1杠杆再大也是零。6. 给不同阶段程序员的实操建议6.1 新手别跳过基础但别死磕基础如果你是刚入行的我的建议是基础还是要打但方式要变。以前是“背下来”现在是“理解原理 会用 AI 查细节”。具体怎么做学一个知识点时先自己理解核心概念和原理细节交给 AI 查。比如学 HTTP你搞清楚请求响应模型、状态码分类、常见头部的作用具体某个头部的取值让 AI 告诉你。这样你既有框架又不浪费时间在记忆上。另外尽早开始用 AI 编码工具但要有意识地训练自己的判断力。每次 AI 给你代码你都问自己这段代码有没有问题边界处理了吗有没有更好的写法这个习惯越早养成越好。6.2 中级把重心从“写”转到“设计”和“验证”如果你已经写了几年日常 CRUD 不在话下那你的重心应该往两头移往上是设计和架构往下是验证和调试。设计这块多参与方案讨论多思考“为什么这么设计”“换个场景还适用吗”。验证这块把测试写好把调试能力练扎实。这两块是 AI 目前最弱、也最难替代的。同时开始建立自己的 harness 和工作流。把你常用的项目结构、代码规范、验证流程整理成一套可复用的配置让 AI 在你的框架里干活。这套东西一旦建起来你的效率会有质的变化。6.3 资深做 AI 的“指挥官”而不是“操作员”如果你已经是资深开发或者技术负责人你的价值不在于自己写多少代码而在于定义标准、搭建框架、做关键决策。具体来说定义团队的 AI 使用规范搭建适合团队的 harness决定哪些环节用 AI、哪些必须人工培养团队成员的判断力。这些事看起来不“硬核”但决定了一个团队在 AI 时代的整体战斗力。还有一点资深的人要主动承担“兜底”责任。AI 出的问题最终要有人负责。你愿意为 AI 的产出负责你就有资格指挥 AI。这是信任的基础也是价值的体现。6.4 一个可以立刻上手的练习最后给一个具体练习帮你把上面的东西落地。找一个小需求比如“给现有项目加一个日志脱敏功能”。然后按这个流程走一遍用自然语言写清楚需求、边界、验收标准。让 AI 帮你列出可能的歧义点逐个确认。把需求拆成三到五个小任务。针对每个任务让 AI 生成方案自己选型。让 Agent 在约束下编码每步验证。人工审查所有产出记录发现的问题。走完这一遍你会对“AI 时代怎么干活”有非常具体的体感。这比看十篇文章都管用。我个人在实际操作中的体会是AI 编码这件事工具会一直变模型会一直强但底层逻辑不会变谁定义问题谁做判断谁承担责任谁就有价值。把这三件事抓在手里工具越强你越轻松。反过来如果这三件事都交给 AI那被替代也只是时间问题。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进