我是饶世豪,一个普通的程序猿,从大二开始正儿八经学编程。有大厂梦,和有一台风扇嗡嗡响的旧笔记本和一颗“不想挂科”的心。
2025年对我而言,不是被AI取代的一年,而是第一次真正和代码“对上频” 的一年。这一切,始于11月我点开 TRAE 的那个下午。
一、起点:还在用 alert() 调试的我
大二上学期,我的 JS 水平停留在:
- 用
document.getElementById绑定按钮 - 数据存在全局变量里,刷新就丢
- 遇到异步就懵,Promise 看不懂,更别说 async/await
课程作业做个“学生信息管理”,我写了三天,室友用 Vue 一天搞定。
那会儿我常想:是不是我不适合学这个?
二、遇见 TRAE:不是 AI,是“愿意等我”的搭子
11月初,课程设计要求做全栈应用。我慌了,去掘金搜方案,第一次接触 Vibe Coding,注册了 TRAE。
第一次提问很笨:“怎么实现分页?”
它回了段 slice 代码,我看不懂。
但我没关页面,多打了一句:
“我是大二学生,刚学数组,能不能用 for 循环写?我想先看懂。”
它真的重写了,还加了注释和边界判断。
那一刻,我觉得它不像机器人,像实验室里那个总坐我旁边、耐心讲题的学长。
三、踩过的坑,都是成长的记号
▶ PostgreSQL 安装失败三次
第一次:卡在初始化;
第二次:密码认证失败;
第三次:直接报错退出。
最后发现——360安全卫士在后台拦截。
关掉杀软,右键“以管理员身份运行”,密码改成 Rao@2025(带符号),才成功。
▶ Mock 数据原样输出
我把 @datetime 拼成 @datatime,结果页面直接显示字符串:
@datatime("yyyy-MM-dd HH:mm")
查了两小时以为是 Vite 配置问题,贴给 TRAE,它秒回:
“拼错了,是 datetime,少了个 ‘e’。”
脸红了,但心里松了口气——终于找到原因。
▶ 外键报错:“no unique constraint”
建 posts 表关联 users.id,死活报错。
折腾一晚才发现:我建 users 表时只写了 id SERIAL,忘了加 PRIMARY KEY。
PostgreSQL 里,自增 ≠ 主键。必须显式声明。
改完那一刻,我截图发朋友圈:“又活过来了。”
四、Vibe Coding 教会我的事
- 它不替我写代码,但让我敢尝试
以前看到“分页+点赞+评论”就退缩,现在敢拆解、敢问、敢试。 - 它不给标准答案,但教我精准提问
从“怎么做登录?”变成“我用 localStorage 存 token,刷新丢失,怎么持久化?” - 它甚至在我拼错
Invalid时默默纠正
后来我才知道,那是 typo,但它从不说“你错了”,只说“建议这样写”。
五、2025 年底:交出了第一个“完整作品”
我演示了一个技术文章分享站:
- 前端:原生 JS + Axios 调用
/api/posts?page=1&limit=10 - 后端:Vite Mock 拦截请求,返回带分页的假数据
- 数据库:本地 PostgreSQL,亲手建 users/posts 表,写外键、索引、JOIN 查询
别人问:“这是你自己做的?”
我说:“逻辑是我写的,TRAE 帮我避坑。”
他笑了:“知道借力,也是能力。”
六、写在最后
2025年,我没拿奖,没实习,GitHub 只有三个仓库。
但我从 alert() 走到了能独立设计数据库、处理分页、调试跨域。
AI 没有取代我,它把我从“实现细节的泥潭”里拉了出来,让我第一次看清:编程的本质,是解决问题,而不是敲键盘。
2026年,我还会继续写。
可能还是笨拙,可能还是会拼错 datetime,
但至少,我不怕了。
#2025 AI/Vibe Coding 对我的影响# #TRAE#
——致每一个在宿舍熬夜 debug 的普通人。