ARTICLE DETAIL

资讯详情

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

零基础AI编程实战:一个月四项目与agent纪律系统

零基础AI编程实战:一个月四项目与agent纪律系统 1. 一个月从零到四个项目我的AI编程真实路径复盘先说结论一个月零编程基础四个能跑起来的项目靠的不是天赋是一套被逼出来的纪律。我把这套纪律最后固化成了一个agent项目纪律系统专门用来管住AI编程过程中那些反复出现的坑。这篇文章不讲虚的只讲我实际怎么走的、每一步为什么这么走、哪些地方差点翻车。如果你也是零基础想用AI编程做点东西或者已经开始了但总在同一个地方卡住这篇内容应该能帮你省下至少两周的试错时间。核心关键词就三个AI编程、agent、项目纪律系统。我会把它们串成一条完整的线从最开始的工具选择到中间的项目管理再到最后的纪律系统搭建全部拆开讲。先交代一下背景。我此前没有任何编程经验HTML和CSS都分不清终端命令只会cd和ls。一个月时间我做了四个项目一个本地文件批量重命名工具、一个网页数据抓取脚本、一个简单的API服务、一个自动化日报生成器。这四个项目规模都不大但每一个都完整走完了从需求到可运行的全过程。用的工具主要是AI编程助手配合命令行核心方法是把AI当成一个需要被严格管理的初级开发者而不是一个许愿池。为什么强调“纪律”这个词因为零基础用AI编程最大的问题不是AI不够强而是你自己不知道什么时候该停下来、什么时候该验证、什么时候该回滚。AI会非常自信地给你一段看起来没问题的代码你复制粘贴运行报错了再问它再给一段又报错。来回几次之后你已经不知道自己在改什么了项目就烂尾了。我前两个项目就是这么差点废掉的。后来我强制自己建立了一套规则才把后面两个项目顺利做完并且把这套规则做成了一个agent项目纪律系统。2. 零基础用AI编程工具选型和环境搭建的底层逻辑2.1 为什么我没有一上来就选最火的工具市面上AI编程工具很多有编辑器插件形态的有独立IDE形态的也有命令行形态的。我一开始也纠结过选哪个后来发现对于零基础来说选择标准其实很简单哪个工具能让你最快看到“运行结果”就选哪个。因为零基础最需要的是正反馈不是功能多。我最终用的组合是一个支持AI对话的代码编辑器 终端 Git。编辑器负责写代码和问AI终端负责运行和看报错Git负责存档和回滚。这个组合的好处是每一层职责清晰出问题了你知道去哪一层找原因。很多人一上来就用全自动的agent工具AI直接帮你改文件、跑命令看起来很爽但一旦出错你完全不知道发生了什么对于零基础来说是灾难。提示零基础阶段AI可以帮你写代码但运行和验证必须你自己来。不要让AI直接操作你的文件系统除非你已经能看懂它要做什么。2.2 环境搭建的最小必要步骤我实际搭建环境只做了四件事安装代码编辑器配置好AI对话插件确保能正常提问和插入代码。安装运行环境我选的是Python因为语法相对简单报错信息也比较好懂。初始化Git仓库每个项目一个独立仓库每次AI给出一段可运行的代码就提交一次。建一个notes.md文件专门记录每次报错和解决方法。这四步看起来简单但第三步和第四步是后面纪律系统的雏形。Git提交让你随时能回到上一个能跑的状态notes文件让你不用重复踩同一个坑。我统计过前两周我遇到的报错有60%是重复的自从开始记notes之后重复报错率降到了不到10%。2.3 工具选型背后的核心考量为什么不用更自动化的方案因为零基础阶段的核心矛盾是“理解速度跟不上生成速度”。AI一秒钟能生成五十行代码但你理解这五十行可能需要十分钟。如果工具再帮你自动执行你连这十分钟都省了结果就是代码越来越多你的理解越来越滞后最后整个项目变成一个你不敢碰的黑箱。我选命令行形态的AI编程助手也是这个原因。它逼着我把每一步操作都显式地打出来虽然慢但每一步我都知道自己在干什么。实测下来这种“慢”反而让整体速度更快因为返工少。3. 四个项目的实操拆解从需求到可运行的关键节点3.1 项目一本地文件批量重命名工具这是最简单的项目但也是踩坑最多的。需求很明确把一个文件夹里所有图片按日期重命名。我用AI生成了第一版代码逻辑是遍历文件夹、读取文件创建时间、按格式重命名。代码看起来没问题但运行后报错PermissionError。排查过程我先看报错信息说是权限问题。我问AIAI说可能是文件被占用。我检查后发现是文件夹里有隐藏的系统文件脚本试图重命名它们但被系统拒绝了。解决方法是在遍历时加一个过滤条件跳过隐藏文件。这个坑让我学会了一件事AI生成的代码通常只覆盖“正常情况”边界条件需要你自己补。关键节点记录阶段操作结果第一版AI生成基础遍历重命名代码报PermissionError排查检查文件夹内容发现隐藏文件定位问题修复加过滤条件跳过隐藏文件运行成功优化加dry-run模式先预览再执行避免误操作注意任何涉及文件操作的脚本第一次运行前一定要加dry-run模式先打印要做什么确认无误再真正执行。这个习惯后来救了我好几次。3.2 项目二网页数据抓取脚本这个项目让我第一次接触到“AI自信地给出错误答案”的情况。需求是抓取一个公开网页上的表格数据。AI给了一段用requests和BeautifulSoup的代码我运行后返回空列表。我问AI为什么它说可能是网页结构变了又给了一段新代码还是空。我没有继续问AI而是自己打开网页源码看了一眼发现表格数据是动态加载的requests拿到的HTML里根本没有表格。这个问题的根源是AI不知道目标网页的具体实现方式它只能根据常见模式猜测。解决方法换成用浏览器自动化工具让脚本先渲染页面再抓取。这个项目教会我的核心纪律是AI给的代码跑不通时先自己去看原始数据不要盲目让AI改。AI改十次可能都在同一个错误假设上打转。3.3 项目三简单API服务这是四个项目里最像“正经开发”的一个。需求是做一个本地API接收一个关键词返回一段生成的文本。我用了一个轻量Web框架AI帮我搭了基础结构。这个项目第一次运行就成功了但后面发现了一个隐蔽问题并发请求时会报错。排查后发现是全局变量的问题。AI生成的代码里用了一个全局变量来存配置单次请求没问题但多个请求同时进来就会互相覆盖。解决方法是用请求级别的上下文来存配置。这个问题AI在生成代码时完全没有提示因为它只考虑了功能实现没有考虑运行环境。这个坑让我意识到AI编程的代码质量取决于你提问时给它的约束条件。如果你只说“做一个API”它就只做API如果你说“做一个支持并发请求的API”它才会考虑并发问题。所以提问时要把运行环境、预期负载、边界条件都写进去。3.4 项目四自动化日报生成器这个项目是前三个项目的综合应用也是我决定做纪律系统的直接原因。需求是每天定时抓取几个数据源汇总后生成一份日报文件。项目本身不复杂但涉及多个步骤串联任何一个步骤出错整个流程就断了。我实际做的时候前三天每天都有不同的问题第一天是数据源格式变了第二天是定时任务没触发第三天是文件写入路径错了。每次都是AI帮我修但修完之后我没有记录导致同样类型的问题换个形式又出现。到第四天我停下来花了一个下午把所有可能的失败点列出来给每个失败点加了检查和日志才稳定下来。这个项目让我明白多步骤流程的可靠性不取决于每一步有多强而取决于出错时你能不能快速定位。日志和检查点比代码本身更重要。4. 踩坑实录零基础AI编程最常见的五类问题4.1 问题一AI生成的代码“看起来对但跑不通”这是最高频的问题。AI生成的代码语法正确、逻辑通顺但一运行就报错。原因通常是AI不知道你的具体环境Python版本、已安装的库、操作系统差异、文件路径格式。我遇到过一次AI用了某个库的新版本语法但我本地装的是旧版本直接报错。解决方法每次让AI生成代码时把环境信息写进提示词。比如“我用的是Python 3.9Windows系统已安装requests 2.28”。这个习惯建立后这类问题减少了70%以上。4.2 问题二改着改着不知道改到哪了零基础用AI编程很容易陷入“对话式修改”的陷阱报错→问AI→AI给新代码→替换→再报错→再问。几轮之后你已经不记得原始代码长什么样了也不知道当前版本和最初版本有什么区别。解决方法每次AI给出修改后的代码不要直接覆盖而是新建一个文件或者用Git提交一次。我后来的做法是每次修改前先git commit修改后再git commit这样随时能diff看改了什么也能随时回滚。4.3 问题三AI说“应该可以了”但实际不行AI没有运行环境它说“应该可以了”只是基于代码逻辑的推断不是实际验证。我早期很信任这句话后来发现它说“应该可以”的时候实际成功率大概只有六成。解决方法把AI的“应该可以了”当成“你可以去试试了”而不是“已经好了”。每次都要自己运行验证验证通过才算数。4.4 问题四项目越做越大AI开始“忘记”之前的约定对话轮次多了之后AI会忘记前面设定的规则。比如你一开始说“所有函数都要加类型注解”聊了二十轮之后AI生成的代码就没有类型注解了。这不是AI故意违反是上下文窗口的限制。解决方法把重要的约定写在一个单独的文件里每次开新对话时先把这个文件内容贴给AI。我后来把这个做法固化成了纪律系统的一部分。4.5 问题五报错信息看不懂不知道从哪查零基础最大的障碍是报错信息。Python的报错有时候很长关键信息可能藏在中间。我一开始的做法是把整段报错贴给AI但AI有时候会抓错重点。解决方法学会看报错的最后一行那里通常是错误类型和简要描述。然后从下往上找第一个指向你自己代码的行号。掌握了这个技巧之后我排查问题的速度至少快了一倍。常见问题速查表问题类型典型表现排查方向预防措施环境不匹配语法正确但运行报错检查版本和依赖提示词写明环境修改混乱不知道当前代码状态git diff查看变更每次修改前提交AI过度自信“应该可以了”但失败自己运行验证不信任未验证的代码上下文丢失AI忘记之前的约定检查生成代码是否符合约定约定写入文件每次粘贴报错看不懂长段报错信息看最后一行和第一个自己的行号积累常见报错含义5. agent项目纪律系统的设计与落地5.1 为什么要做成系统而不是靠自觉前四个项目做完之后我回顾了一下发现所有浪费的时间几乎都集中在几类重复问题上。靠自觉去避免这些问题是不现实的因为人在遇到报错的时候会本能地焦虑一焦虑就会跳过检查步骤直接问AI。所以我决定把这套纪律做成一个系统用流程来强制自己遵守。这个系统的核心思路很简单把AI编程过程拆成固定的阶段每个阶段有明确的输入、输出和检查点不通过检查点不允许进入下一阶段。听起来很重但实际用起来每个检查点也就多花一两分钟省下的返工时间远超这个成本。5.2 系统的四个核心模块模块一环境声明模块。每次开新项目或新对话时先生成一份环境声明包含操作系统、语言版本、已安装依赖、项目路径。这份声明在每次向AI提问时都附上。这个模块解决的是“AI不知道我的环境”的问题。模块二变更记录模块。每次AI给出代码后先不直接运行而是记录这次变更的内容和预期结果。运行后记录实际结果。如果实际结果和预期不符记录差异。这个模块解决的是“改着改着不知道改到哪了”的问题。模块三检查点模块。在关键节点设置强制检查比如文件操作前必须dry-run、API服务必须测试并发、多步骤流程必须加日志。每个检查点有明确的通过标准不通过就停下来修不允许带病往下走。模块四约定持久化模块。把项目的所有约定命名规范、错误处理方式、日志格式等写在一个独立文件里每次新对话时先加载这个文件。这个模块解决的是“AI忘记约定”的问题。5.3 系统在实际项目中的运行效果我用这套系统重新做了一遍项目四自动化日报生成器对比非常明显。第一次做的时候花了三天每天都有新问题最后稳定下来靠的是运气。第二次用系统做花了半天中间只遇到两个问题而且都在检查点被拦截了没有影响到最终流程。具体来说环境声明模块让我在提问时就避免了版本不匹配的问题变更记录模块让我在出现异常时能快速定位是哪次修改引入的检查点模块在文件写入前拦截了一次路径错误约定持久化模块让AI在长对话中始终保持了日志格式的一致性。提示这套系统不需要任何额外工具用普通的文本文件和Git就能实现。关键是养成习惯把每个模块当成必经步骤而不是可选步骤。5.4 系统后续可以扩展的方向目前这套系统还是手动执行的下一步我打算把它做成一个真正的agent能够自动检查环境声明是否完整、自动记录变更、自动在检查点拦截。不过对于零基础来说手动执行已经能解决大部分问题了。先跑通流程再考虑自动化这个顺序不能反。另外这套系统的思路也可以迁移到其他AI辅助场景比如AI写作、AI设计。核心逻辑是一样的把AI当成一个能力很强但需要明确指令和严格检查的执行者而不是一个可以完全托付的合作伙伴。6. 给零基础AI编程学习者的实操建议6.1 第一个项目应该选什么不要选你觉得“有用”的项目选你觉得“简单”的项目。第一个项目的唯一目标是跑通全流程建立信心。我建议从文件操作类的小工具开始比如批量重命名、批量格式转换、文件内容统计。这类项目逻辑简单、反馈直接、不需要联网、不涉及复杂依赖。6.2 每天花多少时间合适我实际的经验是每天两到三小时比较合适。低于一小时很难进入状态高于四小时容易疲劳导致判断力下降。AI编程很消耗注意力因为你要不断理解AI生成的代码、判断是否正确、决定下一步怎么做。这种高强度认知活动不适合长时间连续进行。6.3 什么时候该停下来问人如果你在同一个问题上卡了超过四十分钟就应该停下来。可以问AI、问社区、问朋友但不要继续自己硬扛。零基础阶段最大的成本是时间不是面子。我早期有几次卡了一整个下午最后发现是一个特别简单的问题问一下五分钟就能解决。6.4 怎么判断自己真的学会了标准很简单你能不能不看AI把上一个项目的核心逻辑用自己的话讲清楚。如果能说明你理解了如果不能说明你只是复制粘贴了代码。我每做完一个项目都会写一段总结用自己的话描述这个项目做了什么、关键步骤是什么、遇到了什么问题。写不出来就说明还没学会。6.5 关于AI编程提示词的一点心得提示词的核心不是“礼貌”或“详细”而是“约束明确”。与其说“请帮我写一个函数”不如说“写一个Python函数输入是字符串路径输出是重命名后的文件列表要求跳过隐藏文件出错时返回空列表而不是抛异常”。约束越明确AI生成的代码越接近可用状态你后续修改的工作量越小。我整理了一个提示词模板实际用下来效果比较稳环境Python 3.9Windows已安装xxx库 任务用一句话描述要做什么 输入描述输入数据的格式和来源 输出描述期望的输出格式 约束列出所有边界条件和特殊要求 验证描述怎么判断代码是否正确这个模板看起来啰嗦但每次多花三十秒写清楚能省下至少十分钟的来回修改。6.6 关于项目纪律系统的最后一点经验这套系统最大的价值不是让你不犯错而是让你犯错之后能快速恢复。零基础用AI编程犯错是必然的区别在于有的人犯一次错就卡住了有的人犯一次错记录一次下次遇到类似情况就能直接跳过。我一个月做四个项目靠的不是比别人聪明是比别人更早接受了“犯错是流程的一部分”这个事实然后把它变成了系统的一部分。如果你现在正在做第一个项目遇到报错不要慌先看最后一行再看第一个指向自己代码的行号然后记录到notes文件里。这个动作重复十次之后你会发现报错信息不再是障碍而是线索。
返回列表