1. 一个月从零到四个项目我为什么选择用AI编程而不是先啃语法去年年底我做了一个决定不按常规路线先花三个月啃Python语法而是直接用AI编程工具上手做项目。当时身边不少朋友觉得这是跳级基础不牢迟早要还债。但一个月后我交付了四个能跑起来的小项目并且把过程中反复踩到的坑整理成了一套agent项目纪律系统。这篇文章就是把这段经历完整拆开讲清楚我每一步为什么这么选、具体怎么操作、哪些地方差点翻车。先说清楚适合谁看。如果你是完全零基础、想用AI编程快速做出东西的人这篇能帮你少走至少两周弯路如果你已经会用AI写代码、但项目一多就乱成一团的人中间关于项目纪律的部分对你价值最大如果你在评估要不要学agent开发我也会讲清楚agent和普通AI编程工具的区别到底在哪。核心关键词先摆出来AI编程、agent、项目纪律系统。这三个词贯穿全文。AI编程是我的生产工具agent是我从用工具升级到搭系统的关键跳板项目纪律系统则是我踩坑之后逼出来的解决方案。我一开始的认知很朴素AI编程就是让AI帮我写代码。用下来才发现这个理解只对了三成。真正的难点不在让AI写出代码而在让AI写出的代码在项目变复杂之后还能维护。第一个项目我用了三天做完第二个项目开始出现文件混乱第三个项目直接因为上下文丢失导致AI反复改错地方第四个项目我被迫停下来先搭纪律系统。这个递进过程本身就是最好的教材所以我按项目推进的顺序来讲而不是按知识点罗列。2. 第一个项目用AI编程跑通最小闭环别急着上框架2.1 选一个丑但能跑的题目第一个项目我选的是本地文件批量重命名工具。为什么选它因为它满足三个条件需求边界清晰、不需要联网、结果可立即验证。零基础的人最怕的是不知道自己做对没有而这个工具跑完就能看到文件名变了没有反馈是即时的。我没有一上来就装一堆框架。AI编程工具我用的是对话式的那种你把需求描述清楚它给代码最大的优势是能帮你跳过环境配置的坑但前提是你别自己给自己加难度。第一个项目我只用了一个标准库连第三方依赖都没装。这样做的理由是依赖越少出错时排查范围越小。零基础阶段排查能力几乎为零所以要把变量控制到最少。具体操作上我的提示词是这样组织的先说清楚输入是什么一个文件夹路径再说清楚输出是什么按规则重命名后的文件最后给一个具体例子比如把IMG_001.jpg改成2024旅行_001.jpg。这里有个细节很多人忽略给AI一个具体例子比给一段抽象描述有效得多。抽象描述AI会自由发挥具体例子能把它的输出锁死在你想要的范围内。2.2 第一次踩坑AI给的代码看起来对但跑不通第一个项目我就踩了坑。AI给的代码逻辑没问题但运行时报错说找不到某个模块。我当时的反应是AI骗我后来才明白是我自己的环境里没装那个模块。这件事教会我第一条纪律AI不知道你的运行环境你必须主动告诉它。从那以后我养成了一个习惯每次让AI写代码前先发一段环境说明操作系统是什么、Python版本是多少、已经装了哪些库。这段说明我存成了一个模板每次复制粘贴。别小看这个动作它把代码跑不通的概率降低了一大半。还有一个坑是路径问题。Windows和类Unix系统的路径分隔符不一样AI默认可能给你一种你环境是另一种。我的处理办法是让AI统一用能自动适配的路径处理方式而不是手写分隔符。这个细节在第一个项目里花了我半小时但后面三个项目再没犯过。2.3 第一个项目的收获验证AI编程可行这件事本身第一个项目做完我最大的收获不是学会了重命名而是确认了一件事零基础用AI编程做出能用的东西是可行的。这个心理确认非常重要因为它决定了你后面敢不敢继续投入。但我也清醒地看到问题第一个项目只有单个文件所有逻辑堆在一起AI能记住全部上下文。一旦项目变大这种全部塞进一个对话的模式必然崩溃。所以第二个项目我刻意增加了复杂度目的就是逼出问题看看AI编程的边界在哪。3. 第二到第四个项目复杂度上来之后AI编程开始失忆3.1 第二个项目多文件结构暴露了上下文管理问题第二个项目是一个简单的数据统计脚本需要读表格、算几个指标、输出结果。我把它拆成了三个文件读取、计算、输出。拆分的理由是模拟真实项目的结构为后面做准备。问题立刻出现了。当我把三个文件分别发给AI时它开始忘记其他文件里定义了什么。比如计算文件里调用了一个读取文件里的函数但AI在改计算文件时不知道那个函数的参数长什么样于是瞎猜改完就报错。这就是上下文丢失是AI编程在项目变大后的头号杀手。我当时的应对很笨每次让AI改一个文件就把其他相关文件的内容也贴给它。这招有效但极其低效而且对话越来越长AI的响应质量明显下降。后来我才知道这个问题在agent开发里有个专门的说法叫上下文窗口管理是核心难题之一。3.2 第三个项目AI反复改错地方我差点放弃第三个项目是一个带界面的小工具。界面代码和逻辑代码混在一起文件数量到了六七个。这时候AI开始出现一种让我崩溃的行为我让它改A功能它顺手把B功能也改了而且改坏了。我复盘了很久才找到原因。AI在生成代码时会基于它看到的上下文做合理推断。当上下文不完整时它的推断就会跑偏。更麻烦的是它改坏的地方往往不在你指定的位置你如果不仔细看diff根本发现不了。这个项目让我意识到光靠对话式AI编程项目规模是有天花板的。天花板不在AI的能力而在你管理上下文的能力。你必须有一套机制让AI每次只看到它该看的部分并且改完之后你能快速验证它没乱动别的地方。3.3 第四个项目被迫停下来先搭纪律系统第四个项目的需求本身不难但我做到一半就停了。因为我发现如果继续用老办法我会陷入改一个bug引入两个新bug的循环。于是我花了两天时间把前三个项目踩的坑整理成一套规则这就是后来的agent项目纪律系统的雏形。这套系统的核心思路是把人管AI变成系统管AI。具体来说就是定义清楚每个文件负责什么、文件之间怎么交互、AI改代码前必须遵守哪些约束、改完之后必须通过哪些检查。这些规则写下来之后我发现它们不仅能约束AI也能约束我自己因为我自己在项目变复杂后也会犯同样的错。4. agent项目纪律系统到底包含什么四条硬规则4.1 规则一文件职责单一接口先定死第一条规则是每个文件只干一件事并且文件之间的接口也就是函数名、参数、返回值必须先定下来写在一个单独的说明文件里。AI每次改代码前先读这个说明文件确保它知道边界在哪。为什么这条重要因为AI改错地方的根本原因是它不知道这个文件不该管那件事。你把职责写清楚它就有了约束。我实测下来加了这条规则之后AI顺手改坏别处的概率下降了大概七成。接口先定死还有个好处你可以让AI分别实现每个文件最后拼起来。因为接口一致拼装时不会出现参数对不上的问题。这其实就是软件工程里面向接口编程的思路只不过我是被AI逼着学会的。4.2 规则二每次改动前先读档改动后必存档第二条规则借鉴了游戏存档的思路。每次让AI改代码前先把当前能跑的版本备份一份我用的是版本管理工具零基础的话直接复制文件夹也行。改完之后如果跑不通直接回退到备份而不是让AI在坏掉的版本上继续修。这条规则救了我无数次。AI修bug有个坏习惯它会在错误的方向上越走越远改到第五轮的时候代码已经面目全非还不如第一版。有了存档机制我最多让AI改两轮不行就回退重来重新组织提示词。这里有个实操细节备份的命名要带时间和改动内容比如备份_20240115_修复读取bug。不然备份多了你自己都分不清哪个是哪个。这个习惯看起来笨但在你连续改三天之后你会感谢自己。4.3 规则三提示词模板化环境说明固定前置第三条规则是把提示词模板化。我总结了四类常用提示词模板新建功能、修改功能、修复bug、重构。每类模板都有固定结构比如修复bug的模板是环境说明 相关文件内容 报错信息 期望行为 约束条件不许改哪些地方。模板化的价值在于减少遗漏。人一着急就容易忘东西忘了给报错信息AI就只能猜忘了给约束条件AI就自由发挥。模板把这些必填项固定下来你每次填空就行。环境说明固定前置这一点前面提过这里再强调一次它是成本最低、收益最高的一条纪律。写一次模板后面每次省几分钟一个月下来省的时间很可观更重要的是省掉了大量代码跑不通的挫败感。4.4 规则四每个项目结束做一次复盘归档第四条规则是每个项目做完后花半小时做复盘归档。归档内容包括这个项目用了哪些提示词模板、踩了哪些坑、坑的原因是什么、下次怎么避免。这些归档汇总起来就是你的个人知识库。我四个项目做完归档文档攒了十几页。后来做新项目时遇到类似问题直接翻归档不用重新踩一遍。这件事的复利效应非常明显也是我从用AI编程升级到有一套自己的AI编程方法的关键。5. agent和普通AI编程工具的区别我踩过才明白5.1 普通AI编程工具是你问它答agent是你定目标它执行很多人把agent和AI编程工具混为一谈我一开始也是。用下来才明白区别普通AI编程工具是你问一句它答一句主动权在你手里它不会主动做任何事。agent是你给它一个目标它会自己拆解步骤、调用工具、执行、检查结果中间不需要你一步步指挥。这个区别决定了使用方式完全不同。用普通工具时你的核心能力是把需求描述清楚用agent时你的核心能力是把目标和约束定义清楚因为中间过程你不再完全掌控。这也是为什么agent项目纪律系统更重要因为agent自主性越强跑偏的代价越大。5.2 agent的记忆和技能为什么它比对话式工具更适合做项目agent有两个关键能力是对话式工具没有的记忆和技能。记忆让它能记住项目的历史决策不用你每次重复技能让它能把常用操作封装起来重复调用。这两个能力正好解决了我前面踩的坑。上下文丢失问题agent的记忆能缓解重复操作问题agent的技能能解决。但前提是你得把纪律系统建好否则agent的记忆会记住错误的东西技能会封装错误的操作问题反而被放大。5.3 多agent协作听起来很美但零基础别急着上热词里多agent协作出现频率很高我也试过。结论是零基础阶段别碰。多agent协作的前提是每个agent的职责边界极其清晰否则它们会互相干扰排查问题的难度成倍上升。我建议先把单agent用熟把纪律系统跑通再考虑多agent。6. 给零基础的人AI编程学习路线和避坑清单6.1 学习路线先做后学但要有节奏我的路线是第一个月纯做项目不系统学语法第二个月开始补基础重点补那些AI反复用到但我看不懂的部分第三个月开始学agent开发把纪律系统升级成真正的agent系统。这个节奏的关键是先做后学但不能一直不学。做项目让你有动力补基础让你有能力看懂AI在干什么两者缺一不可。纯做不学你会一直停留在能跑就行的水平纯学不做你会失去方向。6.2 避坑清单这五件事我踩过你别踩第一别在第一个项目就上框架和第三方依赖变量太多你排查不过来。第二别把所有代码塞进一个对话项目一大AI必失忆。第三别让AI在坏掉的版本上连续修超过两轮及时回退。第四别省略环境说明这是最便宜的保险。第五别做完项目不复盘复盘的复利比你想象的大。6.3 工具选择别纠结先用起来热词里工具名一大堆我的建议是别在选工具上花超过一天。工具之间的差异远小于你使用方法之间的差异。选一个能用的把纪律系统建起来比换来换去有价值得多。等你把一套工具用透了自然知道下一个该换什么。7. 项目纪律系统后续怎么扩展这套系统我现在还在用并且在做两件事的扩展。一是把纪律规则写成agent能直接读取的配置文件让agent自动遵守而不是靠我每次提醒。二是把复盘归档做成可检索的知识库让agent在遇到类似问题时能自动调用历史经验。这两件事做完纪律系统就从我管AI变成了AI自己管自己这才是agent项目纪律系统的完整形态。但我不急因为我知道基础不牢的时候上自动化只会把错误自动化。先把规则跑顺再谈自动化这个顺序不能反。最后分享一个我自己的体会AI编程最大的价值不是让你少写代码而是让你能把精力放在想清楚要做什么上。但想清楚这件事AI替不了你纪律系统也替不了你只能靠你自己一个项目一个项目地磨出来。
