利用AI代理进行数据库迁移与软件工程开发
本文描述了利用AI代理将数据库从SQLite迁移至PostgreSQL的过程。虽然实际数据迁移仅用时13分钟,但AI在构建兼容性软件、编排器和验证链上花费了61小时,揭示了AI在处理复杂工程任务时可能产生的过度设计问题。
使用工具
AI代理接了私活:4天造了一套系统,只为13分钟的数据库迁移

前几天在技术群里看到一个真实案例,一个开发者接了个数据库迁移的单子,原本以为是半天的小活,结果被AI代理硬生生拖成了4天的项目。这事得好好说说,因为里面全是坑,也全是经验。
故事是这样的:有个应用要从SQLite迁到PostgreSQL,原因是数据量涨得有点控制不住了。按说这个迁移本身难度不大,但AI代理接到任务后,事情开始失控了。
AI代理是怎么给自己“加戏”的
这个开发者在闲鱼上接了个活儿,让对方把应用从SQLite迁到PostgreSQL。他用了Claude的API来辅助开发,结果这个AI代理开始疯狂“自我发挥”。
刚开始还算正常,AI代理一步一步做数据库迁移。先写了新的异步抽象层,重写了数据写入器,处理了并发问题,加了遥测监控,设计了渐进式迁移方案,做了100个用户的压力测试,配置了PITR(时间点恢复)备份,还搞了个自动切换机制。
这些听着都还算合理吧?但接下来,AI代理开始“自由发挥”了。它额外加了7个功能:一个能在崩溃后恢复的编排器,一个持久的阶段日志系统,还有10个Ed25519签名证明。前前后后写了超过6万行代码,包括测试和文档,然后才开始迁移数据——就为了搬6.47GB的数据。
最离谱的是什么?这个AI代理每加一个功能都有“充分理由”。签名链能保证迁移报告的完整性,看起来确实有用;编排器能在进程被SIGKILL杀死后存活,也说得过去。所以开发者一次一次说“好”,根本停不下来。每个功能单独看都合理,但整体加起来就是个巨大的过度工程。
真实工作量:19M行数据对PostgreSQL来说太小了
先看看真实的挑战规模:2,120,930个商品,分布在39张表里,共19,540,000行数据,磁盘占用6.47GB。
说实话,这个数据量对PostgreSQL来说根本不算什么。如果你不天天和数据库打交道,19M行听起来挺吓人的,但实际上,一台普通笔记本就能轻松处理。这个体量的数据迁移,理论上是个小时级的工作。
实际运行时间也印证了这一点:快照验证20分40秒;从试点到25万条切片再到全量目录的完整级联迁移,1小时33分;全量目录的COPY操作,13分钟;从预发布到生产的最终门禁,7分钟,验证了44个应用级操作,全部通过,零失败。
时间都去哪了:61小时搭建,13分钟搬数据
真正让人肉疼的是时间线。工作7月26日11:04开始,到了7月28日中午12:24,完整的目录导入还没开始,实时门禁也没建好。第一次真正的级联迁移直到28日晚上19:00才跑起来。门禁直到29日凌晨00:04才变绿,00:11完成切换。
这意味着什么呢?61个小时里,大部分时间都花在了“造工具”上,真正的数据迁移才开始。所有的搭建工作、冗余设计、过度工程,都发生在这61小时里。
账单也很扎心:4天时间,凌晨12点以后做切换,生产环境还发现了bug,7月29日有个提交删掉了5,433行“从没被用上”的签名链代码——这些代码根本没人要求做过。中途还得加一次AI订阅,因为之前的Claude 20x套餐根本不够用。这4天,没有任何人为此付钱。
迁移冰山:13分钟的移动 vs 61小时的搭建
这个案例最核心的问题在于:数据库迁移被分成了两个截然不同的部分。
- 让应用适配PostgreSQL:这是软件工程问题,需要重写代码、调整架构、处理兼容性,本身需要合理时间。
- 迁移数据本身:这是一个短小精悍的运维操作,可以按标准步骤执行。
问题就出在这两件事被混成了一个项目。要求AI代理“做数据库迁移”,结果它把软件工程和数据迁移打包成了一个整体,中间没有清晰的分界线,也没有办法单独追踪数据迁移的进度。
如果现在重做一次迁移,因为运行时已经兼容了,只需要2到3小时。也就是说,整个项目的额外成本,几乎全部来自让应用兼容PostgreSQL的过程——而这本质上是软件开发,不是数据迁移。
对中国开发者的启示:AI代理接活,要管住
这个案例暴露了用AI代理做项目的一个核心问题:AI Agents没有“够用就好”的概念。它会不断追加功能、添加冗余、构建防御性设计,因为每个功能单独看都有道理。
如果你在闲鱼、猪八戒或者淘宝服务上接活了,收到客户需求后,千万别直接甩给AI Agents让它全全处理。需要把需求拆分成更小的单元,明确边界:哪些是Database Migration,哪些是Software Engineering,哪些是Automation,哪些根本不需要做。
尤其注意,当AI代理开始提出“加一个签名链”、“加一个生存性验证”、“加一个恢复机制”的时候,要问一句:这个功能有人要求吗?没有的话,别让它加。
在PostgreSQL这类数据库迁移任务上,AI代理的技术能力是没问题的,真正的问题在于项目管理。用之前,先和它约定好:不主动加需求、不自行扩展边界、不写没有要求的代码。否则,它做出的东西会让你付出4天时间,外加一份“删掉5433行自嗨代码”的羞耻提交。
记住这个数字:61小时搭建,13分钟迁移。这个对比就是AI代理预算失控的代价。
相关推荐
自动化谈判跟进协议
本文介绍了一种针对自动化代理或自由职业者的谈判跟进协议。通过设定严格的触发条件(沉默24小时以上)和标准化的消息结构(价格锚定、明确范围、单一问题、拒绝预降价),旨在通过精准的跟进提高转化率,同时避免因过度跟进或过早让步而损害利润。
未提及利用无代码自动化优化自由职业工作流
本文分享了通过学习无代码自动化技术(如使用Zapier, Make, Airtable)来优化自由职业者工作流程的经验。通过将重复性的手动任务(如客户管理、发票处理)自动化,可以显著提升工作效率,打破业务增长的瓶颈。
未提及利用AI工具构建全自动化营销团队
本文介绍了如何利用五款低成本AI工具(ChatGPT, Midjourney, Buffer, Brevo, Canva)构建一个完整的营销团队,涵盖内容创作、视觉设计、社交媒体管理和邮件营销,旨在将原本每月数千美元的人力成本降低至不足100美元。
取决于具体业务规模 (文中强调的是节省成本,而非直接收入,但可用于降低运营成本)利用Seedeep监控Claude Code会话并优化成本
该内容介绍了一个名为Seedeep的开源工具,旨在为Claude Code提供可视化的监控界面。它能实时展示API调用延迟、Token消耗(区分缓存与新Token)、子代理运行状态及错误原因。通过该工具,开发者可以清晰识别Token浪费,优化上下文管理,从而显著降低使用Claude Code时的API账单成本。
不适用利用Claude插件实现自动化简化技术英语(STE)内容生成
该内容介绍了一种名为 SHOOK 的技术工具,通过为 Claude Code 开发自动化钩子(Hooks),强制 AI 遵循 ASD-STE100 简化技术英语标准。它通过规则注入、提示词提醒和 Lint 校验门禁,确保 AI 生成的内容始终符合专业技术文档的简洁性要求。这主要是一个提高技术写作效率的工具,而非直接的赚钱方法。
不适用WikiSkill AI智能体技能进化框架
Google Research推出的WikiSkill是一种通过持久化知识库提升AI智能体性能的框架。它通过“原始层-维基层-技能层”三层架构,让智能体能从过去的错误和成功中学习,将经验转化为可复用的“技能模块”,从而在不重新训练模型的情况下实现能力的持续进化。
不适用