← Back to Blog

实战避坑:我的 AI Agent 又崩了?4000+ 个文件变更背后的“隐形杀手”

AI AgentGit避坑指南自动化实战复盘

最近我的 AI Agent 开发项目遭遇了一次“史诗级”崩盘——之前的账号直接废了,不得不把所有数据清空,一切重头再来。

这让我重新思考了项目搭建最初始的那些底层逻辑。

很多人(包括之前的我)在做 AI 自动化项目时,容易一开始就冲着“写代码”、“跑功能”去,结果往往在起跑线上就埋下了雷。

为了避免大家重蹈我的覆辙,今天把这次“炸号”的血泪史拆解开来,聊聊怎么避开那个让系统崩溃的“4000+ 文件陷阱”。

01. 事故现场:为什么会崩?

故事的起因很简单:我想做一个微信群聊消息自动分析系统

一开始跑得很顺,脚本写好了,测试也通过了。但突然有一天,我的 Agent 变得极度卡顿,最后直接罢工,连简单的指令都无法响应。

那一刻,我的后台是这样的:

Source Control 面板显示:4716 Active Changes (4000+ 个待提交变更)

这就是崩盘的元凶。

AI Agent 在工作时,会尝试读取整个工作区(Workspace)的状态作为“上下文”塞进它的短期记忆里。当 Git 侦测到有数千个文件在变动时,Agent 的内存瞬间被撑爆,直接导致过载宕机。

02. 原因深挖:谁制造了垃圾?

冷静下来排查,发现这 4000 多个文件根本不是我写的代码,而是:

  1. node_modules/:安装 npm 包时生成的依赖海,随随便便就是几千个小文件。
  2. wechat_data/:所有的聊天记录数据库、生成的 HTML 报告、图片缓存。

核心失误: 在项目启动的第一天,我裸奔了——没有配置 .gitignore 文件。

03. 绝地反击:我的三步复活法

痛定思痛,我用以下三步把系统从崩溃边缘拉了回来,并让它比以前更强。

第一步:给项目穿上铠甲 (.gitignore)

这是最关键的一步。告诉 Git:“只关注我的智慧结晶(代码),忽略那些工业废料。”

我创建了一个 .gitignore 文件,把所有“垃圾”挡在门外:

# 自动生成的依赖,坚决不传
node_modules/

# 敏感数据和临时文件
wechat_data/EchoTrace/
wechat_data/chathistory/
wechat_data/node_modules/

# 自动生成的报告 (除非你想当作归档)
# wechat_data/reports/

文件一保存,Source Control 里的数字瞬间从 4716 变成了 个位数。世界清静了。

第二步:提交核心资产 (Commit)

清除了噪音后,剩下的就是真正的价值:

  • analyze-wechat.ts:数据分析核心脚本
  • update-journal.ts:刊物生成脚本
  • generate-ops-report.ts:运营数据脚本

我把这些核心代码正式 Commit 到了 GitHub。这时候,Agent 的“大脑”变得无比清爽,响应速度瞬间回到了巅峰。

第三步:系统化重构 (From Zero to Hero)

借着这次重来的机会,我并没有满足于“修好它”,而是把它升级成了一个标准化产品

  1. 引入 AI 大脑:接入 Gemini-Flash 模型,让它不仅能统计数据,还能像人一样写“金句思考”和“行动建议”。
  2. 视觉升级:用 Puppeteer 自动生成深色主题的 HTML 仪表盘和 PNG 长图,发群再也不用截图截半天。
  3. 产品化封装:把整个流程做成了 Claude Skill。以后不需要敲一堆命令,只要说“跑一下日报”,全套流程自动搞定。

04. 避坑指南:给新手的 3 条建议

如果不想像我一样把号玩崩,这 3 条建议请刻在 DNA 里:

  1. 起步先防守npm install 之前,先检查有没有 .gitignore。如果不确定写什么,让 AI 帮你写。
  2. 区分“代码”与“数据”:代码是逻辑(要存 Git),数据是素材(通常要忽略)。不要把几百兆的数据库文件往 Git 里塞。
  3. 定期清理战场:看到 Source Control 的数字飙升时,立刻停下来检查。那通常是危险信号,而不是你工作努力的证明。

最后的话:

这一次“崩盘”虽然痛苦,但让我收获了一个更健壮的系统。现在的复利日知录,每天全自动运行,不仅稳定,而且优雅。

有些弯路,走一次就够了。希望我的这个坑,能成为你路上的灯。