这几年IT圈最热闹的话题,翻来覆去其实就一个:AI。我自己是一线做研发和项目交付的,说实话,刚开始也觉得AI是“玩具”,能写点代码片段、能翻译个需求文档,但真把它放进生产流程里,问题一堆。直到最近半年我才真正改观——不是AI单独变强了多少,而是“人机协同”这件事开始被认真设计起来了。“AI重塑IT”在我这里不是一个宏大叙事,而是一天天的真实改动:开发流程、测试方式、需求理解、代码审查,这些环节正在被重新定义。
今天聊的人机协同,核心不是让AI替代谁,而是把人和模型各自擅长的事分开。这篇文章会围绕“智能体处于人机协同为主、有限自主执行”这个阶段判断,结合AI编程、AI测试、智能体开发等场景,讲讲我的使用经验和踩坑记录。适合正在尝试用AI提效的研发、测试、产品和技术管理者阅读,尤其是那些已经试用过AI但觉得“不好用”的朋友——很多问题不在于AI,而在于协作方式。
1. 先看清楚:AI和IT的这场重塑,目前到底走到了哪一步
1.1 “人机协同为主、有限自主执行”,这句话怎么理解
这个判断最近被反复提起,我认为是对当前智能体落地状态比较准确的概括。它包含两层意思。
第一层是“人机协同为主”。目前落地的AI能力,大部分不是独立闭环地完成任务,而是嵌在人的工作流里,人和AI各管一段。比如让AI生成代码,需要人来审查、修改、整合;让AI出测试用例,需要人来判断这些用例是否真的覆盖了业务需求;让AI写技术方案,也需要人来核对里面的架构选型和数据流是否可行。原因其实不复杂:模型对上下文的理解是有限的,它在看一个局部问题时可能表现很好,但一旦牵扯到跨模块、跨团队、长期项目,它缺少全局信息,推理也会出现盲区。我常用的一个比喻是:现在的AI更像一个聪明但经验不足的实习生。你给它交代清楚,它能做不少事,但你得给它拆任务、盯进度、检查成果,还得在关键节点纠正方向。
第二层是“有限自主执行”。少数环节确实可以做到全自动,比如重复性高的日志格式化、告警分类、简单文档生成,这些“低风险、高频率”的事完全可以交给AI自动跑。但一旦涉及权限变更、代码发布、资金操作、客户沟通,就必须有人工审批环节。倒不完全是技术做不到,更多是可靠性、责任边界和审计要求决定的。一件事如果做错了没人能兜底,那它就不适合全自动执行。
为了理清楚边界,我一般会把任务按“风险高低”和“频率高低”分成四类:
- 高频低风险:适合全自动,比如日志摘要、代码格式化、周报初稿。
- 低频低风险:可以直接交给AI生成,但需要人工简单复核。
- 高频高风险:AI可以给建议,但最终决定必须人来做,比如发布上线、数据库变更。
- 低频高风险:谨慎使用,必须严格评审,比如支付逻辑、权限模型、对外承诺。
这个分类看起来简单,但它是我做团队落地时最重要的一个工具。很多项目失败,就是因为不分场景,把AI能做的事和不能做的事混在一起,最后要么不敢用,要么乱用。
1.2 这个阶段对IT岗位意味着什么
对开发、测试、运维、产品经理来说,最重要的变化不是“学会调AI”,而是“学会定义AI要做什么,以及如何验收”。
开发岗的变化最直观。以前写代码是主要工作,现在大量样板代码可以交给AI,人要做的是把需求拆小、写清楚验收标准、审查AI的输出,以及处理那些真正需要设计判断的部分。说白了,写代码的时间占比在下降,审查和设计的占比在上升。
测试岗也在变。以前测试用例靠人一条条手写,现在AI可以根据接口文档和需求描述批量生成用例,测试人员的核心能力变成了“怎么设计好测试集”和“怎么评估AI生成的用例质量”。这两件事都比手写用例更考验业务理解。
运维和DevOps岗位同样如此。以前很多工作是执行命令、查日志、配告警,现在这些重复性操作都能被智能体接管,运维人员更应该花精力去定义自动化策略:什么情况自动处理,什么情况必须告警到人。
产品经理则要开始懂模型边界。最近几年AI产品经理这个角色越来越常见,核心原因就是很多AI功能能不能落地,取决于产品经理是否理解“模型能做什么、不能做什么”。一个典型误区是产品经理把AI想成全能的,提了一堆模型根本做不到的需求,导致开发团队反复返工。所以我会建议产品经理至少亲手用一用主流的大模型和AI编程工具,建立对模型能力的直觉。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 找对场景:AI在IT工作里的几种真实用法
2.1 AI编程:以Cursor为例的日常协作方式
说句实话,我之前对AI编程助手有偏见。早期用补全插件,生成的代码经常“看起来对、跑起来错”,我一度认为这玩意儿只能写点测试桩。后来团队里几个年轻人开始用Cursor这类AI编程工具,我发现事情起了变化——不是模型突然无所不能,而是这类编辑器把“人机协同”的流程做顺了。
我日常的使用方式有三个层次。
第一个层次是Tab补全。Cursor的补全对上下文的感知比我用过的其他插件要强很多,它不只看当前文件,还能粗略理解项目里的相关代码。这个能力特别适合写样板代码、DTO、基础CRUD、单元测试脚手架,能省下大量重复劳动。但我不建议在业务复杂的方法里依赖补全,因为模型对隐藏约束的理解还不靠谱。
第二个层次是多文件编辑。比如重构一个模块,把某个接口从同步改成异步,涉及多个文件的调用链调整。以前的IDE重构工具能做一部分,但遇到语义层面的调整就抓瞎。Cursor这类工具可以结合项目结构,在明确指令下完成跨文件的修改。这个功能用好了效率极高,但同样有风险:如果它对项目结构的理解有偏差,一场重构可能改出几十个编译错误。
第三个层次是对话式生成。我一般把TODO注释写成一句明确的需求描述,然后让AI先生成初稿,我再来改。比如在类里写“TODO: 实现用户积分变更接口,需校验用户状态、积分不能为负、记录变更流水”,AI会给我一个基本可用的实现,我再补上事务、幂等、异常处理这些关键逻辑。
关于AI编程提示词,我后来总结出一个有效套路:别急着让AI写代码,先让它设计,再让它实现。我经常用这样的格式:
code复制【任务】为订单模块新增一个批量取消接口
【背景】订单服务是Spring Boot单体应用,数据库采用MySQL
【约束】必须校验订单状态为“待支付”或“已支付”,已发货订单禁止取消;取消同时要回滚库存并记录操作日志
【输出】请先说明接口设计,再给Controller、Service和Mapper层的代码
这样做的效果比我早期一句“帮我写个取消订单接口”要好得多。因为模型先做了设计,很多约束在思考阶段就被纳入,而不是在代码阶段临时拍脑袋。
2.2 AI辅助测试与质量保障:弥补盲区而不是包办一切
AI测试在很多团队里被低估了,大家总觉得AI写测试用例不靠谱,实际用下来我认为它的定位应该是“弥补盲区”,而不是“包办一切”。
我的切入点是三个方向。第一是用AI生成边界用例。给AI一份接口文档或者一个方法签名,要求它列出正常值、边界值、异常值、并发场景和依赖异常,它往往能列出不少人工容易漏掉的点。第二是让AI补异常场景。最典型的是网络超时、下游服务不可用、数据库锁冲突这类情况,人写测试时容易默认“只要业务逻辑对就行”,但AI会按常见故障类型逐一枚举,帮我们补上健壮性用例。第三是用AI做失败日志分析。测试挂了以后,把失败日志丢给AI归纳,让它先归类再给怀疑点,经常能省下不少排查时间。
但这里有个重要前提:AI生成的每条用例,都要有人工评审。因为模型是基于“描述”生成的,它并没有真的理解你的业务约束。比如AI生成“取消订单接口在库存不足时报错”这条用例,逻辑上没错,但如果你的业务规则是“取消订单不需要校验库存”,这条用例就是错的。测试用例的质量锚点始终是业务需求本身,这一条AI替代不了。
2.3 让智能体(Agent)承担有限的自主任务
“AI Agent”这个词这两年已经被说烂了,但真正落地的项目其实没有那么多。我自己的经验是,落地智能体不要一开始就搞复杂,先按“感知-决策-执行-校验”四段拆它,再决定哪些环节交给AI、哪些环节留给人。
我举一个真实做过的例子:系统监控告警智能体。感知部分,定时拉取服务指标和日志;决策部分,让模型基于历史告警记录判断当前指标异常是否值得关注,以及可能的根因方向;执行部分,自动创建一个告警工单,附上关键日志和初步分析;校验部分,并不直接触发重启或回滚,而是等值班人确认后再做下一步。
这套机制看起来不算炫酷,但它在生产环境里很稳。因为我没有把“自动处理”和“自动决策后执行”混为一谈。前者是低风险的,后面一旦出错代价可能很大。我的原则是:能实现“诊断建议、人工确认、自动执行”的闭环,已经是当前很多业务场景能承受的上限了。
2.4 文档、知识库与信息检索:AI的另一块重要战场
除了写代码,AI在文档、知识库、技术调研上的辅助价值也很大。我们团队现在写技术设计文档的初稿,基本都会让AI基于需求描述和已有代码结构生成一个框架,然后技术负责人再往里填充关键决策。整理周报、会议纪要、知识库条目,这些更是AI的强项。
但这里要特别提醒一个坑:AI生成的内容越流畅,越要警惕数据来源。让AI帮忙整理技术方案、输出调研报告、甚至做专利辅助检索,一旦把它给出的结论直接拿去用,风险非常高。模型在信息检索场景下会“一本正经地编造”,比如引用一篇不存在的论文、编一个不存在的API、给出一个看似权威但错误的版本号。所以我一直强调:AI可以帮你“整理结构”“提供思路”,但不应该替你“确认事实”。在我的工作流里,AI生成的文本只算草稿,所有关键数据、引用来源、版本兼容性,我都要求人工核对。
3. 实操落地:搭一套真正好用的“人机协同”工作流
3.1 先做评估:哪些环节适合交给AI
如果把整个IT流程看成一串动作,你会发现不是每个动作都适合AI介入。我的建议是,落地AI之前,先花半天时间把团队最常见的工作拆成小任务,然后按“风险”和“频率”做四象限分类,再决定每个任务用哪种协同模式。
这里说的风险,是指“做错了会造成多大的损失”。比如直接把一段生成代码合到主分支,可能导致线上出故障,这是高风险;生成一份周报初稿,即使有错误,损失也很小,这是低风险。频率则是指“这类任务每周出现多少次”。高频任务值得花时间打磨提示词和上下文模板,低频任务直接用通用提示词即可,不用过度投入。
我自己常用的分类表大概是这样的:
| 任务类型 | 典型例子 | 协同模式 |
|---|---|---|
| 高频低风险 | 日志摘要、代码格式化、周报初稿 | 尽量自动化,人只做抽查 |
| 低频低风险 | 一次性调研报告、临时脚本 | AI生成初稿,人工快速复核 |
| 高频高风险 | 接口设计、核心代码审查、发布计划 | AI辅助建议,人做最终决策 |
| 低频高风险 | 权限模型、资金支付逻辑、数据迁移 | AI只做梳理,关键逻辑必须人写 |
做完这个分类,很多团队会发现问题不是“AI不够强”,而是“把高风险任务全交给AI,又没有相应的验收机制”,所以一上线就翻车。
3.2 给AI的上下文,比“神奇提示词”更重要
我遇到过不少朋友问“有没有好的Prompt技巧”,好像背几个咒语AI就会变强。实际用下来,与其背提示词模板,不如养成“给足上下文”的习惯。AI就像一个刚进组的新同事,你对它说“帮我改一下这个接口”,它大概率不知道从哪儿下手;但如果你把背景、约束、输出格式都说清楚,它的完成质量会大幅提升。
我习惯在提示词里固定包含四块信息:
- 项目背景:这个项目是干什么的,目标用户是谁,当前处在什么阶段。
- 技术栈说明:语言、框架、关键依赖、版本号,以及项目里有哪些约定。
- 需求约束:哪些能做,哪些不能做,特别是那些容易被忽略的边界条件。
- 输出格式:是要“先讲思路再写代码”还是“直接给代码”,是给表格还是给文字。
下面是一个我常用的模板:
code复制【任务】为订单模块新增一个批量取消接口
【背景】订单服务是Spring Boot单体应用,数据库采用MySQL,订单状态有:待支付、已支付、已发货、已完成。
【约束】取消必须校验订单状态为“待支付”或“已支付”,已发货和已完成订单禁止取消;取消需回滚库存并记录操作日志;接口需要支持批量,最多不超过50个订单;需要考虑幂等。
【输出】请先说明接口设计思路,再给Controller、Service和Mapper层的代码,最后列出你识别到的风险点。
有人可能会觉得这样写太啰嗦,但实际算下来,一次写清五分钟,省下的返工时间可能是今天下午的两小时。而且模型“先说明思路”这一步特别关键,它逼着模型在做细节之前先建立正确的框架,如果我们发现思路不对,可以直接打断,而不是等它胡写一大段代码再推倒重来。
3.3 建立反馈闭环,把AI越用越顺手
很多人把AI当作一次性工具,问完一个问题就扔了,下次遇到同样的需求又重新写一遍提示词。这是很大的浪费。正确做法是建立反馈闭环,把AI确实当成团队里的一个新成员来对待:它完成任务后,我们需要验收、反馈、沉淀。
我通常的做法是这样的。第一,当AI给出的结果不理想时,一定要追问一句“你基于什么依据给出这个方案”,让模型重新审视自己的答案。很多时候模型只要被提醒,就会主动修正错误。这比直接否定它的输出要高效,因为模型能从中理解我们关注的重点。第二,把经过验证的高质量生成结果沉淀成一个团队知识库,包括可复用的提示词模板、AI生成的优秀代码片段、AI评审时抓出的经典问题等。第三,定期更新团队内部的“AI工程实践”清单,把最近踩过的坑和验证过的方法记录下来,新同事加入时可以直接参考。
我见过一些团队,半年下来文档库还是空的,大家每天都在重复问AI同样的问题,效率并没有真正沉淀下来。这很可惜。
3.4 一个可复用的日常开发流程示例
讲完评估、上下文和闭环,我总结一下现在团队里比较稳定的日常开发流程。可以给大家直接参考:
- 需求拆解:产品经理和技术负责人把需求拆成小任务,每个任务必须写明验收标准。
- 任务分配:把任务分配给团队成员,同时明确每个任务是否可以借助AI。
- 人写边界:由负责人在任务描述中写清楚背景、约束、输入输出,然后交给AI生成初稿。
- AI生成初稿:模型按照上下文生成代码、测试用例或文档草稿。
- 人工审查与改造:负责人逐行审查AI生成的代码,补齐异常处理、事务、安全校验等关键逻辑,然后补充单元测试。
- AI参与评审:将改动交给AI做一轮代码评审,让它检查重复代码、遗漏的边界条件、命名一致性等。
- CI/CD发布:通过自动化的构建、测试、部署流水线发布,发布审批仍然由人执行。
这个流程看似比原来多了一个“让AI生成初稿”的环节,但实际运行下来,整个研发周期是缩短的,因为AI承担了大量从空白页开始的压力,而我们保留了人类对关键节点的控制。
4. 常见问题与排查技巧:AI幻觉、数据安全与效率陷阱
4.1 AI幻觉:怎么识别、怎么兜底
如果说AI使用中只有一个风险必须认真对待,那就是AI幻觉。模型经常会生成看起来合理、结构完整、语气笃定,但实际上错误的内容。程序员最容易遇到的幻觉包括:虚构不存在的类库API、编造一个假的配置项、把两个版本的方法混在一起写、引用不存在的官方文档。它对不熟悉领域的人杀伤力特别大,因为你越不懂,越看不出它错在哪。
我一般用三种方式识别幻觉。第一,直接验证。生成代码就立刻跑测试,生成配置就立刻起服务,这是最有效的手段。第二,要求模型给出依据。比如“请列出这个API的官方文档地址和版本号”,如果模型给不出,或者给了明显是拼凑的链接,那就要警惕。第三,小范围试错。在不是特别确定的领域,先让AI生成一个小样例,确认它理解方向正确后,再让它扩展到完整方案。
兜底机制上,最核心的是“生成即验证”。AI生成的每一份代码块,都应该在提交前经历编译和测试环节。我甚至在团队里立了一条规矩:AI生成的逻辑代码,如果没有对应的单测,不允许合并到主分支。这条规矩执行起来有点麻烦,但它挡掉了大部分因幻觉而引入的线上问题。
4.2 本地部署与云端API:怎么选一个合适的方式
这两年本地部署AI也变成了高频词。很多人一谈数据安全,第一反应就是“把模型部署到我们自己的服务器上”。这个方向没问题,但需要分清成本和收益。
我的经验是,如果团队对输出质量要求高、且不涉及特别敏感的数据,优先使用云端API,因为当前最先进的模型基本都在云端,效果明显更好,迭代也快。如果数据属于核心资产,比如源代码、客户信息、经营数据,那就必须走私有化路线,本地部署开源的模型,或者使用私有化部署的商业方案。
本地部署一个关键限制是硬件成本。开源模型要跑出可用效果,至少需要7B以上的参数量,这通常意味着单卡显存至少20GB以上,一个推理服务配上几块卡并不便宜。而3B左右的模型虽然部署成本低,但在复杂代码生成和技术推理上往往力不从心。更现实的做法是混合方案:一般性的代码生成、文档整理走云端API,涉及核心代码和客户数据的需求走本地模型。这两种并行存在,既不牺牲体验,又守住数据边界。
4.3 数据合规与安全:人机协同的边界线
把项目代码、客户资料、内部文档交给外部AI服务,这件事在很多企业内部是有严格流程的。我在团队里推进AI工具时,第一步就是做数据分级。哪些代码可以发给外部API,哪些必须走内部部署,哪些字段在发送前必须脱敏,都要提前约定好。
一个实用技巧是“脱敏-提问-还原”三步。比如需要让AI分析一段日志,但日志里包含客户ID和手机号,可以先在本地脚本里把敏感字段替换成占位符,再让AI分析脱敏后的内容,拿到结果后人工对照原始数据确认。这样既享受了AI的分析能力,又不会把敏感信息送到外部。
另一个重点是企业审计。如果AI工具被广泛使用了,却没有记录员工向AI提交了什么内容、拿到了什么输出,一旦出现数据泄露会非常被动。最稳妥的做法是使用支持审计的网关或企业版工具,记录调用日志,并且对员工做安全意识培训,明确哪些内容不能提。很多人觉得这是搞形式,但在实际事故复盘里,这一条往往能救命。
4.4 效率陷阱:看起来快、实际上返工多
我见过一个很典型的场景:一个开发同学用AI写了一堆代码,一个小时生成了几百行“看起来完整”的实现,结果编译通过是通过了,跑起来全是逻辑漏洞,改了两天才稳定。这种“看起来快、实际慢”的问题,本质上是没有管好约束。
模型生成代码时,如果接收到的信息是不完整的,它会用最可能的知识来填空。而这个“最可能”不一定符合你的业务。于是生成的代码结构漂亮,但缺少幂等、缺少事务、缺少并发保护、缺少对下游异常的容忍。这些缺失在代码量小的时候容易看出来,代码量一旦变大,排查起来就特别费时间。
我的对策很简单:把任务拆小,让AI在每个小任务里只做一件事,并且先讲清楚约束,再让它写代码。比如不要让AI一口气生成一个完整的订单子系统,而是让它在约束明确的前提下,先生成订单创建、订单查询、订单取消这几个独立接口,每完成一个就验收一个。这样即使AI出错,问题也会被限制在小范围内,不至于等到最后堆成一个大坑。
5. 团队实践心得:让人机协同真正产生价值
5.1 技术判断力是人和AI协作的底线
用AI一年多,我最深的体会是:AI可以把一个团队的产出下限快速拉高,但决定上限的依然是人。AI可以帮你写一个技术方案的大部分内容,但如果你看不懂、改不动,那这个方案就不是你的;AI可以帮你生成一段复杂的算法实现,但如果你无法解释它为什么要用这种数据结构,这段代码就不应该合入主线。
这其实引出一个反直觉的结论:越依赖AI,越需要扎实的基本功。以前基本功体现在“从零写代码”的能力上,现在基本功体现在“快速理解AI生成的代码并判断它是否合理”的能力上。如果一个人离开了AI就写不出任何代码,那他大概率也无法审查AI写的代码。反过来,一个基本功扎实的人,在AI加持下会如虎添翼。所以我在带团队时,面试和晋升考核里依然保留了手工写代码、读代码、找bug的环节,甚至比过去看得更重。
5.2 把提示词、验证流程、评估标准沉淀成团队资产
我们团队内部有一份持续更新的文档,名字就叫“AI工程实践”,里面收录了三类内容。第一是经过验证的提示词模板,按场景分类,比如接口生成、代码评审、测试用例生成、日志分析、方案设计。第二是失败案例库,记录AI在哪些任务上出过问题、是怎么被发现的、后续怎么规避。第三是质量评估标准,比如什么样的AI输出可以直接用,什么样的必须返工,AI生成的代码需要配套什么级别的测试。
这份文档的价值一开始并不明显,因为大家都觉得“用AI这种技能还要写文档?”但实际运营三个月后,它的价值体现出来了:新同事入职后,看完这份文档就能快速上手,而不是靠自己在AI上瞎试一两个月;日常使用AI时,大家也有了一个共同的语言和标准,不会出现“你让AI写代码、它让AI写文档、标准不统一”的混乱。团队协作里,最怕的不是工具不好用,而是工具用法各异导致产出的质量参差不齐。
5.3 我个人的几点实操建议
如果让我给刚接触AI的团队三个建议,我会说下面三点。
第一,每周做一次“AI使用复盘”。不用很正式,就是挑一个固定时间,大家聊聊这周哪些任务交给AI做对了、哪些翻车了、下次怎么调整。这个方法能快速把整个团队的AI使用水平拉齐,而且成本极低。
第二,不要迷信那些号称“无限制”“不审核”的AI工具。我见过一些朋友为了图方便,去用来源不明的所谓无限制版本,结果要么质量问题严重,要么存在严重的数据盗取风险。真正有效的提效不是靠“无限制”,而是靠“更懂你怎么用”。
第三,把AI当成需要管理的“新成员”,而不是一个搜索框。给它明确的任务描述、验收标准、反馈机制,它才会越用越顺手。如果只是遇到问题才想起它,那AI在你的工作流里永远是边缘角色,发挥不了重塑级的作用。
我个人的体感是,AI重塑IT的过程,其实是在重塑我们对“专业”的定义。以前做得好,是你把所有细节都掌握在脑子里;现在做得好,是你知道哪些事可以交给AI、哪些事必须自己严格把关。这个阶段最需要的不是更高级的工具,而是一套能把人和模型各自优势组合起来的协作规则。将来如果智能体真的走到更强的自主执行阶段,今天养成的判断力、验收习惯和工程流程,依然是我们手里最可靠的东西。
