AI 结对编程初体验:我是如何用 AI 从 0 到 1 搓出一个高颜值影视分镜(Storyboard)工具的
🤖 写在前面:当 AI 成为你的“全栈同事”
在过去,独立开发一个带有复杂交互(拖拽、时间轴、实时预览)的 Web 应用,光是搞定前端的组件状态、动画性能优化和 CSS 样式,就能让人掉一层头发。
但现在,有了 AI 编程助手的加持(比如 Trae / Cursor / GitHub Copilot),事情变得完全不一样了。
最近,我因为找不到一款好用、轻量且无需下载的“分镜(Storyboard)管理工具”,决定自己动手造一个轮子 —— Storypen。在这个过程中,我深度体验了“AI 结对编程”。今天就和大家复盘一下,我是如何靠“动嘴”和 AI 一步步把这个工具从 0 到 1 给敲出来的。
🎬 看看成品:Storypen 长什么样?
在讲过程之前,先看看我和 AI 一起搞出来的成品。
核心功能包括:
- 可视化的场次与分镜管理:支持卡片式的拖拽排序、场次分组折叠。
- 丝滑的全局时间轴:底部配有可以拖拽、播放、暂停的时间轴,实时预览片子节奏。
- 精细的 UI 交互:大量定制的下拉菜单、幽灵按钮(Ghost Button)以及完善的回收站机制。
(此处强烈建议插入 1-2 张应用整体界面截图或交互 GIF 动图)
🛠️ 选型:用什么框架让 AI 写得最爽?
AI 虽然厉害,但如果选了冷门或者生态不好的技术栈,它也会经常“胡言乱语”。为了最大化 AI 的生产力,我选择了目前 AI 训练语料最丰富、最主流的“现代化前端套餐”:
- Next.js (App Router):React 生态的老大哥。
- Tailwind CSS:AI 写样式的神器!你只要告诉它“我要一个带阴影、圆角、悬浮变红的按钮”,它就能精准生成一长串 class。
- shadcn/ui:无头组件库。AI 非常擅长基于 shadcn 的基础组件(如 DropdownMenu、AlertDialog)进行二次封装。
- Lucide React:清爽的图标库,AI 随手就能给你挑出合适的图标。
🧠 实战复盘:我是怎么和 AI “结对编程”的?
开发过程中,我把 AI 当成了一个“干活极快但偶尔需要指引方向的高级开发”。以下是几个典型的协作场景:
阶段一:用大白话搭建骨架 (UI & 布局)
一开始,面对白板,我并没有自己去写 HTML/CSS,而是直接向 AI 描述需求:
🗣️ 我:“我要做一个分镜管理界面,左边是侧边栏管理场次和分镜列表,右边是一个大的画板区域,底部是一个固定高度的时间轴。整体风格要现代化、暗色调优先,使用 Tailwind 布局。”
🤖 AI 的表现:
AI 迅速用 flex 和 h-screen 帮我把整体的三栏式骨架搭了出来,甚至连边框的颜色 (border-border) 和背景色 (bg-card) 都贴心地用上了主题变量。
阶段二:攻克复杂逻辑 (拖拽与时间轴)
这是最耗时的部分。分镜在场次之间拖拽,以及时间轴进度条的同步,涉及到非常复杂的 React 状态管理。
🗣️ 我:“现在帮我实现分镜卡片的拖拽。注意,分镜不仅能在同一个场次里拖动排序,还要能拖拽到另一个场次里去。拖拽的时候要有高亮提示。”
🤖 AI 的表现:
AI 帮我写好了 onDragStart、onDragOver 和 onDrop 事件。
当然,AI 第一版写的逻辑偶尔会有 Bug(比如拖拽时状态没及时更新导致画面闪烁)。这时候我不需要自己去查文档,而是把 Bug 现象丢给它:
🗣️ 我:“拖拽的时候,时间轴的控制轴出现了卡顿(Stutter),好像是因为滚动冲突了。” 🤖 AI 的修复: AI 立刻分析出是
scrollIntoView({ behavior: 'smooth' })导致的布局抖动(Layout Thrashing),并主动帮我重构了滚动同步逻辑。这种“排雷”速度是传统 Google 搜索无法比拟的。
阶段三:强迫症级别的细节打磨 (UI 调优)
当核心功能跑通后,我开始扮演“产品经理”和“UI 设计师”的角色,开始挑刺。
🗣️ 我:“项目列表里的‘删除’按钮,现在是幽灵按钮(Ghost),鼠标放上去的时候背景变成了橙色,但文字是红色的,非常难看。你帮我把所有删除按钮的悬停状态,统统改成红色背景+白色图标。”
🤖 AI 的表现:
它不仅帮我修改了当前文件的代码(将 focus:text-destructive 替换为 focus:bg-destructive focus:text-destructive-foreground),还主动帮我“全局排查”了整个项目中所有的垃圾桶图标,把卡片视图、列表视图、甚至回收站里的按钮样式全都统一了!
阶段四:性能优化 (让 AI 帮我 Review 代码)
🗣️ 我:“我需要你全面检查一下代码,提升可优化、可复用的组件。提升页面动画的性能。前提是不要修改原本的逻辑。”
🤖 AI 的表现:
它帮我找出了性能瓶颈,主动引入了 React.memo 来缓存庞大的 FrameCard 组件,防止无效渲染;并且把耗费 CPU 的 transition-all 优化成了 GPU 加速的 transition-transform 和 transition-colors。
� 总结:AI 时代的独立开发心得
通过这个项目,我深刻体会到了开发模式的范式转变:
- 从“写代码”到“做决策”:我敲键盘的时间变少了,但思考应用架构、用户体验和业务逻辑的时间变多了。AI 负责实现,我负责把控方向。
- 善用自然语言提问:不要对 AI 说“代码报错了”,而是要说“我在做 A 操作时,B 组件发生了 C 现象,我期望的结果是 D”。描述越清晰,AI 给出的代码越精准。
- 不要盲目相信 AI:AI 有时候会为了图省事写出低效代码。作为开发者,你依然需要具备 Code Review 的能力,适时打断它并要求它优化。
🔗 体验地址 & 源码
这个用 AI 辅助撸出来的 Storypen 已经上线啦!
- 在线体验地址:传送
如果你对这种 AI 结对编程的开发模式感兴趣,或者对工具本身有任何建议,欢迎在评论区留言交流!如果你觉得不错,求个免费的赞和 Star ⭐️!