一个微型系统的构建
最近家里有个具体的痛点:寒假作业的归档和批改。
原始(起点)需求很简单:做一个 Web 版的“寒假作业助手”,孩子在端侧上传作业,家长在管理端查看并批改,结果实时反馈。
面对这个需求,作为一个有经验的开发者,第一反应通常是“找轮子”。市面上成熟的 CMS 浩如烟海,我的个人博客用的是 WordPress,小区论坛用的是 Discuz!。按照惯性思维,找个现成的源码,装几个插件,改改模板,一下午就能上线。
大多数人也是这么想的:既然有成熟的存量资产,为什么要从零开始?
但在 2026 年的今天,这个逻辑可能已经过时了。
被“存量”掩盖的幻觉风险
我停下来拆解了一下“复用旧系统”与“AI 辅助重写”的成本模型,发现真正的约束条件变了。
如果我选择 WordPress 二次开发,我面对的是一套庞大的、上个时代的 PHP 代码库。当我想让 AI 去修改其中的某个逻辑时,AI 需要理解极其复杂的上下文(Hook 机制、全局变量、数据库结构)。在现阶段,“AI + 复杂存量代码”往往意味着高频的幻觉。它可能会臆造一个不存在的 API,或者写出一段看似完美但破坏了核心功能的补丁。关于这一点,我在之前的AI IDE开发提效体验:以某功能模块需求变更开发为例和从代码产出效率,到更快发现工程不确定性中有过详细的测试分析。
相反,如果选择 Vibe Coding(氛围编程) 的模式,从零开始构建,情况则完全不同。
从零构建意味着我掌握着代码的生长节奏。我可以控制需求的规模,将问题的复杂度始终约束在一个“可控范围”内。
这里我总结了一个经验公式:系统的产出质量 ≈ 人的能力 × AI 的能力。
但这并不是简单的线性叠加,而是一种更复杂的相互作用:
- 同向增强:在人和 AI 都擅长的领域(如通用算法),能力会被极大放大。
- 幻觉释放:在人的盲点区域,如果 AI 恰好表现得“自信”,我很容易被 AI 的幻觉带偏。
- 共同短板:在人和 AI 都不擅长的领域(如超长上下文记忆、极度复杂的业务逻辑关联),依靠 AI 并不能产生奇迹,反而会因为 Memory 的丢失导致项目崩塌。
因此,在这个微型项目中,我选择了后者:利用 AI IDE 工具已经集成的 LLM 选项、ReAct、RAG 和 Long Context 等基础能力,通过小步快走、持续反馈的模式,从零“搓”一个系统。
代价与判断:我的四个“角色自觉”
既然决定了让 AI 写代码,那么我应该做什么?
在 Vibe Coding 的语境下,工程师不再是“代码录入员”,而是“需求管理者”和“系统验收官”。在构建 https://child.practicenotes.cn 的过程中,我总结了四个关键的“角色自觉”。
自觉一:不做技术性限制,回归纯粹的需求管理
在给 AI 下达初始指令时,我刻意克制了定义技术栈的冲动。
我没有告诉它“用 Vue3 + FastAPI + PostgreSQL”,而是只给了它纯粹的业务逻辑:
需求: 开发一个 Web 版的寒假作业助手。
- 用户上传作业,系统按日期组织显示。
- 家长端支持查看原图并进行批改。
- 批改后,需直观显示结果。
这是 Vibe Coding 的核心要点:把技术选型的权力下放给 AI。
AI 会根据它训练数据中“最顺手”、“坑最少”的方案来生成代码。如果人强行指定一个冷门或 AI 不熟悉的技术栈,反而增加了出错的概率。人的核心职责,是把业务逻辑梳理得像法律条文一样清晰,而不是去纠结用哪个框架。
自觉二:为系统兜底,提供可观测的“物理基础”
AI 产出的代码是数字信号,要变成产品,必须有物理载体。
我选择了阿里云作为基础设施,完成了域名备案(practicenotes.cn)和二级域名配置。更重要的是,我搭建了一个“可交付、可验证、可观测”的环境。
如果系统跑不起来,或者跑起来报错我看不到日志,那么 AI 就成了瞎子。为人机协作提供一个“可调试的工位”,是人的责任。
自觉三:提供客观数据反馈,而不是情绪化抱怨
在工具链的选择上,我采用了“主辅搭配”的策略:
- 主工具:TRAE CN(模型主要选择 GLM-4.7)。选择 GLM-4.7 是因为一点私心——在它训练阶段,我曾作为领域专家贡献过一批基于 Benchtest 的强化学习问题集,用起来有种“调教过的熟悉感”。
- 辅工具:Qoder(付费版)。当主工具陷入循环错误时,我会启用 Qoder 的“极致模式”进行深度推理。
绝大多数需求 TRAE 都能搞定,但也遇到了两次必须由“人”来接入切换工具的硬骨头。
第一次是审美的崩溃。 AI 生成的 UI 界面配色极其生硬,无论我怎么提示“更现代化”、“更柔和”,TRAE 给出的方案始终缺乏美感。最终,我切换到 Qoder,它似乎对设计规范有更好的理解,一次性给出了可用的样式。
第二次是性能的幽灵。 客户端首屏加载极慢,耗时接近 10 秒。
我将客户端的 Trace Log 喂给 TRAE,它尝试了常规的“懒加载”、“最小化首屏资源”等策略,但依然无效。它读懂了日志中的时间戳,但没读懂时间背后的逻辑关系。
这时候,我必须提供更高维度的反馈。我启用 Qoder 它主动生成了即用即抛的 Python 脚本,专门用于分析 Trace Log 的时序阻塞点。
Qoder 也精确指向了问题核心:Apache 代理配置非最优。
仅仅因为配置了 HTTP 未正确配置并行请求,导致所有请求被串行缓存执行,阻塞了渲染。
找到病灶后,AI 瞬间就给出了正确的 Apache 配置文件。部署、重启、秒开,体验明显提升。
但就本次问题分析来看,Qoder 的系统思维似乎较 TRAE 更好一些(也不排除因为 TRAE 的上下文内容过长信息过多导致了”思维定势“)。
这是“角色自觉”的关键:当 AI 撞墙时,人必须提供更精确的客观数据(Trace Log、堆栈信息),而不是只对它说“还是太慢,再改改”。
自觉四:适应付费,理解 AI 的“性格”
不同的模型有不同的“性格”。GLM-4.7 像个执行力强但偶尔粗心的老员工,Qoder 像个收费高但能啃硬骨头的外部专家。
适应 AI 生产力,意味着要接受“算力是需要付费的”这一事实。为了解决那 10 秒的延迟,为了那一点 UI 的美感,支付 10 美元/月的订阅费是合理的工程成本。
最后一点
最终,我的家庭网站-孩子的成长 上线了。
代码主要是 AI 写的,服务器是我配的,Bug 是我们一起解的。
在这个过程中,我没有手写一行复杂的算法,但我比以往任何时候都更像一个工程师。因为我不再被语法细节困住,而是把精力花在了判断价值、识别风险、提供反馈上。
当 AI 接管了编码,你的“角色自觉”是什么?是退化成一个提词器复读机,还是进化成一个能够驾驭硅基劳动力的系统架构师?
这或许是我们每个人在 2026 年都需要回答的问题。
FAQ
1. 公开到网络上会不会隐私孩子的隐私啊?
谢谢提醒,孩子的隐私保护是我们很重视的。我们会注意对于孩子的隐私的保护。同时也会在合适的时候,引导孩子对于互联网环境的认识。
毕竟生活在现在这个时代,与互联网共存、与 AI 共生,已经不可避免。
2. 为啥作业还得网上批改啊,多此一举?
听起来确实挺多次一举的。但实际上这个痛点恰恰来自于我们的客观痛点。客观情况是夫妻二人在上班。而孩子寒假回老家了,有少量的作业需要完成,我们不希望增加爷爷奶奶日常照料孩子之外的辅导监督教育的责任,也不希望通过电话轰炸等不太可控的方式进行交流。因此,在和孩子约定每日完成作业的数量之后,不做过多干涉,孩子会将完成作业通过手机进行操作。
所以就有了一个网络远程交流的方式,也是一种对于孩子的辅助。网站是前端展示中的一环。整个基础架构,还涉及到比如功能约束后的智能手机采集作业信息、后台云网盘数据同步、后台数据 AI 辅助作业评价、网站数据同步等等。
网站目标是打造家庭数字资产基地。
3. 那么多的主流 APP,为啥多此一举造轮子啊?
这正是我们重视个人隐私和数字资产重要性的一个方面。
我们同意与互联网共存,但是我们也选择保留一块儿数字资产自留地。
4. 这个网站看起来很粗糙啊,有什么用?
确实挺粗糙的。我的愿景:打造一套适合家庭的数字资产系统,最小化改造或利用现有的硬件平台(比如只能手机、蓝牙音箱、云服务器)体验我们能够想想的 AI-Native 原生生活的样子。
了解 实践笔记 的更多信息
订阅后即可通过电子邮件收到最新文章。