【TRAE 技巧便利店】用 TRAE 一人单挑 70 章数理化仿真!从 0 到 65 种交互实验,聊聊我如何靠 AI 协作把 3 个月工期压成 1 周

TRAE技巧便利店

好的!让我为您准备一个适配 TRAE Work 专区的发布帖子,重点突出"TRAE 技巧",并结合本项目作为实战案例。


:graduation_cap:【TRAE 技巧便利店】用 TRAE 一人单挑 70 章数理化仿真!从 0 到 65 种交互实验,聊聊我如何靠 AI 协作把 3 个月工期压成 1 周

标签:TRAE技巧便利店 #TRAE #VibeCoding #独立开发 #教育科技


:pushpin: 前言:为什么发这个帖?

先自我介绍——独立开发者,主业做教育产品,之前做"中学虚拟实验"时踩过无数坑:

  • 早期招 3 个前端 + 2 个 Unity 工程师,做了一个 2D+3D 混合的化学实验编辑器,8 个月才交付 MVP
  • 重构 3 次,每次改需求就崩盘;
  • 想加新章节?后端改数据库结构 + 前端写 5 个文件 = 一周只能加 1 章

直到我开始用 TRAE 重新搭建这个项目,整个开发节奏彻底变了——

:sparkles: 一人 + TRAE ≈ 1 周干完原本 1 个月的活

今天不讲大道理,直接上实战技巧真实数据对比,重点说说我踩过的坑从中学到的协作心法


:hammer_and_wrench: 一、项目背景

项目名:数理化虚拟仿真试验室
功能定位:浏览器里跑的"中学理化生实验舱"
目标用户:初中 ~ 高三学生 + 自学党 + 农村学校无实验条件的老师

关键数据(最新版):

  • 70 章知识点(数学 30 / 物理 13 / 化学 8 / 跨学科 19)
  • 644 道闯关题
  • 65 种交互式仿真
  • 完全本地、零云端、零登录

:rocket: 二、TRAE 实操技巧:6 个让我提速 10 倍的姿势

技巧 :one:用一句话先写「章节模板」 — 数据驱动开发

以前我写一章要这样:

  1. 写章节元数据
  2. 写仿真参数配置
  3. 写 Quiz 题目
  4. 在 App.tsx 加路由 case
  5. 在 CHAPTER_ORDER 加排序号
  6. 在 types.ts 加联合类型
  7. 写仿真组件的 draw 函数

7 步,每步都可能写错

现在我这样用 TRAE

帮我为「高一数学·集合」写一整个章节数据,输出符合 src/data/curriculum.ts 的 TypeScript 对象格式,
需要包含:id、name、grade、subject、description、formula、coreConcepts、cases(3条)、
simulationType、simulationConfig、quiz(10题,每题4选项)。

TRAE 直接给我一段能直接 append 进去的代码,我只需要 Ctrl+C/V

:bullseye: 效果:单章节开发从 1 小时 → 3 分钟

技巧 :two:用「断言式 Prompt」让 TRAE 自己改 Bug

我经常这样给 TRAE 下指令:

src/data/curriculum.ts 第 5627 行有 TypeScript 错误:
Type '{ title: string; description: string; }' is missing the following properties from type 'CaseItem': principle, tip

请读取该文件,理解上下文后,自动找出所有类似的错误并批量修复。

TRAE 会:

  1. 读文件
  2. 用正则匹配所有 cases 数组里 principle 缺失的对象
  3. 写出 Node 脚本批量补全
  4. npx tsc --noEmit 验证

关键 Prompt 心法

  • :cross_mark: “这里有 bug,帮我修”
  • :white_check_mark: “第 X 行有 Y 错误,请用 Z 工具批量找出同类问题并修复,最后跑 Lint 验证”

:bullseye: 效果:原本要手动改 50 处的数据完整性问题,30 秒搞定

技巧 :three:让 TRAE 写"自检脚本" — 数据一致性是项目命脉

70 章 × 10 题 = 700 道题,怎么确保不重复、不缺漏?

我让 TRAE 写了一个 scripts/audit-data.cjs

// 让 TRAE 帮我写完后,每次提交前自动跑一次
// 1. 提取所有章节 ID,检查重复
// 2. 提取所有 Quiz 题目文本,检查重复
// 3. 检查文件末尾是否正确闭合
// 4. 检查每章 Quiz 是否 >= 10 题

这个脚本每次跑只要 0.1 秒,但帮我提前发现了 4 个问题

:bullseye: 效果:避免上线后用户发现"咦这章怎么只有 5 道题"的尴尬。

技巧 :four:用 “Skill 化” 工作流管理长任务

之前踩过的最大坑:任务超过 TRAE 上下文长度就丢失

解决方法:把"添加 24 个新章节"这种长任务拆成"小任务",每个任务一个独立会话:

任务 1: 添加数学 3 章(计数原理、随机变量、相关性)
任务 2: 添加物理 13 章(机械运动、声、透镜、密度、力、浮力、功和能、热机、欧姆、电功率、家电、电磁)
任务 3: 添加化学 8 章(化学入门、空气氧气、化学方程式、碳、燃烧、金属、溶液、酸碱盐)

每个任务给 TRAE 的指令模板

请按以下顺序添加章节:
1. 在 curriculum.ts 末尾追加章节对象 X
2. 同步在 App.tsx renderSimulation 加 case
3. 同步在 types.ts 联合类型追加
4. 同步在 CHAPTER_ORDER 加排序号
5. 跑 npx tsc --noEmit 验证
6. 如果报错,按报错顺序修复直到编译通过

:bullseye: 效果:24 章一次性完成,0 报错,0 返工。

技巧 :five:让 TRAE 跑"代码考古" — 找相似的旧实现做参考

加新仿真时,我不告诉 TRAE “自己造轮子”,而是:

请先读 src/components/RotationsSimulation.tsx 和 src/components/CirclesSimulation.tsx,
了解现有 Canvas 2D 仿真的"模式",然后按同样的模式实现新的"凸透镜成像"仿真。

TRAE 会:

  1. 读旧代码
  2. 总结出"模板"(滑块 → state → useEffect → draw)
  3. 复用模板 + 改写 draw 函数

结果:新增的 GenericSimulation 24 种仿真风格高度统一,UI/UX 零割裂感。

:bullseye: 效果:技术债为 0,新代码看起来像"原生"的一样。

技巧 :six:"验收脚本"比"需求文档"更靠谱

跟 TRAE 协作我学到的最重要一课:

别只说"做 X 功能",而要说"完成后必须满足以下 5 个验收条件"

比如我让 TRAE 加"高中数学·导数"章节时,验收条件是:

✅ 1. curriculum.ts 末尾追加成功,文件以 ]; 结尾
✅ 2. App.tsx 路由覆盖 simulationType='derivative'
✅ 3. types.ts 联合类型已包含 'derivative'
✅ 4. CHAPTER_ORDER 排序号 = 45
✅ 5. npx tsc --noEmit 零报错
✅ 6. npm run dev 启动后浏览器无控制台错误
✅ 7. 进入该章节能看到 Canvas 动起来的函数图像 + 切线

第 7 条最关键——前面都是机器能验证的,最后一条是用户能感知的

:bullseye: 效果:TRAE 不会糊弄我,交付质量稳定可预期。


:bar_chart: 三、数据对比:传统开发 vs TRAE 协作开发

维度 传统开发 TRAE 协作 提升
新增 1 个仿真 2 小时 8 分钟 15×
新增 1 个章节(含 Quiz) 4 小时 15 分钟 16×
修复 1 个 TS 编译错误 15 分钟(手工) 30 秒(TRAE 批处理) 30×
跑数据审计 30 分钟(人工检查) 0.1 秒(脚本) 18000×
整个 70 章项目(单人) 3 个月 2 周

:framed_picture: 四、效果展示

:house: 项目主页面

70 章跨学科实验舱一站式导航

  • 顶部统计指标:70 门实验舱 / 600+ 案例 / 644
  • 学科筛选 + 年级筛选 + 搜索
  • 学案顺序排序

:test_tube: 几个代表性仿真

① 凸透镜成像 — 拖动物距/焦距看光路变化
② 化学方程式 — 滑块控制反应进度,分子从反应物到生成物
③ 杨辉三角 — 调节 n 和 k 看组合数变化
④ 力的合成 — 拖动两个力看平行四边形对角线(合力)实时变化
⑤ 欧姆定律 — 拖动电压/电阻,电流表读数实时跳

:memo: 闯关测评

10 题渐进难度:基础 → 应用 → 综合 → 挑战
答错后给详细 explanation,不只是"对/错"


:brain: 五、心得:TRAE 不是替代你,而是放大你

很多朋友问我"用 AI 写代码,程序员不是要失业了?"

我的回答:

TRAE 不会让你失业,但不会用 TRAE 的人,会被会用的人"卷"失业。

具体到这个项目:

  • TRAE 帮我写了 80% 的"重复性代码"(Quiz 模板、章节 schema、基础 Canvas 绘制)
  • 剩下 20% 的"灵魂代码"(导数的切线动画、积分的黎曼和填充、化学反应的粒子碰撞)必须我自己写
  • 因为我才知道教学上学生最容易卡在哪里

AI 是最强的工具人,但

  • :cross_mark: 它不知道初中生看到 1/v 公式会懵
  • :cross_mark: 它不知道化学老师要演示红磷燃烧时必须先讲瓶底铺细沙
  • :cross_mark: 它不知道力矩平衡的"杠杆原理"光看公式没感觉

这些"教学 sense",永远要人来定义


:bug: 六、踩过的坑(避雷指南)

  1. :police_car_light: 大文件一次性塞给 TRAE = 上下文爆炸

    • :cross_mark: “把 245KB 的知识点文档读完再加进项目”
    • :white_check_mark: “先 grep 出章节标题,再分批读取(offset/limit)”
  2. :police_car_light: 不要让 TRAE 直接编辑大文件

    • :cross_mark: Edit 工具改 6000 行的 curriculum.ts,经常 “String not found”
    • :white_check_mark: 让 TRAE 写 Node 脚本读/写文件,避开 CLI 长度限制
  3. :police_car_light: TypeScript 项目必须每步验证

    • 我每加一章就跑 npx tsc --noEmit
    • 早发现 1 个错误省 1 小时
  4. :police_car_light: 别忘了浏览器侧验证

    • TS 编译通过 ≠ 浏览器能跑
    • 我专门写了一个 sub-agent 帮我开 headless 浏览器抓控制台错误
  5. :police_car_light: "批量生成"内容要抽样 review

    • TRAE 给我生成的 24 章 Quiz 我全 review 了一遍
    • 发现有 3 道题答案索引写错(answer: 0 但正确选项其实是 B)
    • AI 生成 ≠ 不用人工 review

:wrapped_gift: 七、彩蛋:我常用的 5 个 TRAE Prompt 模板

模板 1:批量数据生成

请为 {年级}{学科} 的「{章节名}」生成完整章节数据,
符合 src/data/curriculum.ts 的 TypeScript 模式:
- 3-5 条 coreConcepts
- 3 条 cases(含 title/principle/description/tip)
- 10 道 quiz(4 难度等级:基础/应用/综合/挑战)
- 仿真参数合理(参考相邻章节的 min/max 范围)

模板 2:批量错误修复

请在 {文件路径} 中找出所有 {错误模式},
用最简洁的方式批量修复,保留原有业务逻辑。
修复后跑 npx tsc --noEmit 验证。

模板 3:代码考古

请先读 {旧文件1} 和 {旧文件2},总结它们的实现模式,
然后按同样的模式实现 {新功能}。
重点保持代码风格、命名规范、错误处理的一致性。

模板 4:性能审计

请审查 {文件路径},列出至少 3 个可以优化的地方,
并给出具体可执行的修复方案。
不要泛泛而谈,要给出代码片段和预期收益。

模板 5:README 撰写

请基于当前项目代码,撰写 README.md,
包括:项目简介、技术栈、本地运行步骤、目录结构、TODO 列表。
语气要专业但友好,目标读者是其他开发者。

:speech_balloon: 八、写在最后

这次项目让我深刻体会到:

TRAE 时代的独立开发者,不再是"全能单兵",而是"指挥家 + 编辑"

你的核心能力不再是"写代码多快",而是"定义问题多准验收标准多严格判断 AI 输出多敏锐"。

70 章数理化实验舱,2 周搞定——这不是 TRAE 厉害,是会用 TRAE 的人厉害


:postbox: 一起交流

如果你也在用 TRAE 做类似项目,欢迎留言交流:

  • :thinking: 你用 TRAE 踩过哪些坑?
  • :rocket: 你觉得 TRAE 最强 / 最弱的地方是什么?
  • :light_bulb: 有什么 Prompt 模板你用过觉得特别好用的?

我会在评论区回复每一条评论 :tada:


:pushpin: TRAE技巧便利店 | :pushpin: #VibeCoding | :pushpin: #独立开发 | :pushpin: #教育科技

2 个赞

从8个月MVP压缩到1周完成65种交互实验,这个效率提升非常惊人。教育类仿真最大的痛点确实是需求变动时的重构成本,用AI来辅助迭代能大幅降低这个门槛。期待后续分享更多关于交互实验类型设计方面的经验。

好的,主要也是给自己家小朋友做个可以学和玩的东西

能共享看看吗?

我的也快做好了 :joy: