ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI Native 团队从零搭建:CLAUDE.md、Plan Mode 与 Agent Skill 实战手册

AI Native 团队从零搭建:CLAUDE.md、Plan Mode 与 Agent Skill 实战手册 1. 从“人写代码”到“人管 Agent”AI Native 团队到底在变什么这两年我待过两个团队一个还在用传统方式排期、写设计文档、开评审会另一个已经把大半日常研发动作交给了 Agent 去跑。最直观的差别不是“写代码快了”而是整个软件开发生命周期SDLC的骨架被换掉了。以前 SDLC 是需求、设计、编码、测试、发布、运维这条线每个环节靠人去推现在这条线还在但每个环节里都插进了 Agent人从“执行者”变成了“编排者”和“验收者”。这就是AI Native 团队的核心含义不是给现有流程加一个 AI 助手而是默认“Agent 是团队的一等公民”从项目第一天起就按“人和 Agent 协作”来设计流程、目录结构、文档规范和权限边界。热搜里反复出现的CLAUDE.md、Plan Mode、Agent Skill、Agent 框架与编排其实都是这套范式落地时的具体抓手。我写这份手册的出发点很实际网上讲 Agent 概念的文章一抓一大把但真正告诉你“一个 AI Native 团队从零到一该怎么搭、目录怎么放、CLAUDE.md 写什么、Plan Mode 什么时候用、Agent 怎么扛并发、安全怎么兜底”的内容少得可怜。所以下面这些内容是我自己踩过坑、返过工、被 Agent 半夜改崩过仓库之后总结出来的东西适合三类人看想转型 AI Native 的研发负责人、正在搭 Agent 应用的工程师、以及想搞清楚“Agent 到底怎么进生产”的技术管理者。哪怕你只会写业务代码看完也能照着搭出一套能跑的最小闭环。2. AI Native SDLC 的整体设计与思路拆解2.1 为什么传统 SDLC 直接套 Agent 会翻车很多人第一反应是“我在 CI 里加个 Agent 自动改 bug 不就行了”。我试过两周就放弃了。原因很简单传统 SDLC 的每个环节都是为“人”设计的文档给人看、分支给人管、评审给人做而 Agent 的输入输出特性和人完全不同。举个最典型的例子。人写代码前会看需求文档、看历史提交、看相关模块这些动作是隐性的、按需的。但 Agent 不会“自己去找”它只能吃你喂给它的上下文。如果你还按传统方式把需求散落在 Jira、飞书、Confluence 三个地方Agent 每次都要重新“猜”上下文结果就是它改出来的代码看着对、跑起来错。所以 AI Native SDLC 的第一个设计原则是上下文必须显式化、结构化、可被 Agent 直接消费。这就是CLAUDE.md这类文件存在的意义——它不是给人看的 README而是给 Agent 看的“项目宪法”。2.2 三层架构编排层、执行层、约束层我把 AI Native 团队的落地拆成三层这个分层是我反复调整后觉得最稳的编排层决定“谁在什么时候做什么”。对应的是 Plan Mode、任务队列、多 Agent 协作。这一层解决的是“Agent 怎么扛并发”和“任务怎么拆”的问题。执行层真正干活的 Agent比如写代码的、跑测试的、改文档的、做代码审查的。对应的是 Agent Skill、Agent 框架。约束层保证 Agent 不闯祸。对应的是权限控制、沙盒、CLAUDE.md 里的硬规则、以及人工验收卡点。这三层缺一不可。我见过只搭执行层、没有约束层的团队Agent 半夜把生产配置改了第二天全员救火。也见过只有约束层、没有编排层的Agent 一次只能干一件事效率还不如人。2.3 为什么选“文件即协议”而不是“平台即协议”市面上有很多 Agent 平台可视化编排、拖拽流程看起来很爽。但我在实际项目里更倾向“文件即协议”的路线用CLAUDE.md、AGENTS.md、skills/目录、plan/目录这些纯文本文件来定义 Agent 的行为和边界。理由有三个。第一可版本化。文件能进 GitAgent 的行为变更可以 review、可以回滚平台配置做不到这么细。第二可迁移。今天用 A 框架明天换 B 框架文件还在迁移成本低。第三人和 Agent 读的是同一份东西。新人入职看 CLAUDE.md 就懂项目规矩Agent 读同一份文件也懂不用维护两套文档。提示不要一上来就追求“全自动”。AI Native 的成熟度是分级的从“Agent 辅助”到“Agent 主导”中间有好几档跳级容易出事。3. 核心细节解析CLAUDE.md、Plan Mode 与 Agent Skill3.1 CLAUDE.md 到底该写什么不该写什么CLAUDE.md是 Agent 进入项目后读的第一份文件相当于给新员工的入职手册。但很多人把它写成了 README 的复制粘贴这是错的。README 面向人讲“这个项目是什么”CLAUDE.md 面向 Agent讲“你在这个项目里该怎么干活”。我自己的 CLAUDE.md 一般包含这几块项目结构与关键路径哪些目录是核心、哪些是生成物不要动、入口文件在哪。编码规范与硬约束用什么语言版本、什么格式化工具、禁止引入哪些依赖。常用命令构建、测试、lint、启动本地环境的命令Agent 需要直接调用。工作流规则改代码前必须先跑测试、提交信息格式、分支命名规则。禁区清单哪些文件绝对不能改、哪些操作必须人工确认。这里有个经验CLAUDE.md 要短而硬不要长而软。我见过有人写了三千字Agent 读到后面注意力就散了。控制在 200 行以内每条规则都是可执行的、可验证的比写一堆“请尽量保持代码优雅”有用得多。3.2 Plan Mode让 Agent 先想清楚再动手Plan Mode是我认为 AI Native 团队最该养成的习惯。它的逻辑很简单Agent 接到任务后先不写代码而是输出一份执行计划——要改哪些文件、按什么顺序、每步验证方式是什么。人确认计划后Agent 才开始执行。为什么这一步不能省因为 Agent 最大的问题不是“不会写”而是“写得太快、错得太自信”。直接让它改代码它可能一口气改十个文件其中三个改错了你还得逐个排查。而 Plan Mode 把“想”和“做”拆开人在“想”的阶段就能拦下大部分方向性错误。我实测下来Plan Mode 能让返工率下降一大截。具体操作上我会在 CLAUDE.md 里写死一条规则任何涉及超过 3 个文件的任务必须先出计划。这条规则简单、可判断Agent 执行起来不会含糊。3.3 Agent Skill把重复动作沉淀成可复用能力Agent Skill这个概念最近很火但很多人理解偏了以为是要写多复杂的插件。其实 Skill 的本质就是把一段稳定的操作流程封装成 Agent 能直接调用的能力。比如“把网页保存成 Markdown”这个动作如果每次都让 Agent 现想它每次的实现方式可能都不一样。但如果你把它做成一个 Skill定义好输入URL、输出Markdown 文件路径、边界只处理公开页面、不处理需要登录的Agent 每次调用都稳定。我自己的项目里Skill 目录大概长这样skills/ save-webpage-to-markdown/ SKILL.md # 技能说明、输入输出、边界 script.py # 实际执行逻辑 run-tests/ SKILL.md script.sh review-diff/ SKILL.md prompt.md # 审查用的提示词模板关键在SKILL.md它要写清楚三件事什么时候用这个 Skill、输入是什么、输出是什么、失败了怎么办。这四件事写清楚Agent 调用起来就不会乱。3.4 多 Agent 协作别急着上先跑通单 Agent热搜里多agent、agent框架与编排出现频率很高但我得泼盆冷水大部分团队连单 Agent 都没跑稳就急着上多 Agent纯属给自己找麻烦。多 Agent 的价值在于“并行处理独立任务”和“不同角色互相校验”。比如一个 Agent 写代码、一个 Agent 做审查、一个 Agent 跑测试三者并行。但前提是任务边界清晰、通信协议明确。如果任务本身耦合严重多 Agent 只会互相打架。我的建议是先用单 Agent 把“读上下文、出计划、执行、验证”这条闭环跑通跑稳两周再考虑拆多 Agent。拆的时候优先拆“审查”和“测试”这两个角色因为它们天然独立不容易冲突。4. 实操过程从零搭一个 AI Native 最小闭环4.1 第一步初始化项目骨架假设你有一个中等规模的 Web 项目想把它改造成 AI Native 工作流。第一步不是装工具而是整理目录和文档。我会先建这几个东西project/ CLAUDE.md # Agent 项目宪法 AGENTS.md # 多 Agent 角色定义可选 skills/ # 可复用技能 plans/ # Plan Mode 产出的计划存档 .agent/ config.yaml # Agent 运行配置 permissions.yaml # 权限边界plans/这个目录很多人会忽略但它很重要。每次 Plan Mode 产出的计划都存进去一是方便回溯“当时为什么这么改”二是 Agent 下次遇到类似任务可以参考历史计划减少重复思考。4.2 第二步写第一版 CLAUDE.md第一版不用追求完美先把最硬的规则写进去。我通常从这几条开始# 项目约定 ## 结构 - src/ 是源码dist/ 是构建产物不要手动改 dist/ - 入口文件是 src/main.ts ## 命令 - 安装依赖pnpm install - 跑测试pnpm test - 本地启动pnpm dev ## 硬规则 - 改代码前必须先跑 pnpm test确认基线是绿的 - 涉及超过 3 个文件的任务先出计划再执行 - 禁止修改 .env、ci/、deploy/ 下的任何文件 - 提交信息格式type(scope): description ## 禁区 - 不要引入新的运行时依赖除非明确说明理由 - 不要改数据库 schema除非任务明确要求这份文件大概 30 行但覆盖了 Agent 最容易出错的几个点。实测下来光这几条就能挡掉大部分低级错误。4.3 第三步跑通一次 Plan Mode 闭环拿一个真实的小任务来试比如“给用户列表加一个按注册时间排序的功能”。操作流程是给 Agent 下指令“给用户列表加按注册时间排序先出计划。”Agent 输出计划改哪个组件、加什么参数、怎么测试。你 review 计划指出问题比如“排序应该在后端做不要在前端做”。Agent 按修正后的计划执行。执行完跑测试你验收。这一轮走下来你会对 Agent 的能力边界有个直观感受。我第一轮跑的时候Agent 把排序逻辑写在了前端我拦下来了第二轮它又忘了加空值处理我又拦下来了。到第三轮基本就顺了。这个过程不能省它是你建立对 Agent 信任的唯一方式。4.4 第四步沉淀第一个 Skill跑通几次任务后你会发现有些动作反复出现。比如“跑测试并解析失败原因”这个动作每次都要 Agent 现想怎么解析输出。这时候就该把它做成 Skill。skills/run-tests/SKILL.md大概这样写# run-tests ## 何时使用 需要验证代码改动是否破坏现有功能时。 ## 输入 无自动读取项目根目录的测试配置 ## 输出 - 通过返回 PASS 和测试数量 - 失败返回失败用例列表、错误信息、相关文件路径 ## 失败处理 如果测试环境本身起不来非用例失败报告环境错误不要尝试修复测试代码。这个 Skill 写好后Agent 每次跑测试都走同一套逻辑输出格式统一你解析起来也方便。4.5 第五步加权限边界和沙盒到这一步Agent 已经能干活了但还没上“保险”。权限边界我一般分三档操作类型权限级别说明读文件、跑测试自动允许无副作用改源码、加依赖需计划确认有副作用但可回滚改配置、动部署、删文件必须人工确认高风险不可逆.agent/permissions.yaml里把这三档写死Agent 执行到高风险操作时会停下来等人确认。这一步是保命的千万别省。注意沙盒环境要和生产环境完全隔离。我见过 Agent 在沙盒里跑得好好的一接生产就出事就是因为沙盒里没有真实的权限约束。5. 常见问题与排查技巧实录5.1 Agent 改崩了仓库怎么办这是最常见的问题。我的处理流程是固定的先停 Agent不要再让它继续操作。看 git status确认哪些文件被改了。能回滚就回滚git checkout或git reset到干净状态。分析原因是 CLAUDE.md 规则没写清楚还是任务描述有歧义还是 Agent 越过了权限边界。补规则把这次的问题变成 CLAUDE.md 里的一条硬规则。我踩过最惨的一次是 Agent 把.env文件里的配置改了导致本地环境起不来。后来我在 CLAUDE.md 里加了“禁止修改 .env”这条再没出过。每一次翻车都应该变成一条规则这是 AI Native 团队进化的方式。5.2 Agent 输出不稳定、每次结果不一样这个问题通常有三个原因。第一上下文给得不够Agent 在猜。解决办法是把相关文件、历史提交、需求文档都显式喂给它。第二任务描述太模糊比如“优化一下性能”Agent 不知道优化哪里。解决办法是把任务拆成可验证的小步骤。第三温度参数太高Agent 随机性太强。解决办法是在配置里把温度调低涉及代码生成的任务建议调到 0.2 以下。5.3 Agent 扛不住并发怎么办热搜里ai agent 怎么扛并发这个问题很实际。我的经验是并发问题不要靠单个 Agent 硬扛要靠编排层解决。具体做法是把任务拆成独立单元每个单元交给一个 Agent 实例实例之间通过文件或消息队列通信不共享内存。这样单个 Agent 挂了不影响其他。同时给每个 Agent 设超时超时就回收避免卡死。如果任务本身有依赖关系就用 DAG有向无环图来编排上游完成才触发下游。这块用现成的编排框架比自己写靠谱但框架选型要看团队技术栈别为了用框架而用框架。5.4 常见问题速查表现象可能原因排查方向Agent 不读 CLAUDE.md文件路径不对或格式有问题确认文件在项目根目录格式是标准 MarkdownAgent 反复改同一个文件任务描述有歧义或缺少验收标准补充明确的输入输出和验收条件Agent 跳过测试直接提交CLAUDE.md 没写硬规则加“提交前必须跑测试”的硬约束多 Agent 互相覆盖改动任务边界重叠重新划分任务确保每个文件只有一个 Agent 负责Agent 执行到一半卡住缺少超时机制或遇到需确认的操作加超时配置检查权限边界是否卡住了5.5 几个我踩过的坑第一个坑是过早追求全自动。我一开始想让 Agent 从需求到发布全包结果每个环节都出问题最后返工比手动还慢。后来改成“Agent 做 80%人做 20% 的关键卡点”效率反而上来了。第二个坑是CLAUDE.md 写太长。我写过一版 500 行的Agent 读到后面就开始忽略前面的规则。后来砍到 80 行只留最硬的规则执行准确率明显提升。第三个坑是没有计划存档。早期 Plan Mode 产出的计划我都没存后来想回溯“当时为什么这么改”完全找不到记录。现在plans/目录是强制存档的每个计划带时间戳和任务 ID。第四个坑是权限边界设太松。有次 Agent 自动改了 CI 配置导致流水线挂了半天。后来我把 CI、部署、数据库相关的操作全部设为“必须人工确认”再没出过这类问题。6. 工具选型与团队落地节奏6.1 Agent 框架怎么选框架选型没有标准答案但有几个判断维度。看团队技术栈如果团队是 Python 为主选 Python 生态的框架如果是 JVM 为主可以看 Kotlin/Java 生态的方案。看是否需要多 Agent单 Agent 场景用轻量框架就够多 Agent 才需要上编排能力强的。看可迁移性优先选“文件即协议”的框架避免被平台锁死。我自己的原则是先用最轻的方案跑通遇到瓶颈再换。一上来就上重型框架学习成本和维护成本都很高容易劝退团队。6.2 团队落地节奏建议AI Native 转型不是一天完成的。我建议分四个阶段第一阶段1-2 周搭骨架写 CLAUDE.md跑通单 Agent 的 Plan Mode 闭环。第二阶段2-4 周沉淀 3-5 个核心 Skill把重复动作固化下来。第三阶段1-2 月加权限边界和沙盒把 Agent 接入日常研发流程。第四阶段持续根据实际使用情况逐步引入多 Agent 和更复杂的编排。每个阶段都要有明确的验收标准比如第一阶段的标准是“Agent 能独立完成一个 3 文件以内的改动并通过测试”。达不到就不进入下一阶段。6.3 给不同角色的建议如果你是研发负责人重点抓两件事CLAUDE.md 的质量和权限边界的设置。这两件事决定了 Agent 是帮手还是隐患。如果你是一线工程师重点练 Plan Mode 的使用习惯。学会写清晰的任务描述、学会 review Agent 的计划这两项能力比会写 prompt 更重要。如果你是技术管理者重点想清楚“哪些环节可以交给 Agent、哪些必须人把关”。我的经验是涉及不可逆操作的环节人必须把关涉及重复劳动的环节尽量交给 Agent。这套东西我前后调了大半年从最开始 Agent 天天翻车到现在团队日常研发有相当一部分动作由 Agent 完成中间踩的坑基本都写在上面的内容里了。最后分享一个我一直在用的小技巧每周花十分钟回顾一下这周 Agent 出的问题把每个问题变成 CLAUDE.md 里的一条规则。坚持一个月你会发现 Agent 的靠谱程度有明显提升因为它在跟着你的项目一起“长大”。
返回列表