尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI Native团队落地指南:从CLAUDE.md到Agent编排的SDLC重构

AI Native团队落地指南:从CLAUDE.md到Agent编排的SDLC重构 1. 从“用AI写代码”到“AI Native团队”的认知跃迁这两年我参与过不少团队的研发流程改造从最早大家偷偷用AI补全代码到后来公司统一采购AI编程助手再到现在很多团队开始喊“我们要做AI Native团队”。说实话大部分团队对“AI Native”的理解还停留在“给每个人配一个AI助手”的阶段这跟真正的AI Native差着十万八千里。AI Native团队的核心不是“用AI工具”而是整个软件开发生命周期SDLC围绕AI Agent的能力边界来重新设计。传统SDLC是为人设计的需求评审、技术方案、编码、测试、部署、运维每个环节都假设执行者是人。AI Native SDLC则假设执行者可能是Agent或者至少是人机协作——这时候流程、文档、代码组织方式、甚至团队角色定义都要变。我见过最典型的误区就是团队花大价钱买了AI编程工具结果开发流程一点没改只是让AI帮忙写写函数、补补测试。这就像给马车装了个发动机但轮子还是木头的跑不快还容易散架。真正的AI Native改造需要从上下文工程、Agent编排、验证闭环三个层面同时下手。这份手册要解决的就是“知道AI Native好但不知道怎么落地”的问题。我会把过去一年多在实际项目中踩过的坑、验证过的方案、以及那些文档里不会写的经验完整地拆开讲。适合正在推动团队AI转型的技术负责人、想搭建Agent工作流的架构师以及任何对AI Native研发范式感兴趣的一线开发者。不管你现在团队规模是三个人还是三百人里面的思路和具体操作都能直接参考。2. AI Native SDLC的整体设计与核心思路拆解2.1 为什么传统SDLC在AI时代会失效传统SDLC的底层假设是“执行者是人”所以流程设计围绕人的认知特点展开人需要文档来传递上下文需要会议来对齐认知需要代码评审来保证质量需要测试来兜底。但Agent的认知模式和人有本质区别——Agent没有“遗忘曲线”但它的上下文窗口有限Agent不需要“理解业务背景”但它需要精确的指令和可验证的反馈Agent不会“累”但它会在错误的路径上反复尝试直到耗尽token。我举个实际例子。传统流程里一个需求从产品经理到开发到测试中间要经过需求文档、技术方案、接口文档、测试用例等多层传递。每一层传递都会丢失信息但人可以通过沟通来弥补。换成Agent之后如果你还是用自然语言文档传递需求Agent要么理解偏差要么在细节上反复追问效率反而更低。所以AI Native SDLC的第一个设计原则就是把“给人看的文档”变成“给Agent执行的规范”。这不是说不要文档而是文档的形态要变。比如CLAUDE.md这种文件本质上就是给Agent的“项目宪法”里面写清楚技术栈、代码规范、目录结构、常用命令、禁止事项。Agent每次启动都会读这个文件相当于每次都给Agent做了一次完整的项目上下文注入。2.2 AI Native SDLC的四个核心支柱经过多个项目的迭代我总结出AI Native SDLC的四个核心支柱缺一个都会导致落地效果打折扣。第一个支柱是上下文工程。这是最容易被忽视但最重要的一环。Agent的能力上限很大程度上取决于你给它什么上下文。上下文工程包括项目级上下文CLAUDE.md、README、架构文档、任务级上下文需求描述、验收标准、相关代码片段、会话级上下文历史对话、已尝试的方案、失败原因。我见过太多团队抱怨Agent“笨”其实是因为给它的上下文太粗糙。第二个支柱是Agent编排。单个Agent的能力有限复杂任务需要多个Agent协作。比如一个负责需求拆解的Agent、一个负责编码的Agent、一个负责测试的Agent、一个负责代码评审的Agent。编排的关键是定义清楚Agent之间的接口和交接标准。这里有个经验Agent之间的交接最好用结构化数据而不是自然语言。比如测试Agent给编码Agent的反馈应该是“第23行空指针异常输入参数为null时触发”而不是“代码有点问题你再看看”。第三个支柱是验证闭环。Agent最大的问题是“自信地犯错”。它会在没有验证的情况下声称任务完成。所以AI Native SDLC必须内置验证机制单元测试、集成测试、静态检查、类型检查。而且这些验证必须是自动化的Agent能自己触发、自己读取结果、自己修复。没有验证闭环的Agent工作流就是在裸奔。第四个支柱是Plan Mode。这是Claude Code等工具引入的一个关键概念。Plan Mode的核心思想是Agent在执行任务前先输出一个执行计划人类确认后再执行。这解决了两个问题一是避免Agent在错误方向上浪费大量token二是让人类在关键决策点保持控制权。我实测下来开启Plan Mode后复杂任务的首次成功率能提升40%以上。2.3 方案选型为什么是CLAUDE.md Agent Plan Mode市面上Agent框架很多LangChain、Dify、CrewAI各有优劣。但在实际项目中我最终选择的是以CLAUDE.md为上下文载体、以Claude Code为Agent运行时、以Plan Mode为控制机制的方案。原因有三第一上下文注入的简洁性。CLAUDE.md就是一个Markdown文件放在项目根目录Agent自动读取。不需要额外的向量数据库、不需要embedding、不需要RAG。对于大多数项目来说项目级上下文用文件就够了过度工程化反而增加维护成本。第二Agent能力的完整性。Claude Code这类工具已经内置了文件读写、命令执行、代码搜索等基础能力不需要自己从头搭建Agent基础设施。团队可以把精力放在业务逻辑和流程设计上而不是造轮子。第三Plan Mode的天然优势。Plan Mode让Agent先规划再执行这符合人类工程师的工作习惯。而且Plan Mode的输出本身就是一份可评审的技术方案人类可以在执行前介入调整。当然这套方案不是银弹。如果你的项目需要复杂的多Agent协作、需要接入大量外部系统、需要精细的权限控制可能需要更重的框架。但对于大多数中小团队来说这套方案的上手成本和维护成本都是最低的。3. 核心细节解析与实操要点3.1 CLAUDE.md的编写规范与常见误区CLAUDE.md是整个AI Native工作流的基石。它相当于给Agent的“入职培训手册”写得好不好直接决定Agent的表现。我见过很多团队的CLAUDE.md要么太简略只有几行技术栈说明要么太冗长把整个架构文档都塞进去这两种都不可取。一个好的CLAUDE.md应该包含以下模块# 项目概述 一句话说明项目是做什么的目标用户是谁。 # 技术栈 - 语言TypeScript 5.x - 框架Next.js 14 (App Router) - 数据库PostgreSQL Prisma - 测试Vitest Playwright - 包管理pnpm # 目录结构 - src/app页面和API路由 - src/components可复用组件 - src/lib工具函数和业务逻辑 - src/server服务端逻辑 - tests测试文件 # 常用命令 - pnpm dev启动开发服务器 - pnpm test运行单元测试 - pnpm lint代码检查 - pnpm build生产构建 # 代码规范 - 使用函数式组件禁止class组件 - 所有API路由必须有输入校验zod - 错误处理统一使用Result类型禁止throw - 组件文件使用PascalCase工具函数使用camelCase # 禁止事项 - 禁止直接修改数据库schema必须通过migration - 禁止在客户端组件中引入服务端代码 - 禁止使用any类型 - 禁止提交console.log这个模板看起来简单但每一条都是踩坑之后总结出来的。比如“禁止使用any类型”这条是因为Agent在不确定类型时倾向于用any来绕过类型检查结果导致运行时错误。“错误处理统一使用Result类型”这条是因为Agent默认会用try-catch但团队约定是Result类型不写清楚Agent就会按自己的习惯来。注意CLAUDE.md不是一次写完就完事的。每次发现Agent犯同类错误就应该在CLAUDE.md里加一条规则。我习惯在项目初期每周更新一次CLAUDE.md把Agent踩过的坑都记进去。一个月后Agent的犯错率会明显下降。还有一个常见误区是CLAUDE.md写得太抽象。比如“代码要清晰易读”这种话Agent根本不知道怎么执行。要写成“函数不超过50行超过就拆分”、“变量名必须能表达用途禁止用data、temp、result这类泛化命名”。规则越具体Agent执行越准确。3.2 Plan Mode的正确打开方式Plan Mode是Claude Code的一个核心功能但很多人不知道怎么用。简单说Plan Mode就是让Agent在动手之前先输出一个计划人类确认后再执行。这个功能看起来简单但用好了能省大量时间。我通常这样使用Plan Mode第一步给Agent一个明确的任务描述。比如“在用户设置页面增加一个修改密码的功能需要旧密码验证、新密码强度校验、修改成功后发送邮件通知”。第二步Agent输出计划。计划通常包括需要修改哪些文件、每个文件改什么、需要新增哪些文件、需要安装哪些依赖、测试怎么写。第三步我审查计划。重点看几个地方有没有遗漏的边界情况比如旧密码错误怎么办、新密码和旧密码相同怎么办、有没有引入不必要的依赖、文件修改范围是否合理。第四步确认后Agent执行。执行过程中如果遇到问题Agent会暂停并询问。这里有个关键经验Plan Mode的计划要保存下来。我习惯让Agent把计划写入一个plans/目录下的Markdown文件文件名用日期加任务名。这样做的好处是后续如果任务中断或者需要回溯可以直接看计划文件。而且多个Agent协作时计划文件可以作为交接文档。提示Plan Mode不是万能的。对于非常简单的任务比如改个文案、修个typo开Plan Mode反而浪费时间。我的经验是预计修改超过3个文件或者涉及逻辑变更的任务才值得开Plan Mode。还有一个进阶用法让Agent在Plan Mode中输出多个方案。比如“方案A直接修改现有组件方案B抽取新组件复用”。然后人类选择方案。这比让Agent直接选一个方案要好因为人类对业务的理解更全面。3.3 Agent Skill的设计与复用Agent Skill是最近很火的概念简单说就是把Agent的能力封装成可复用的模块。比如“生成API文档”是一个Skill“运行测试并修复失败用例”是一个Skill“将网页保存为Markdown”也是一个Skill。在实际项目中我通常把Skill分为三类第一类是项目级Skill跟具体项目强相关。比如“按照我们的代码规范生成React组件”、“按照我们的API格式生成接口文档”。这类Skill通常放在项目的.claude/skills/目录下跟项目一起版本管理。第二类是团队级Skill跨项目复用。比如“代码评审检查清单”、“安全漏洞扫描”、“性能分析”。这类Skill可以放在团队的共享仓库里通过软链接或者包管理工具引入。第三类是通用级Skill跟具体业务无关。比如“将网页保存为Markdown”、“生成Mermaid图表”、“格式化JSON”。这类Skill可以直接用社区现成的也可以自己写。写Skill的关键是定义清楚输入输出。一个好的Skill应该像函数一样给定明确的输入产出明确的输出。比如“代码评审Skill”的输入是代码diff输出是评审意见列表每条意见包含文件、行号、严重程度、建议。# Skill: 代码评审 ## 输入 - 代码diff通过git diff获取 - 项目CLAUDE.md获取代码规范 ## 输出 评审意见列表每条包含 - 文件路径 - 行号 - 严重程度blocker/critical/major/minor - 问题描述 - 修改建议 ## 检查项 1. 是否符合CLAUDE.md中的代码规范 2. 是否有未处理的错误情况 3. 是否有潜在的空指针或类型错误 4. 是否有性能问题如循环内查询数据库 5. 是否有安全风险如SQL注入、XSS这个Skill写好后每次代码评审都可以直接调用Agent会按照固定格式输出评审意见。比让Agent“随便看看代码有没有问题”要靠谱得多。注意Skill不是越多越好。我见过团队写了上百个Skill结果Agent不知道该用哪个。我的建议是项目级Skill控制在10个以内团队级Skill控制在20个以内。每个Skill都要有明确的触发条件和使用场景。3.4 Agent安全与沙箱机制Agent安全是很多团队忽视的问题。Agent有文件读写和命令执行权限如果被恶意利用或者自己犯错后果可能很严重。我听过最离谱的案例是Agent在执行“清理临时文件”任务时把整个项目目录删了。所以AI Native团队必须建立Agent安全机制。我通常从三个层面入手第一层是权限控制。Agent不应该有无限权限。比如生产环境的数据库Agent只能读不能写部署命令Agent只能执行预定义的脚本不能执行任意命令。Claude Code支持通过配置文件限制Agent的权限这个一定要配。第二层是沙箱隔离。Agent执行命令时应该在沙箱环境中执行。比如用Docker容器隔离或者用专门的沙箱工具。这样即使Agent执行了危险命令影响范围也有限。第三层是操作审计。Agent的每一步操作都要有日志记录。包括读了哪些文件、执行了哪些命令、修改了哪些内容。这样出问题时可以回溯。# 示例限制Agent只能执行白名单命令 # 在项目配置中定义 allowed_commands: - pnpm test - pnpm lint - pnpm build - git diff - git status提示Agent安全不是一次性工作而是持续过程。每次给Agent新增权限时都要问自己这个权限真的必要吗有没有更小的权限集能满足需求还有一个容易被忽视的点是Agent的记忆安全。Agent在会话中会记住很多信息包括代码片段、配置、甚至密钥。如果这些信息被写入日志或者持久化存储可能造成泄露。所以Agent的会话记录要定期清理敏感信息要脱敏。4. 实操过程与核心环节实现4.1 从零搭建AI Native工作流的完整步骤假设你现在有一个中等规模的TypeScript项目团队5个人想改造成AI Native工作流。下面是我实际用过的步骤按顺序执行即可。第一步初始化CLAUDE.md。在项目根目录创建CLAUDE.md按照3.1节的模板填写。初期不用追求完美先把技术栈、目录结构、常用命令写清楚。代码规范和禁止事项可以后续逐步补充。第二步配置Agent权限。在项目配置中定义Agent可以执行哪些命令、可以读写哪些目录。建议初期权限收紧只开放必要的命令。比如只允许pnpm test、pnpm lint、git diff不允许git push、rm、curl。第三步建立Plan Mode工作流。约定所有非平凡任务都必须先出计划。计划文件统一放在plans/目录下命名格式为YYYY-MM-DD-任务名.md。计划文件要纳入版本管理方便回溯。第四步编写核心Skill。初期先写三个Skill代码生成Skill、代码评审Skill、测试生成Skill。这三个覆盖了日常开发的大部分场景。Skill文件放在.claude/skills/目录下。第五步建立验证闭环。配置CI流水线确保每次代码提交都自动运行测试、lint、类型检查。Agent在本地执行任务后也要触发这些验证。验证不通过时Agent要能读取错误信息并尝试修复。第六步迭代优化。每周回顾一次Agent的表现把常见错误补充到CLAUDE.md中把重复操作封装成Skill。这个过程持续一个月左右工作流就会比较稳定。4.2 一个完整任务的实操记录我拿一个真实任务来演示整个流程。任务描述“在用户设置页面增加修改密码功能需要旧密码验证、新密码强度校验、修改成功后发送邮件通知。”阶段一Plan Mode规划我给Agent的指令是“在用户设置页面增加修改密码功能。要求1旧密码验证2新密码强度校验至少8位包含大小写字母和数字3修改成功后发送邮件通知。请先输出执行计划。”Agent输出的计划如下# 执行计划修改密码功能 ## 需要修改的文件 1. src/app/settings/page.tsx - 添加修改密码表单 2. src/server/routes/user.ts - 添加修改密码API 3. src/lib/validators.ts - 添加密码强度校验函数 4. src/lib/email.ts - 添加密码修改通知邮件模板 5. tests/user.test.ts - 添加测试用例 ## 需要新增的依赖 - 无使用现有依赖 ## 实现步骤 1. 在validators.ts中添加validatePasswordStrength函数 2. 在user.ts中添加POST /api/user/change-password路由 3. 在email.ts中添加sendPasswordChangedEmail函数 4. 在settings/page.tsx中添加表单组件 5. 编写测试用例 ## 边界情况处理 - 旧密码错误返回401提示“旧密码不正确” - 新密码强度不足返回400提示具体哪项不满足 - 新密码与旧密码相同返回400提示“新密码不能与旧密码相同” - 邮件发送失败记录日志但不影响密码修改结果 ## 测试计划 - 单元测试validatePasswordStrength函数 - 集成测试修改密码API的各种情况 - E2E测试表单提交流程我审查这个计划发现两个问题一是没有考虑“用户未登录”的情况二是邮件发送失败的处理需要确认。我跟Agent沟通后Agent补充了未登录返回401的处理并确认邮件发送失败只记录日志。阶段二Agent执行确认计划后Agent开始执行。执行过程中Agent每完成一个文件就运行一次相关测试。比如写完validators.ts后立即运行pnpm test validators。测试通过后继续下一个文件。执行到API路由时Agent遇到一个问题现有的错误处理中间件不支持返回自定义错误码。Agent暂停并询问“现有错误处理中间件只支持500错误需要修改中间件还是用其他方式返回400/401”我回复“修改中间件支持自定义错误码。”Agent继续执行。阶段三验证与修复所有文件写完后Agent运行完整测试套件。发现两个测试失败一个是密码强度校验的边界情况正好8位但只有小写字母一个是邮件模板的变量替换。Agent读取错误信息后自动修复了这两个问题再次运行测试通过。阶段四代码评审我调用代码评审SkillAgent输出评审意见# 代码评审意见 ## src/server/routes/user.ts - 第45行旧密码验证使用了比较建议使用bcrypt.comparecritical - 第52行新密码强度校验在服务端和客户端重复实现建议抽取共享函数major - 第67行邮件发送失败只记录了日志建议增加重试机制minor ## src/app/settings/page.tsx - 第23行表单提交后没有禁用按钮用户可能重复提交major - 第34行错误提示没有做国际化处理minor我根据评审意见让Agent修复了critical和major问题minor问题记录到待办事项。阶段五提交与部署所有验证通过后Agent生成commit message我确认后提交。CI流水线自动运行全部通过后合并到主分支。这个任务从开始到完成实际耗时约40分钟其中我介入的时间约10分钟审查计划、回答问题、确认评审意见。如果没有AI Native工作流这个任务大概需要2-3小时。4.3 多Agent协作的编排实践单个Agent能处理的任务有限复杂任务需要多Agent协作。我常用的多Agent编排模式是“规划-执行-验证”三段式。规划Agent负责拆解任务、制定计划、分配子任务。它的输出是一份结构化的任务列表每个任务包含任务描述、负责的Agent、输入、预期输出、验收标准。执行Agent负责具体实现。每个执行Agent专注于一个子任务比如“实现API路由”、“实现前端组件”、“编写测试”。执行Agent之间不直接通信通过规划Agent协调。验证Agent负责检查执行结果。它读取执行Agent的输出对照验收标准检查输出通过或不通过的结论。不通过时验证Agent给出具体问题和修改建议规划Agent重新分配给执行Agent。# 任务分配示例 ## 任务1实现密码强度校验函数 - 负责Agent执行Agent-A - 输入需求描述、CLAUDE.md - 预期输出src/lib/validators.ts中的validatePasswordStrength函数 - 验收标准单元测试覆盖率100%边界情况全部处理 ## 任务2实现修改密码API - 负责Agent执行Agent-B - 输入任务1的输出、API规范 - 预期输出src/server/routes/user.ts中的路由 - 验收标准集成测试通过错误处理完整 ## 任务3验证所有输出 - 负责Agent验证Agent - 输入任务1和任务2的输出 - 预期输出验证报告 - 验收标准所有测试通过代码评审无critical问题这种编排模式的好处是职责清晰每个Agent只关注自己的任务。坏处是通信开销大规划Agent需要维护全局状态。我的经验是任务数量在5-10个时效果最好超过10个建议拆分成多个批次。注意多Agent协作时上下文传递是关键。执行Agent-B需要知道执行Agent-A的输出但不能把A的全部上下文都给B否则B的上下文窗口会爆。我的做法是只传递接口定义和关键代码片段不传递完整文件。5. 常见问题与排查技巧实录5.1 Agent“自信地犯错”怎么破这是最常见的问题。Agent会在没有验证的情况下声称任务完成或者在没有理解需求的情况下开始编码。我总结了几个应对方法方法一强制验证。在CLAUDE.md中明确规定“任何任务完成后必须运行相关测试并确认通过。测试不通过时禁止声称任务完成。”这条规则能过滤掉大部分“自信犯错”。方法二要求Agent输出证据。让Agent在声称完成时附上验证证据。比如“测试运行结果23 passed, 0 failed”、“lint检查无错误”。没有证据的完成声明一律不认。方法三Plan Mode前置。让Agent先出计划再执行人类在计划阶段就能发现理解偏差。这比执行完再返工要省时间。方法四小步快跑。把大任务拆成小任务每个小任务完成后立即验证。不要等所有任务都完成再验证那样错误会累积。5.2 上下文窗口不够用怎么办Agent的上下文窗口有限复杂任务很容易超出。我的应对策略是分层管理上下文项目级上下文放在CLAUDE.md中Agent每次启动自动读取。这部分要精简只放最核心的信息。任务级上下文放在任务描述中只包含当前任务相关的信息。比如修改密码任务只需要用户模型、认证中间件、邮件服务的相关信息不需要整个项目的架构文档。会话级上下文通过摘要压缩。当会话过长时让Agent总结之前的对话只保留关键决策和未解决问题。然后开启新会话把摘要作为初始上下文。# 会话摘要示例 ## 已完成 - 密码强度校验函数已实现并测试通过 - 修改密码API已实现集成测试通过 ## 进行中 - 前端表单组件开发中遇到表单验证库版本兼容问题 ## 待办 - 邮件通知模板 - E2E测试 ## 关键决策 - 错误处理使用自定义错误码已修改中间件 - 邮件发送失败只记录日志不阻塞密码修改5.3 Agent执行中断或报错怎么处理Agent执行中断的原因很多命令执行失败、上下文超限、网络问题、权限不足。我的排查顺序是第一步看错误信息。Agent通常会输出错误原因比如“command not found”、“permission denied”、“context length exceeded”。根据错误信息定位问题。第二步检查权限配置。如果是权限问题确认Agent是否有执行该命令的权限。没有的话要么开放权限要么换一种实现方式。第三步检查上下文长度。如果是上下文超限压缩上下文或者拆分会话。第四步重试。有时候是临时问题重试一次就好了。但重试前要确认Agent的状态避免重复执行已完成的操作。提示Agent执行中断后不要直接重新开始。先让Agent输出当前状态“已完成哪些操作、当前在做什么、下一步计划是什么。”根据状态决定是继续还是回滚。5.4 常见问题速查表问题现象可能原因排查方法解决方案Agent声称完成但测试失败未运行验证检查是否有测试运行记录在CLAUDE.md中强制要求验证Agent反复修改同一文件理解偏差或规范不清查看Agent的修改理由补充CLAUDE.md中的规范说明Agent执行命令被拒绝权限不足检查权限配置开放必要权限或换实现方式上下文超限会话过长查看token使用量压缩上下文或拆分会话Agent输出格式不对Skill定义不清检查Skill的输入输出定义完善Skill定义增加示例多Agent协作混乱职责不清检查任务分配明确每个Agent的职责和接口Agent修改了不该改的文件权限过大检查文件读写权限收紧权限只开放必要目录测试通过但功能不对测试覆盖不足检查测试用例补充边界情况和集成测试5.5 独家避坑技巧技巧一给Agent起名字。在多Agent协作时给每个Agent起个名字比如“前端Agent”、“后端Agent”、“测试Agent”比用“Agent-A”、“Agent-B”要清晰得多。Agent自己也会在输出中引用名字减少混淆。技巧二用注释给Agent留线索。在代码中写// TODO(agent): 这里需要处理空数组的情况Agent读到这个注释就会知道这里需要特殊处理。比在CLAUDE.md中写规则要精准。技巧三定期清理Agent的“记忆”。Agent的会话记录会越来越长影响性能。我习惯每天结束工作时让Agent总结当天的工作然后开启新会话。总结文件放在agent-logs/目录下按日期命名。技巧四用Agent生成Agent配置。让Agent根据项目情况生成CLAUDE.md和Skill配置人类再审查调整。这比从零写要快而且Agent更了解自己的需求。技巧五建立Agent错误库。每次Agent犯错都记录到agent-errors.md中包含错误现象、原因、解决方案。这个文件可以作为CLAUDE.md的补充也可以用来训练新Agent。# Agent错误库 ## 错误001使用any类型绕过类型检查 - 现象Agent在不确定类型时使用any - 原因CLAUDE.md中未明确禁止any - 解决方案在CLAUDE.md中添加“禁止使用any类型” - 日期2024-01-15 ## 错误002忘记处理空数组 - 现象Agent写的函数在输入空数组时崩溃 - 原因Agent默认假设输入非空 - 解决方案在CLAUDE.md中添加“所有数组操作必须处理空数组情况” - 日期2024-01-18这套错误库积累下来就是团队最宝贵的AI Native资产。新项目启动时直接把错误库复制过去Agent的犯错率会大幅降低。6. 团队角色与协作模式的重新定义AI Native团队不只是工具升级团队角色和协作模式也要跟着变。我观察到的变化主要有三个。第一个变化是“提示词工程师”角色的出现。传统团队没有这个角色但现在需要有人专门负责CLAUDE.md的维护、Skill的编写、Agent的调优。这个角色不一定是专职的但必须有明确的责任人。我通常让团队里对AI最熟悉的工程师兼任每周投入20%的时间。第二个变化是代码评审的重点转移。传统代码评审关注代码逻辑、边界情况、性能。AI Native团队的代码评审除了这些还要关注“Agent是否遵循了CLAUDE.md中的规范”、“是否有Agent特有的错误模式”。比如Agent倾向于用any类型、倾向于忽略空数组、倾向于在循环中查询数据库。这些模式要在评审中重点检查。第三个变化是测试策略的调整。Agent写的代码测试覆盖率通常很高但测试质量参差不齐。Agent会写很多“形式正确但实际无用”的测试比如测试一个函数返回了非null但不测试返回值是否正确。所以AI Native团队的测试策略要强调“测试的有效性”而不是“测试的数量”。协作模式上我推荐“人类定方向、Agent做执行、人类做验收”的模式。人类负责需求分析、方案设计、关键决策、最终验收。Agent负责编码、测试、文档、重复性工作。中间的交接点用Plan Mode和验证闭环来保证质量。这种模式下一个5人团队的实际产出能顶传统模式10-15人。但前提是团队每个人都理解AI Native的工作方式而不是只有一两个人会用。7. 从单点工具到研发范式的演进路径很多团队问我“我们想搞AI Native第一步该做什么”我的建议是分三个阶段走不要一步到位。第一阶段是工具普及。让团队每个人都用上AI编程工具熟悉基本的交互方式。这个阶段的目标是让每个人都能用AI辅助日常编码比如生成函数、写测试、解释代码。这个阶段通常需要2-4周。第二阶段是流程改造。引入CLAUDE.md、Plan Mode、验证闭环把AI从“辅助工具”变成“工作流的一部分”。这个阶段的目标是让AI参与到完整任务中而不是只做零散的工作。这个阶段通常需要1-2个月。第三阶段是范式转型。重新定义团队角色、协作模式、质量标准和交付流程。这个阶段的目标是让AI Native成为团队的工作方式而不是额外负担。这个阶段通常需要3-6个月。每个阶段都有明确的标志。第一阶段完成的标志是团队每个人都至少用AI完成过一个完整任务。第二阶段完成的标志是团队有一半以上的任务是通过AI Native工作流完成的。第三阶段完成的标志是新成员加入时默认就按AI Native方式工作不需要额外培训。我个人在实际操作中的体会是最难的不是技术而是习惯。工程师习惯了“自己写代码”对Agent写的代码总是不放心忍不住要逐行审查。这其实是用人的标准要求Agent效率反而低。正确的做法是建立验证机制让机制来保证质量人类只审查关键决策和验证结果。这个心态转变比学任何工具都重要。最后再分享一个小技巧每周花30分钟让Agent总结本周的工作包括完成了哪些任务、遇到了哪些问题、有哪些改进建议。这个总结比人类自己写的周报要客观得多而且能发现很多被忽视的模式。我坚持了三个月Agent总结出来的问题清单比团队自己发现的还要全面。
返回列表