多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

零基础AI编程实战:一个月四项目,从踩坑到构建Agent纪律系统

零基础AI编程实战:一个月四项目,从踩坑到构建Agent纪律系统 1. 一个月从零到四个项目我到底经历了什么先把结论摆在这儿一个月时间零基础用 AI 编程做了四个能跑起来的小项目最后把过程中反复踩的坑抽象成了一套我自己叫它“项目纪律系统”的 agent 工作流。这不是什么天才故事恰恰相反整个过程充满了返工、报错、上下文丢失、AI 一本正经胡说八道这些破事。我把这些东西写下来是因为我在 GitHub 和各种社区里翻了一圈发现讲“AI 编程多爽”的内容一大堆讲“AI 编程怎么把你带沟里”的内容少得可怜。这篇东西适合谁看如果你是完全没写过代码、想借 AI 编程智能体ai agent从零开始做点东西的人这篇对你有用。如果你已经会写代码但想搞清楚 agent 开发、agent 框架、skill 和 agent 的区别这些概念怎么落到实际项目里这篇也有参考价值。我会把四个项目分别是什么、每个阶段用了什么工具、为什么这么选、踩了哪些坑、最后怎么把坑固化成纪律全部摊开讲。先交代一下我的起点我在此之前没系统学过编程能看懂一点点 HTML命令行基本靠复制粘贴。我用的主力工具是 Cursor 这类 AI 编程软件配合 GitHub 做版本管理中间也试过几款别的 ai 编程智能体工具做对比。一个月下来我最大的感受是AI 编程真正的门槛不在“让 AI 写出代码”而在“让 AI 在正确的约束下持续写出不跑偏的代码”。前者是提示词技巧后者才是工程纪律。这也是我最后要做那个“项目纪律系统”的根本原因。四个项目按时间顺序是一个命令行小工具、一个带界面的数据整理工具、一个调用大模型 API 的小应用、一个把前三个项目经验固化下来的 agent 纪律系统。你会发现这个顺序本身就是一条学习曲线——从纯本地、无依赖到有界面、有外部依赖再到引入 LLM最后做元工具。每一步都在给下一步铺路这不是我一开始就规划好的是被坑逼出来的。2. 四个项目的整体设计与选型思路2.1 为什么是这四个项目而不是随便四个很多人零基础学 AI 编程第一个项目就冲着“做个聊天机器人”或者“做个网站”去结果卡在环境配置和部署上三天就放弃了。我选项目的逻辑很简单每个项目只引入一个新变量。第一个项目只练“让 AI 写代码 我跑起来”这个闭环不引入任何外部依赖。第二个项目才引入图形界面这个新变量。第三个引入外部 API。第四个引入“把经验变成可复用系统”这个抽象层。这个思路在工程上叫“控制变量”在生活里就是“一次只学一样新东西”。你同时学做饭、学开车、学外语大概率三样都学不好。AI 编程也一样你同时让 AI 帮你搞环境、搞依赖、搞部署、搞业务逻辑出错的时候你根本不知道是哪一层的问题。提示零基础阶段项目复杂度要按“新增变量数”来控制而不是按“功能多少”来控制。一个只有 50 行代码但你能完全跑通、完全理解的项目价值远大于一个 500 行但你不知道它在干嘛的项目。2.2 工具选型为什么主力用 Cursor 这类工具市面上的 ai 编程软件我试过好几款最后主力用 Cursor。原因不是它功能最全而是它的“agent 模式”和“tab 补全”这两个东西配合起来最接近我想要的“我说意图、它写代码、我审结果”的节奏。热搜里那个 “get cursor pro for more agent usage, unlimited tab” 说的就是这个点——agent 用量和 tab 补全额度是这类工具的核心资源。但我要泼一盆冷水工具本身不决定成败。我见过有人用最贵的工具写出最烂的项目也见过有人用最朴素的工具做出能用的东西。工具选型的真正标准是它能不能让你快速看到“我改了什么、它改了什么、结果变了没有”这个反馈循环。反馈循环越短你学得越快。GitHub 在这套流程里的角色是“后悔药”。热搜里 “github打不开”“github镜像”“github下载加速” 这些词高频出现说明很多人卡在访问这一步。我的建议是先把 GitHub 的账号注册好、把 git 基本命令clone、add、commit、push、pull练熟这五个命令能覆盖 90% 的日常操作。至于访问速度问题用国内可正常访问的代码托管平台做备份仓库也是完全可行的方案不必死磕一个入口。2.3 关于 agent、LLM、AI 模型这几个概念的区别热搜里有个问题问得特别好“agent 和 llm 和 ai 模型有什么区别比如常说的 deepseek 是属于哪个”。我用大白话解释一下这个理解直接决定你后面怎么设计系统。AI 模型是“大脑”它只会根据输入预测输出本身没有记忆、没有手脚、不会主动做事。DeepSeek、GPT 这类都属于模型层。LLM 是大语言模型是 AI 模型里专门处理语言的那一类。而 agent 是“大脑 手脚 记忆 目标”的完整体它有一个目标能调用工具手脚能记住之前发生了什么记忆能根据结果决定下一步循环。打个比方模型是一个很聪明的顾问你问他一句他答一句。agent 是你雇的一个员工你给他一个任务他自己去查资料、自己动手、自己检查、自己汇报。skill 则是这个员工掌握的某项具体技能比如“会用 Excel”“会写邮件”。agent 框架就是给这个员工配的办公流程和工具间。搞清这个区别你才知道为什么“项目纪律系统”要做成 agent 而不是一堆提示词——因为提示词是死的agent 是活的它能根据项目当前状态决定该执行哪条纪律。3. 核心细节解析与实操要点3.1 项目一命令行小工具练的是“闭环”第一个项目我做的是一个文本统计工具输入一段文字输出字数、行数、出现频率最高的词。选它是因为它零依赖、纯逻辑、结果可验证。我用 AI 生成代码的方式是先描述清楚输入输出再让它写然后我自己跑跑不通就把报错贴回去让它改。这个阶段最重要的不是代码本身而是建立三个习惯。第一每次只让 AI 改一个地方改多了出错你分不清是哪处引起的。第二报错信息要完整贴给 AI不要只贴最后一行上下文都在前面。第三跑通之后让 AI 解释一遍代码你不理解的东西下次出问题你还是不会修。我踩的第一个大坑就在这里我让 AI “优化一下代码”它把整个文件重写了加了一堆我看不懂的抽象结果原本能跑的功能反而坏了。从那以后我定了一条规矩没有明确需求不让 AI 重构。重构是引入变量的行为必须单独作为一个任务来做。3.2 项目二带界面的数据整理工具练的是“依赖管理”第二个项目是把 CSV 文件读进来做清洗和统计用一个简单的窗口界面展示。这一步引入了图形界面库和数据处理库两个外部依赖坑立刻多了起来。最典型的坑是版本冲突。AI 给你的代码可能是基于某个库的新版本写的但你环境里装的是旧版本报错信息又特别隐晦。我的解决办法是让 AI 在写代码前先告诉你需要装哪些库、什么版本然后你自己去装装完再让它写代码。顺序反了你就会在“代码对不对”和“环境对不对”之间反复横跳。这个阶段我还学会了一件事把项目拆成“能独立验证的小块”。比如读文件是一个块清洗是一个块统计是一个块展示是一个块。每块单独跑通再拼起来。AI 很擅长写单块不擅长一次写对整个系统。你让它一次写对整个系统它就会在某个你没检查的地方埋雷。注意依赖管理是零基础最容易翻车的地方。我的经验是每装一个新库立刻写三行代码验证它能用再继续往下做。不要攒一堆依赖最后一起装出错了你根本不知道是谁的问题。3.3 项目三调用大模型 API 的小应用练的是“外部不确定性”第三个项目是调用大模型 API做一个能根据输入生成结构化结果的小工具。这一步引入了最大的不确定性来源外部服务。它会超时、会限流、会返回你意想不到的格式。这个阶段我最大的收获是理解了“防御性编程”不是可选项。AI 生成的调用代码通常是最理想情况的写法发请求、拿结果、用结果。但现实是请求可能失败结果可能是空的格式可能不对。我让 AI 补上了重试、超时、格式校验、错误提示这四样东西之后工具的可用性直接上了一个台阶。这里有个细节值得说API 返回的内容要当成“不可信输入”来处理。哪怕是你自己调的服务也要假设它可能返回任何东西。我遇到过返回里混进了多余字符导致解析失败的情况加了校验之后才稳定。这个思路和后面做纪律系统是一脉相承的——不要相信任何一层的输出每一层都要校验。3.4 项目四项目纪律系统练的是“把经验固化”做完前三个项目我发现自己反复在犯同样的错误忘记让 AI 先说明依赖、忘记校验外部输入、忘记在重构前备份、忘记让 AI 解释代码。每次都是踩了坑才想起来。于是我决定做一个 agent把这些纪律固化进去让它在每个项目开始时自动提醒、在每个阶段自动检查。这个系统的核心设计是把“纪律”拆成可执行的检查项每个检查项绑定一个触发时机。比如“开始新项目”时触发依赖检查“让 AI 重构前”触发备份检查“引入外部调用”时触发防御性编程检查。agent 的职责不是替你写代码而是在正确的时机提醒你做正确的事。这就是 agent 和一堆提示词的本质区别。提示词是你想起来才用agent 是它在该出现的时候自己出现。热搜里 “ai agent skill memory mcp” 这几个词说的就是这套东西skill 是能力memory 是记忆mcp 是连接外部工具的协议。我的纪律系统用到的就是 skill检查项加 memory项目当前状态这个最小组合。4. 实操过程与核心环节实现4.1 从零搭建第一个项目的完整流程我把第一个项目的完整流程拆给你看你可以直接照着做。第一步建一个空文件夹用命令行进去初始化 git。第二步写一个最简单的需求描述比如“读一个 txt 文件输出总字数”。第三步把需求给 AI让它写代码同时要求它说明“这段代码需要什么运行环境”。第四步按它说的准备环境跑代码。第五步跑不通就把完整报错贴回去让它改。第六步跑通后让它逐行解释。第七步commit 一次。这个流程看起来笨但它把“学习”和“产出”绑在了一起。你不是在学完再做而是在做的过程中学。我实测下来一个这样的小项目从零到跑通大概两到三个小时其中一半时间花在环境和报错上这是正常的不要觉得自己笨。关于 git 的使用我建议零基础的人先只用三个命令git add .、git commit -m 说明、git log。前两个是存档第三个是看历史。等你熟悉了再加git branch和git worktree。热搜里 “git worktree ai编程” 这个组合很有意思worktree 能让你在同一个仓库里开多个工作目录做实验性改动时特别有用但这是进阶内容第一个月不用碰。4.2 纪律系统的核心实现思路纪律系统的实现我走了弯路。一开始我想做一个“全能管家”什么都能管结果做出来又复杂又不好用。后来我砍到只剩三个核心模块检查项定义、触发时机、状态记录。检查项定义就是一条条规则用最简单的结构存比如一个列表每项包含“什么时候检查”“检查什么”“不通过怎么办”。触发时机就是 agent 在流程的哪个节点去读这些规则。状态记录就是记住当前项目进行到哪一步了避免重复提醒。我用伪代码给你示意一下这个结构disciplines [ { trigger: new_project, check: 是否已确认运行环境和依赖, action: 提醒用户先确认环境再写代码 }, { trigger: before_refactor, check: 是否已提交当前可用版本, action: 提醒用户先 commit 再重构 }, { trigger: external_call, check: 是否有超时、重试、格式校验, action: 提醒用户补齐防御性代码 } ]这个结构简单到有点寒酸但它管用。因为纪律系统的价值不在代码复杂度而在“它是否真的在你需要的时候提醒了你”。我试过做复杂版本加了自动执行、自动修复结果 agent 自己开始乱改代码比不加还糟。agent 的自动化程度要和你的掌控能力匹配你掌控不了的部分宁可让它只提醒不执行。4.3 参数选择与关键决策的记录做这套系统的过程中我做了几个关键决策每个都值得说清楚理由。第一个决策纪律用自然语言写不用代码写。因为自然语言的规则 AI 能理解我也能改改起来不用动代码。第二个决策触发时机用流程节点不用时间。时间触发不可靠流程节点触发才精准。第三个决策状态记录用文件不用内存。内存一关就没了文件能跨会话保留。关于 agent 框架的选择我试过几个最后用的是最轻量的方式——不引入重型框架就用一个主循环加几个函数。原因是重型框架的学习成本高而我这个系统的逻辑本身很简单用框架反而是杀鸡用牛刀。热搜里 “agent框架”“agent开发学习路线” 这些内容很多我的建议是先用手写循环理解 agent 的本质再去用框架。你理解了本质框架只是帮你省代码你不理解本质框架只会让你更迷糊。5. 常见问题与排查技巧实录5.1 AI 编程高频问题速查表下面这张表是我一个月里遇到的高频问题和我最终的解决办法你可以直接拿去用。问题现象根本原因解决办法AI 写的代码跑不起来环境或依赖不匹配先让它说明依赖装好再写代码改一处坏三处一次改动引入太多变量每次只改一个地方改完立刻验证报错看不懂只贴了最后一行贴完整报错包含上下文AI 反复给同样的错误答案上下文里没有正确的信息把正确的示例或文档贴给它代码越改越乱没有明确需求就重构重构单独作为任务先备份外部调用不稳定没有防御性代码补超时、重试、校验、错误提示换个会话就忘了之前没有持久化状态用文件记录项目状态和决策这张表里的每一条都是我真实踩过的。比如“AI 反复给同样的错误答案”这条我一开始以为是 AI 笨后来发现是我没把正确的信息给它。它不知道你的环境、你的版本、你的约束它只能猜。你把信息给全它的准确率立刻上去。5.2 独家避坑技巧第一个技巧让 AI 先写“验收标准”再写代码。比如你说“写一个统计字数的工具”它可能给你一个只统计英文的版本。但如果你先说“验收标准是中文英文都算标点不算”它就会考虑这些。验收标准是需求的一部分先定标准再写代码返工率大幅下降。第二个技巧给 AI 的上下文要“干净”。不要把整个项目文件都塞给它只给它当前任务相关的部分。上下文越杂它越容易跑偏。这也是为什么 agent 的 memory 设计很重要——记住该记的忘掉该忘的。第三个技巧遇到 agent 报错 “agent execution terminated due to error” 这类信息先看是不是任务太大。agent 和模型一样任务太大就容易中途崩。把大任务拆成小任务是解决这类问题的通用办法。第四个技巧定期让 AI 帮你“复盘”。把最近几次的改动和报错给它让它总结规律。我那个纪律系统里的好几条规则就是这么复盘出来的。AI 在总结规律这件事上比人客观因为它不会不好意思承认自己错了。5.3 关于学习路线的实话热搜里 “ai agent学习”“ai agent 入门”“ai agent book下载”“ai agent 开发” 这些词热度很高说明很多人想系统学。我的实话是这个阶段最好的学习材料是你自己的项目。书和教程能给你框架但填不满细节。你只有真的做一个项目遇到真的报错解决真的问题那些概念才会变成你的。如果你非要一个路线我的建议是第一周用 AI 做一个零依赖的小工具练闭环。第二周做一个带依赖的小工具练环境管理。第三周做一个调用外部服务的小工具练防御性编程。第四周把前三周的经验整理成你自己的纪律清单。这四周下来你对 agent 开发的理解会比看十本书都扎实。至于 “ai agent 多模态 有哪些功能”“hermes agent”“pi agent桌面端” 这些更具体的方向等你有了基础再去探索会事半功倍。基础不牢的时候追新概念只会让你焦虑不会让你进步。6. 我最后想说的几句实在话这套“项目纪律系统”到现在还在用它不完美但它让我从“每次都要重新踩坑”变成了“踩过的坑不再踩第二次”。这一个月最大的收获不是四个项目而是我搞明白了一件事AI 编程的能力上限取决于使用者的工程素养下限。AI 能帮你写代码但帮不了你建立纪律纪律这东西只能自己长出来。如果你也在用 AI 编程做项目我建议你从今天开始做一件事建一个自己的“坑本”每次踩坑就记一条记清楚“什么情况下踩的、怎么发现的、怎么解决的”。记满二十条你把它整理成检查项你的第一个纪律系统就成型了。这比任何教程都管用因为它是为你量身定做的。最后一个实操建议不要追求一次做对。我四个项目没有一个是一次做对的全是改出来的。AI 编程的正确姿势不是“让 AI 一次写对”而是“让 AI 快速写错然后快速改对”。把试错成本降下来把迭代速度提上去这才是 AI 编程真正的红利所在。
返回列表