ARTICLE DETAIL

资讯详情

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

AI Agent实战:一个人三周交付企业级项目的复盘

AI Agent实战:一个人三周交付企业级项目的复盘 接到这个活儿的时候我第一反应是“这怕不是个坑”。一个中型企业的供应链采购管理系统4人团队排期2个月找到我头上却说只有3周时间因为甲方已经在走合同流程上线日期钉死了。我心里快速盘算了一下如果还是按传统套路一个人干4个人的活儿3周连核心模块都写不完更别说测试和部署。但当时我手里刚好在折腾AI Agent已经用它在几个小项目里写过自动化脚本和中台接口效果超出预期。我决定赌一把——用3个AI Agent把整个项目拆成流水线来打我当架构师、项目经理兼最核心的审查者Agent负责干那些重复、机械、费时间的编码活。结果确实赌赢了第21天交付甲方验收通过对比原本4人团队2个月的排期相当于我一个人打出了4人团队的效率还留出了打磨细节的余量。这篇东西不是什么“AI取代程序员”的宏大叙事而是我真实跑完一个企业级外包项目后的复盘。里面包括了怎么拆任务、3个Agent分别承担什么角色、Agent主流架构在实战中怎么落地、token成本怎么控制、哪些环节必须人肉盯防以及我踩过的那些坑。如果你也想用AI Agent接项目、做内部系统或者单纯好奇一个人怎么驾驭多个Agent干大活这篇应该对你有用。1. 项目背景与核心痛点4人2个月为什么慢1.1 先把需求看透这到底是个什么系统甲方是一家做建材贸易的公司要上一套供应链采购管理平台。核心模块有四个采购申请与审批流、供应商信息管理、库存预警、以及管理层看的数据报表。业务上有明确的角色划分——业务员发起采购申请部门经理审批采购员执行下单并维护供应商财务偶尔要导出对账数据老板要看整体采购金额和库存周转情况。这不是一个从零造轮子的项目大部分功能在市面上能找到对应的标准模块但甲方要求私有化部署数据要落在他们自己服务器上同时审批流要和钉钉打通这就意味着不能直接买个SaaS套件糊弄。用传统开发方式来做无非就是产品经理写PRD后端设计表结构、写接口前端做页面测试再回归一轮。4个人2个月听着合理但仔细拆一下会发现分配到每个模块上的有效工时并没有想象中那么多。1.2 传统团队为什么快不起来我见过太多外包项目的真实节奏产品经理跟甲方开三次会回来写30页PRD开发看完说有些逻辑不清楚又约会议确认前后耗掉一周后端把表结构设计好了前端还在等接口定义后端接口写完前端联调时发现缺字段又要补测试提了十几个Bug开发改完一轮测试再回归时间又走了几天。真正花在“写代码”上的时间往往只占30%剩下70%都消耗在沟通、等待、返工和会议同步上。更隐蔽的问题是知识断层写需求的不知道技术实现成本写代码的不知道业务重点测试的只能凭经验猜哪里容易出问题。4个人2个月不是夸大是这套协作模式的正常表现。1.3 我为什么敢接AI Agent不是自动补全是流程革命我当时的判断很直白这个项目虽然模块多但每个模块的边界都算清晰业务规则也没有特别刁钻的算法。这类“标准业务系统”恰恰是AI Agent最擅长处理的领域——它需要大量重复的CRUD代码、规范化的接口定义、表单页面而这些正是大模型训练数据里最多、最成熟的部分。我给自己定的方案是一个人承担传统团队里“产品后端前端测试”四类角色用AI Agent把80%的编码工作量消化掉把省下来的时间全部砸在需求确认、架构设计、代码审查和联调测试上。这套路和打游戏一样小兵让AI去清我专心打Boss。2. 3个Agent的角色分工与主流架构落地2.1 Agent 1需求分析与架构设计Agent第一个Agent我有意把它定位成“首席产品兼架构师”。它有单独的系统提示词——我把甲方的原始需求资料、会议纪要、零散补充说明全部喂给它让它输出四样东西功能清单、角色权限矩阵、数据库表结构设计、接口定义文档。很多人用AI写代码最大的失误是一上来就让它“给我写个采购系统”然后被一坨看似完整实则跑不起来的代码淹没。正确的做法是先让Agent做架构推导。我让Agent 1把整个系统拆成了二十多个用户故事每个故事对应一个接口和一张核心表输出格式固定成Markdown表格方便我逐条核对。Token消耗方面这个阶段反而是最大的因为要反复把业务文档塞进上下文。我做了个关键决策让Agent 1的输出沉淀成项目文档而不是对话记录。每次讨论完就让它把结论写进专门的文档文件后续Agent 2和Agent 3只读最终文档不读聊天历史。这样既控制了token成本也避免了上下文污染。2.2 Agent 2代码生成与实现Agent第二个Agent是纯粹的执行者负责把Agent 1定义好的需求变成真实可运行的代码。考虑到交付周期和部署便利性技术栈我选了Django SQLite后期切MySQL Bootstrap模板这套组合拳的优势是一套Python代码同时搞定后端接口和前端页面不需要单独起前端工程非常适合Agent来生成。Agent 2的工作方式是“接口级”的我不让它一次生成整个系统而是按模块拆成任务。比如“根据采购申请文档中的方案实现创建采购单接口和对应的表单页面包含审批状态字段”。每个任务有明确的输入输出、验收标准和参考文档路径。这里必须说一个重要原则AI Agent生成代码的质量极大程度上取决于你给它划的边界有多清晰。如果单个任务描述含糊它会自作主张引入一堆你没要求的依赖和页面。我后来形成的标准Prompt模板包含五个部分任务目标、输入数据格式、输出要求、禁止事项、验收标准。禁止事项特别管用比如“不得修改已有的models.py和settings.py”能挡住80%的乱改代码行为。2.3 Agent 3测试与审查Agent测试Agent是我自己加的传统团队里测试人员做的事它都能干而且干得更快。Agent 3负责读取每个模块的代码和接口文档生成三样东西单元测试用例、接口冒烟测试脚本、代码审查报告。UnitTest这块我直接用Django自带的TestCase框架Agent 3生成的测试用例覆盖正常流程、边界条件和权限校验。接口冒烟测试用的是httpx写的脚本模拟不同角色的登录状态去调接口检查HTTP状态码和关键字段。代码审查报告是最有价值的部分它像极了一个经验丰富的老开发在帮你Code Review。Agent 3会指出“这个接口没有处理事务回滚”“这个查询会导致N1问题”“密码重置接口缺少频率限制”。这些点我原来请同事Review时都不一定记得这么全。每个模块开发完先跑一遍Agent 3的审查报告改完再让它复审整体质量曲线是肉眼可见地往上走的。2.4 背后架构规划-执行-验证的Agent主流范式这一年AI Agent的主流架构已经从“单Agent对话”演进到“多Agent协作”的范式。我这次实践看起来是在用三个Agent但底层逻辑其实是经典的“规划-执行-验证”循环Agent 1做规划Agent 2做执行Agent 3做验证再加上我作为人类审查者做最终决策。每个Agent都有自己独立的上下文环境和任务边界它们不直接互相喊话而是通过“共享工作区”协作——Agent 1产出文档Agent 2读文档写代码Agent 3读代码和文档做测试。这种松耦合设计极大地降低了出错的概率。如果你让Agent之间直接对话很容易出现A告诉B一个错误信息B基于错误信息继续发挥最后错误被逐级放大。关于“AI Agent token是什么意思”这个问题我顺便在这里解释一下因为很多人第一次接触这个概念会懵。Token是模型处理文本的最小单位中文大约一个字对应1到2个token。你发给模型的所有指令、它读到的所有资料、它输出的所有内容都会折算成token来计费。所以控制token消耗本质上是控制你在每次请求里塞了多少内容、让模型输出了多少内容。我的经验是尽量用精简明确的指令大段参考资料尽量通过文件路径引用而不是全文粘贴进对话。3. 实操过程中的关键决策与踩坑实录3.1 为什么核心业务用Django却拿Rust写了两个小工具这个项目的主力语言是Python/Django但在两个环节我用了Rust写了辅助工具一个是供应商数据清洗脚本甲方给的Excel有三千多条记录存在大量重复项、格式不统一的手机号和空值我写了个Rust命令行工具做去重、校验、标准化几秒跑完另一个是库存预警的计算服务Django的定时任务负责生成每日快照但核心的库存周转率和缺货预测计算放到了Rust二进制里通过subprocess调用。有人可能会问都用Python不是更省事吗这里有个实际原因那段时间我正好在用Rust练手AI Agent相关的工具链而且这两个场景一个是IO密集型的数据清洗一个是CPU密集型的计算Rust写出来的程序在性能上确实有优势部署也很省心——编译出一个二进制文件扔服务器上就能跑不用管依赖版本冲突。Django负责业务编排和页面渲染Rust负责吃性能的脏活累活这种混合架构在真实企业项目里非常实用。3.2 Token消耗明细我到底烧了多少钱很多人在网上分享AI Agent经验多少有点刻意回避成本问题。我直接晒数据整个项目三周三个Agent加在一起消耗的token总量大约在850万左右总费用折合人民币约1200元。看到这个数字你可能觉得不高但我要说清楚钱花哪了。大头不在代码生成而在Agent 1的需求分析阶段和后期Agent 3的代码审查。需求分析阶段要反复把业务文档塞进去让模型理解上下文消耗很大代码审查阶段每次把几百上千行的代码文件喂给Agent 3token消耗同样可观。反倒是Agent 2写代码时因为任务拆得小、输入输出都控制得短实际花销反而平稳。控制token有几个实操技巧第一让Agent输出到文件而不是直接显示在对话里避免浪费在重复展示上第二每次对话结束前让Agent总结要点新的任务基于总结展开而不是基于完整历史第三公用信息比如系统提示词、项目规范放在每个Agent的环境配置里不混入业务对话。3.3 Prompt工程把Agent调教成你想要的样子这里说的Prompt不是简单几句话而是一整套“岗位说明书”。我给每个Agent都写了系统提示词里面包含角色定位、工作流程、输出格式、常用工具说明、必须遵守的约束条件。举个例子Agent 2的系统提示词里我会写“你是一名资深Django后端工程师负责根据需求文档实现功能。在开始编码之前必须先查看docs目录下的数据库设计文档。如果需求中有不明确之处不允许猜测必须列出问题清单交给用户确认。禁止引入需求文档之外的第三方依赖。每次代码提交必须有对应的测试用例。”这些规则看着简单却能有效提高输出的稳定性和可预测性。还有一个很关键的经验当Agent输出的代码反复出错时不要急着改代码先检查是不是Prompt里少了约束条件。我遇到过Agent连续两次生成了带时区问题的日期代码后来在提示词里加上“所有时间字段必须使用UTC存储、展示时转本地时间”问题立刻消失。3.4 哪些红线必须人工把关AI Agent再强目前也没到可以全权托管的地步。我给自己定了一条铁律涉及数据安全、事务一致性、资金相关逻辑的代码必须人工逐行审查。采购审批流涉及金额库存预警涉及上下限阈值供应商信息涉及联系方式等敏感数据这几个模块我不允许Agent直接改代码都是生成初稿后我自己改。事实上到最后验收评审时甲方技术负责人翻了一个多小时的代码问了几个问题审批状态的流转逻辑有几层校验库存扣减是不是在事务里供应商数据脱敏怎么做的这几个问题我都能对答如流因为都是我亲手敲过和审查过的代码。这也给了我一个深刻体会AI Agent能帮你省掉大量体力劳动但那些决定系统生死和客户信任的核心逻辑仍然需要你亲自下场。4. 常见问题与排查技巧实录4.1 最常踩的坑Agent“幻觉”出无中生有的功能AI Agent在生成代码时最大的问题是“一本正经地胡编”。它可能会引用一个并不存在的配置项或者调用一个你以为它写好了、实际上根本没生成的函数。最夸张的一次Agent 2为了让我不用手动创建数据表硬生生编了一个auto_migrate()函数说是“Django内置工具调用即可自动同步数据库结构”但实际上Django根本没有这个函数。我的排查方法是三层验证第一层所有Agent生成的代码必须先在本地跑通冒烟测试脚本才能提交第二层关键配置项比如数据库连接、中间件、URL路由人工检查一遍不依赖Agent的自述第三层让Agent 3做交叉审查时明确要求它“引用具体文件和行号不允许泛泛而谈”。这种制度化的检查比“你仔细点”这种提示有效得多。4.2 上下文越用越乱Agent开始“失忆”使用过程中最让人上头的时刻是Agent 2写到第二周时开始“失忆”——明明之前让它实现的用户权限校验装饰器它在新的模块里完全没调用而是自己另写了一套逻辑。后来我想明白了这是上下文窗口的锅单个任务对话里塞了太多内容早期的指令和信息被挤出了有效范围模型只“记得”最近几轮的内容。解决方案倒不复杂把长期需要遵守的规范写进文件和系统提示词而不是靠对话历史维系。同时每完成一个模块我就开一个新的会话把该模块的设计文档和已完成的核心代码结构喂进去旧会话及时归档。这样每个会话都是一个相对独立的小任务上下文干净Agent不容易跑偏。4.3 部署与联调最后一个环节最不能翻车很多人的AI Agent实践止步于本地跑通但企业项目讲究的是“别人能用”。部署阶段我用的是Docker Compose编排一个容器跑Django应用一个容器跑Nginx做反向代理一个容器跑MySQL早期开发用SQLite部署切MySQLRust工具链编译出的二进制文件直接挂载进Django容器里。因为Agent生成的代码是在开发环境验证的部署到新环境时最容易出问题是静态文件路径、数据库连接配置、跨域设置这些环境相关的细节。我提前写了一个环境变量模板文件把所有可变的配置项抽离出来Agent生成的代码一律通过读取环境变量取值不允许写死。最后联调阶段我是真的一点点跟着报错日志走过来的但好在整体推进顺利两天内部署完成并跑通了全流程。4.4 给企业做AI项目验收时永远要留一手外包项目的验收有它自己的玩法。功能演示和代码交付只是表面工作甲方真正关心的是三件事能不能稳定运行、出了问题能不能查、你走了以后他们的人能不能接手。所以我在交付物里加了三样东西一个完整的数据字典文档把每张表每个字段的含义和维护建议都写明白一份部署运维手册写清楚服务怎么启动、日志在哪里看、数据库怎么备份一个健康检查接口可以监控系统状态。这些东西不全是我写的Agent 1根据业务文档自动生成了很大一部分初稿我做了修正和补充。最终甲方技术负责人表示很满意验收一次通过。5. 3周交付后的真实复盘AI Agent到底改变了什么5.1 工时账和成本账别只看表面数字整个项目我实际投入的工时是三周21天每天平均工作在10到12个小时加起来差不多230个小时。而按传统排期4人团队2个月粗算人力成本是4人乘以40天乘以8小时等于1280个小时。效率提升大概是5到6倍但这是把AI Agent本身的能力和我自己的工作强度都算进去的结果。成本侧更有意思我实际开销大头不是AI的token费而是时间机会成本。1200元的token费用对比一个传统4人团队两个月的工资开销差了至少一个数量级。但你也要看到这三周里我几乎每天都是满负荷运转精力消耗不比传统方式低。AI Agent让我节省的不是思考时间而是执行时间——写CRUD、调样式、写测试用例这些体力活确实被大量压缩了。5.2 哪些环节收益最大哪些别硬上复盘下来收益最大的三个环节我们再说一遍一是表结构和接口定义的生成从需求文档到能直接用的DDL和接口签名AI几乎可以做到80分的水平二是样板代码的批量生产像列表页、表单页、增删改查接口AI生成的代码基本不用改三是测试用例生成覆盖面比我手工写还全。收益没那么大的环节是涉及复杂业务规则的算法逻辑、需要多方实时交互的审批流程、以及不到最后一刻你猜不到甲方在想什么的需求变更。这些场景里AI可以给出建议但最终决策和兜底还得是人。我的经验是需求越明确、边界越清晰、可参考样本越多的任务越适合交给Agent需求越模糊、变更越频繁、涉及多方利益的逻辑越要自己扛。5.3 给想尝试AI Agent做项目的人几条真话第一条真话AI Agent不能帮你从0到1凭空搭出一个系统但在你已经有清晰的架构和边界时它是效率放大器。所以前期架构设计再着急也不能省。第二条真话不要一开始就追求“全自动闭环”那是博人眼球的玩法。真实项目里90%的价值来自“人做关键决策、Agent干体力活”的半自动模式。你要做的是把任务拆到Agent能一次做对的程度这个能力比会写Prompt更重要。第三条真话把这套玩法当能力去积累不要当捷径去依赖。三周交付看起来很爽但实际上我对这个项目的业务逻辑、数据表结构、代码布局都了如指掌因为我每天都泡在文档和代码里做审查。AI省掉的是敲键盘的时间而不是你理解系统的时间。谁要是觉得雇几个Agent就能当甩手掌柜后面等着他的必然是交付现场的一地鸡毛。第四条真话也是我这次实操下来最想分享的一点把AI Agent融入项目交付流程后你的角色会从“写代码的人”变成“定规则和把质量的人”。第一周你会很不适应因为你的时间突然花在了写Prompt、审代码、看测试报告上但到第二周第三周你会发现这种工作方式的可怕之处在于——同样的工作量传统方式下你已经在冲刺加班的边缘了而这里你还有余力去优化界面细节、补充异常处理、和甲方多聊两句他们还没说出口的真实需求。这种从容感是我三周干完4人团队的活儿之后最真实的体会。
返回列表