凌晨两点,办公室只剩我一个人。
屏幕上的光标还在跳动,但我已经盯着第43,336个文件发呆半小时了。
然后我说出了那个词——
"屎山。"
那一刻,我真的怀疑自己
250多个Python文件,近百个TS/TSX组件,15组重复的功能版本,40多处前后端路由不匹配,数据库选型混乱得像一锅粥……
我看着这个庞大的Nova AI平台,脑子里只有一个念头:
"我是不是搞砸了?"
"是不是技术选型错了?""是不是架构设计有问题?""是不是我根本就不适合搞这个?"
那种感觉很熟悉。
就像当年决定公司要做新媒体账号,对着空白文档完全不知道从何下手。整夜整夜睡不着觉
从0到1,为什么总是这么难?
三条铁律把我拉了回来
就在我最沮丧的时候,我想起了自己定下的"写代码三条铁律":
先画影像地图 —— 想清楚再动手
先写契约测试 —— 先定义接口再实现
先考虑可逆性 —— 想好怎么回退
这三条铁律,原本是参照一位技术大神的思维方式定的。但此刻我突然意识到:我可以用它们来诊断现有的代码,而不仅仅是写新代码。
于是,我把这个"烂摊子"交给了AI助手。
"来吧,"我说,"用这三条铁律,从头到尾审视一遍。告诉我,这堆代码是不是真的没救了?"
AI的诊断,让我愣住了
AI的反馈完全出乎我的意料。
"总体评分:4/5"
我揉了揉眼睛,以为自己看错了。
这么乱的代码,还能拿4分?
AI一条一条地分析:
技术栈 —— FastAPI + React 18 + TypeScript,现代化且成熟,没问题。前后端分离 —— 分离清晰,职责明确,没问题。插件化设计 —— Skill系统和MCP框架,设计得相当优秀。适配器模式 —— 外部平台集成,思路是对的。
原来,我以为的"屎山",其实骨架是好的。
技术选型没问题,架构设计没问题,插件化思路没问题。
乱的只是执行层面——版本控制没做好,契约定义没对齐,可逆性没考虑。
这就像一栋房子:地基是稳的,框架是正的,只是装修的时候乱了套。
三个"病症",三种"药方"
AI帮我梳理了三个核心问题:
第一,版本混乱。同一功能存了N个版本:agent_hub.py、agent_hub_v2.py、agent_hub_enhanced.py……
为什么?因为怕改坏,所以保留旧版本;因为多人协作,没有统一入口。
这不是技术问题,是工程纪律问题。
第二,前后端路由不匹配。前端调/im-config/platforms,后端实际是/platforms。前端调/analytics/dashboard,后端根本没实现。
为什么?因为前后端分开开发,没有先定义契约。
这不是架构问题,是协作流程问题。
第三,数据库选型不一致。文档规划PostgreSQL,实际用SQLite,docker-compose里又配了PostgreSQL……
为什么?因为开发初期图省事,结果迁移成本越来越高。
这不是设计问题,是执行策略问题。
我突然松了一口气
看完AI的分析报告,我靠在椅背上,长长地舒了一口气。
原来我不是在重建一座废墟,我是在装修一套毛坯房。
骨架是好的,地基是稳的,只需要:
- 2天 —— 修复路由前缀和缺失接口(止血)
- 5天 —— 清理重复代码版本(清理)
- 6天 —— 迁移数据库、实现向量存储(重构)
总计2-4周,Nova就能成为一个真正可用的异构平台。
更重要的是,AI给出了清晰的改进方案,每一步都考虑了可逆性——万一出问题,随时可以回退。
这让我想起了创业这些年来的一个个坎:
从银行职员到连续创业者,可逆(失败了可以回去上班)从纺织品到汽车内饰,可逆(保留了原有客户)从智能卷尺到智能储物,可逆(卷尺业务还在跑)
原来,可逆性不仅是代码的原则,也是人生的智慧。
写给同样在路上的你
如果你也在从0到1的路上,如果你也看着自己的"作品"觉得像"屎山",我想分享几点心里话:
第一,先诊断,再绝望。很多时候,我们以为的全盘皆错,其实只是局部问题。找个外部视角,用一套清晰的框架审视一遍,往往会发现:骨架是好的。
第二,问题要分类。技术问题、工程问题、流程问题、人的问题……不同类型的病,吃不同的药。别把所有问题都归结为"我不行"。
第三,保留可逆性。无论是写代码还是做决策,永远想好"如果错了,怎么回退"。这不是悲观,是给自己留底气。
第四,相信时间。从0到1,本来就是一个"先污染后治理"的过程。重要的是,你愿意停下来治理。
写在最后
现在,我对Nova又充满了信心。
不是因为问题少了,而是因为我知道问题在哪,知道怎么修,知道修不好还能回退。

这大概就是创业的魅力吧——在不确定中寻找确定,在混乱中建立秩序,在自我怀疑中重建信心。
感谢AI,感谢三条铁律,感谢那个没有放弃的自己。
Nova,我们重新出发。