ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AI辅助UI开发实战:从拼页面到定义页面的工作流变革

AI辅助UI开发实战:从拼页面到定义页面的工作流变革 讲个真实感受自从把 AI 加进日常开发流程后我写前端的状态变化非常大。以前接到一个后台管理页面光是搭布局、抠对齐、调间距就能耗掉大半天改稿两三次更是家常便饭现在同样一个页面我多数时候只需要把需求写清楚让 AI 先把界面骨架和样式一次性拉出来我再在它基础上做细节调整和业务逻辑接入。说“不想拼 UI”了不是说 UI 不重要而是“手动拼”这件事正在从我的工作方式里快速退场。这篇内容我会从自己的实际使用体验出发把“AI 辅助 UI 开发”这条链路完整拆开为什么以前拼 UI 费劲、AI 改变了哪个环节、我现在用的工作流长什么样、提示词怎么写给 AI 才能稳定输出、以及一路踩过哪些坑。适合正在做前端开发、独立开发、或者想用 AI 提升页面产出效率的读者参考。不保证什么“一句话生成完整系统”的玄学但至少能帮你把重复性的界面搭建部分真正减下来。1. 先说清楚拼 UI 到底在拼什么麻烦在哪很多人把“拼 UI”理解成“照着设计稿写标签和样式”好像只是体力活其实远远不止。真正的工作量分布在四个层面这四个层面的成本此消彼长才是前端开发真正磨人的地方。1.1 拼 UI 的真正成本布局、组件、状态、页面协调第一层是布局。从零开始把一个页面排出来要考虑容器宽度、栅格系统、间距节奏、响应式断点。这些不是“跑通就行”而是需要一遍遍对着设计稿微调像素级细节尤其在项目没有设计规范的时候每个页面都在重新做决策。第二层是组件。按钮、输入框、弹窗、表格、下拉选择器这些基础组件看起来简单真正落到项目里要处理的状态却很多加载态、禁用态、空数据态、错误态、聚焦态。我见过不少团队项目表面上用了组件库实际每个组件都被局部样式覆盖得五花八门最后主题色一改全站跟着乱。第三层是状态联动。一个搜索页至少包含关键词、筛选条件、分页、loading、数据缓存、错误提示这些状态一个表单页则要处理校验、提交中、失败回滚、二次确认。拼界面如果只拼视觉不考虑状态切换那做出来的只是“一张图”不是“一个可用的界面”。第四层是页面协调。设计中要求的交互细节比如表格列宽拖拽、数字滚轮选择、下拉菜单的定位翻转单看都不难但组合在一起就非常消耗精力。我在 Unity 里做过一个数字滚轮效果从 0 到 9 的滚动、惯性减速、回弹对齐自己调了快两天才达到理想手感后来用 AI 辅助生成核心逻辑我再专注调参数效率完全不一样。1.2 为什么 AI 能直接改变这条链路传统拼 UI 流程是“设计稿 — 人肉翻译成代码 — 反复校对”。这个流程最大的问题在于人肉翻译阶段不产生任何新价值却消耗大量时间和注意力。恰恰是这个阶段AI 的生成能力可以直接覆盖。现在的 AI 辅助开发工具已经能从自然语言描述、参考图、甚至一段模糊的草图里直接生成结构完整的页面代码。生成结果未必完美但通常能覆盖 60% 到 80% 的布局和视觉工作量。剩下的工作从“从零开始拼”变成了“在生成结果上改”难度和耗时都降了一个量级。我把这套方式叫做“AI 优先工作流”所有重复性的、有明确模式的界面搭建任务默认先交给 AI 生成初稿我再负责结构调整、业务逻辑和最终质量把关。这套流程不是偶尔用一下而是已经嵌进我每天的工作节奏里了。2. AI 辅助 UI 的整体思路与方案选型既然要聊方案先得把“AI 做 UI”到底有哪几条路讲清楚。我试过几种主流思路各有适用场景不能一概而论。2.1 三条路线文生代码、文生设计稿、组合工作流第一条路线是“文生代码”。直接用对话式 AI 或专门的 UI 生成工具让模型直接输出 HTML/CSS 或 React/Vue 组件代码。特点是上手快适合页面骨架、管理后台、内部工具这类对视觉要求不高的场景。我最早试的就是这种方式输入一段“我要一个三列布局的仪表盘左侧导航顶部状态栏内容区放统计卡片”几秒后就能拿到一版可运行的页面。第二条路线是“文生设计稿”。用图像生成模型产出视觉稿把想象中但不好描述的界面风格“画”出来再把它作为参考图让 AI 转代码。比如 ComfyUI 配合图像生成模型搭建工作流可以批量产出不同风格的界面概念图然后从里面挑合适的继续推进。这种方式比较适合早期探索视觉方向或者做活动页、落地页这类对“感觉”要求比较高的页面。第三条路线是“组合工作流”。把以上所有能力串起来先和对话式 AI 聊需求边界再用图像模型出视觉参考接着让代码模型生成组件最后接入项目中做集成测试。看起来最复杂但实际用下来稳定性最好因为每一步都有明确的输入和输出方便控制和回退。我现在的个人偏好是项目型的常规页面走第一条路线一步到位生成代码设计探索和活动页走第二条路线先用图像把风格定下来整个项目过程中用第三条路线做“多 AI 协作”的流程管理。2.2 工具选型从零散 AI 到组合使用先说对话式编程工具。我现在主力用的是支持代码上下文理解的工具比如 Cursor 或者安装了 AI 辅助插件的 VS Code。这类工具能把整个项目的代码结构交给模型参考所以生成代码时会自动带上你项目里已有的 CSS 变量、工具函数和组件命名风格这是“聊天框里生成代码”做不到的。再说 UI 生成型工具。市面上有专门把“一句话”转成前端代码的产品比如 v0 这类输入需求后可以直接得到可导出的 React 代码。这类工具适合生成初期页面原型我会拿它跑活动页和简单工具页生成的代码风格干净交互状态也比对话式 AI 更完整。然后是图像生成链路。ComfyUI 是我目前用得比较顺的工作流工具配合图像模型比如 qwen-image 这类中文理解能力较好的模型可以生成高质量界面视觉稿。你甚至可以搭建一个“界面生成工作流”把需求标签作为输入自动输出不同配色的界面方案批量对比后挑合适的作为设计参考省掉从头手绘的时间。如果没有专门工具纯用通用对话式 AI 也能完成大部分工作只是需要把提示词写得更有针对性。我后面会给可复用的模板。2.3 我最终选定的工作流长什么样说一个我最近做后台项目的真实流程你就明白这套方案怎么落地的。整个项目是一个面向运营人员的数据管理后台大概有 15 个页面包含登录页、数据看板、表单页、列表页、详情页。第一步我用对话式 AI 把所有页面的布局方案聊了一遍让它列出每个页面的区块组成确认没有遗漏业务模块。第二步对于视觉风格不确定的数据看板我用 ComfyUI 快速生成了三版配色方案定下整体基调。第三步把“布局方案 项目已有的设计规范颜色、间距、组件库 页面需求描述”写进提示词交给 Coding AI 逐页生成页面代码。第四步生成完毕后我让另一个模型以“项目维护者”的身份做代码审查重点找样式溢出、可访问性问题、响应式缺陷。最后我自己检查状态管理和数据接口对接。替换掉的工作量非常直观以前 15 个页面光搭静态界面就得两周现在整体的时间压缩了一半以上而且 AI 生成的代码在结构一致性上表现稳定因为每次提示词都带上了统一的规范描述生成出来的风格自然统一。3. 实操记录从提示词到可用界面的完整流程工具选好了真正决定产出质量的还是操作细节。这一节我把整个流程的一个例子完整拆一遍包括提示词模板、逐组件生成策略、接入项目的具体做法。3.1 怎么写提示词AI 输出才稳定我发现很多人用 AI 生成 UI 效果不好问题不在 AI在提示词太含糊。说“做个登录页”AI 只能给你一个泛泛的模板但如果你把页面结构、需要包含的状态、风格参考都描述到位输出质量会完全不同。我常用的一套提示词结构是四段式身份 任务 约束 验收标准。下面是一个可直接套用的模板你是一名资深前端工程师擅长使用 Tailwind CSS 开发高质量中后台界面。 请为一个数据管理后台生成“用户列表页”的完整代码。 页面要求 - 顶部为面包屑导航和页面标题 - 主区域为筛选栏包含关键词搜索、状态筛选、日期范围选择 - 表格列包含用户ID、昵称、手机号、注册时间、状态、操作 - 操作按钮包含编辑、禁用、删除 - 支持空数据状态、加载状态、错误状态三种展示 风格要求 - 使用项目统一的蓝色主题#2563eb - 间距使用 4px 基数卡片圆角 12px - 表格行高 48px文字大小 14px 请直接输出完整代码不要在代码前加解释不要使用示例图片占位。这个提示词看起来长但每一条都有用途身份限定让模型调用更专业的代码习惯页面要求决定了结构完整度风格要求决定了代码能直接融入现有项目验收标准则避免模型偷懒只给你一个“示意图”而不是可用代码。另一个经验是先让 AI 生成整体布局再逐个生成交互区块。直接让 AI 一次生成完整复杂页面容易在局部细节上崩坏但先生成框架然后说“现在请生成上一步表格模块中的状态筛选下拉框包含图标、下拉面板、选中态”每一步都聚焦一个点输出质量会明显更稳。3.2 组件级生成从整页到局部把大任务拆小一开始我总想一次生成完整页面但很快发现 AI 在一次生成中超长内容时越靠后的代码越容易偷懒经常会出现布局对不齐、样式类名缺漏、事件处理函数没写完这类问题。后来我改成“组件级生成 组装”效果立刻不一样。拆分的粒度可以参考这样一个表单页拆成“页面框架、表单卡片、表单控件、提交按钮区、校验提示”一个数据看板拆成“卡片网格、图表容器、指标卡、刷新功能”。每个组件单独生成时提示词里可以引用前一步的输出比如“基于上一步生成的表格组件生成一个状态标签组件用于在状态列中展示不同的状态颜色”。组件级生成的好处不只是质量稳定还方便替换和复用。如果某个生成的组件不理想只需单独重新生成它不必推倒整个页面。我后来甚至把常用的生成结果沉淀成项目内部组件库遇到类似需求直接复用配合 AI 做参数化改造。3.3 把 AI 产物接进项目一段必须人工介入的地带AI 生成代码接进真实项目不能直接复制粘贴。至少有三件事必须人工把关。第一件事是设计令牌的适配。项目里如果有设计规范需要检查 AI 生成的代码是否使用了正确的 CSS 变量和设计令牌比如颜色变量、间距变量、圆角变量。如果 AI 直接写死了颜色值后期主题切换会非常痛苦。我会把项目的变量清单贴进提示词明确要求“只使用以下设计变量”大幅减少返工。第二件事是组件的受控状态。AI 生成的组件交互逻辑往往是“演示级别”的比如弹窗打开关闭用简单的布尔值控制没有考虑点击遮罩关闭、按 Esc 关闭、锁滚动等细节。这些状态边界必须人工补全否则实际使用会出现交互遗漏。第三件事是接口适配。AI 生成的页面通常用 mock 数据展示需要替换成真实接口把 loading、错误重试、数据格式化、权限控制这些逻辑补进去。核心原则是AI 负责“壳”人负责“肉”。壳指布局和视觉肉指业务逻辑、状态管理、数据流和边界处理。3.4 多 AI 协作不只生成还要测试和审查我现在还会把一个项目的 UI 工作分配给多个 AI 角色。这个思路比“一个 AI 干到底”更稳。我会用一个对话负责整体架构一个对话负责页面生成一个对话专门做代码审查还有一个对话负责生成测试用例。代码审查这个环节尤其有效。我会把生成的页面代码粘贴给审查角色提示词写着“请以资深前端审查者身份检查这份代码重点关注响应式布局是否完整、可访问性是否符合 WCAG 基础要求、有没有多余的嵌套层级、状态切换是否齐全。请列出问题清单和具体修复建议。”实测下来每次都能找出几个我自己想不到的问题比如键盘无法操作下拉菜单、对比度不足这类细节。测试层面的协作也能跑起来让 AI 生成界面自动化测试脚本针对页面关键流程生成操作路径和断言我再把脚本接到 UI 自动化工具里执行回归。以前写测试脚本很枯燥现在基本是“生成 — 调整 — 维护”的模式成本降低很多。4. 常见问题与排查技巧实录AI 生成 UI 这条路不是一帆风顺的我踩过的坑可以排成一张长表。这一节挑高频问题按表现、原因、解法讲透。4.1 布局错乱生成的是代码不是确认过需求最常遇到的坑是AI 生成的布局结构和我的预期差一大截。比如我明确说要三列卡片布局它生成了两列或是在窄屏下没有做响应式换行直接挤成一团。原因多半是提示词里没有描述清楚关键布局约束或者模型凭训练数据里的“常见模式”补了它自己偏好的方案。解法分两步。第一步在提示词里把布局约束写得非常具体“网格列数为 3使用grid-template-columns: repeat(3, minmax(0, 1fr))在小于 768px 时切换为单列”。直接给技术方案AI 就不太会跑偏。第二步如果生成的响应式仍有问题不要急着跟 AI 来回对话直接手动改关键 CSS 断点改完以后把修正后的代码回贴给 AI并加上一句“记住这个修正后续生成其他页面时响应式断点也按这个规则来。”这样后续页面会少踩不少坑。4.2 组件风格不统一缺少规范和约束AI 每次生成不同的页面时如果没有统一的约束就容易出现“每个页面像一个独立设计”的问题。上一页按钮是圆角下一页按钮是直角A 卡片阴影偏重B 卡片接近无阴影。这让人非常头疼比手动拼 UI 还让人崩溃。根治办法是给每个提示词都附上项目规范这么做最有效。可以把规范集中写成一段固定文本每次生成新页面时复制进去。规范里明确主色、辅助色、字体层级、圆角、间距、阴影、组件风格。我会把规范放在一个独立的 Markdown 文件里AI 支持项目上下文时就引用文件路径不支持时就手动贴上。实测加上规范后跨页面风格一致性会明显提升后期修改只需要替换规范文本并重新生成即可。4.3 代码结构混乱与“幻觉组件”AI 有时会“发明”项目里根本不存在的组件或函数。比如我在 Vue 项目里让它用ui-lib的日期选择器它生成了一个完全虚构的组件引入。这种情况下第一次看到会觉得很无语但换个角度想这也提醒我们AI 生成代码后跑一遍编译和全局搜索检查不可少。我的排查步骤很简单先在项目中全局搜一遍使用的组件名是否存在再逐个检查组件的响应式、交互、状态边界。检查完毕把不存在的组件替换成项目里真正的实现再让 AI 基于真实组件重新生成。类库名、函数名越具体、越贴近项目真实命名幻觉出现的概率就越低所以提示词里最好直接贴出项目实际使用的组件名而不是说“用一个日期选择器”。4.4 常见问题排查速查表问题表现常见原因排查思路解决办法布局跑偏列数或顺序不对约束条件没写具体回顾提示词是否明确布局方式给出具体 CSS 网格方案并重新生成响应式下元素重叠缺少断点规则检查媒体查询是否生成手写断点修正后反馈给 AI 学习多个页面风格不统一没提供设计规范对比字体、颜色、圆角建立固定规范文本每次引用组件或函数不存在模型产生幻觉全局搜索组件引用修正提示词中组件名并重新生成状态切换缺失生成范围过大检查加载、空、错误状态拆成组件级生成并逐项列出状态交互细节缺失忽略了边界行为手动点击测试关键流程补充边界状态描述或人工补全性能表现差过大的图片、多余嵌套运行性能分析工具压缩资源、简化 DOM 嵌套这个表我实际操作中反复用过有些问题会叠加出现。排查顺序建议是先解决编译和运行层面的硬问题再处理风格统一最后补交互细节。5. 用了一段时间后的真心话AI 到底改变了什么说了这么多实操最后聊点更真实的感受。AI 辅助开发对我的改变不只是“更省时间”这么简单。5.1 工作效率的真实变化一个非常明显的趋势是我的时间从“造页面”向“审页面”转移。以前写一个列表页从布局到交互要两三个小时现在生成初稿加修改基本上在半小时到一小时之间。省下来的时间我用来做代码审查、状态边界补齐、性能优化和测试覆盖。更让我意外的是AI 在界面一致性上的表现反而比人工拼 UI 更稳定。人写代码状态好时风格统一、状态差时就不一定了AI 每次都用同一套规范代码风格一致性天然稳定。这件事让我重新理解了“规范”的价值不是限制创造力而是保证系统性的下限。5.2 AI 的边界它做不好哪些事AI 当然不是万能的。复杂业务交互、强设计感的页面、需要深度业务认知的界面规划这些它目前做得还是不太好。遇到高价值的方向探索、创意视觉稿、复杂交互动效我还是会自己动手画草图和原型。另外一个关键边界是AI 生成的速度越快越考验你对“什么是好的 UI”的判断力。如果你没有足够的审美和基础功底AI 给你什么你就用什么那只会得到一个平庸甚至混乱的产品。反过来如果一个开发者能清楚说出“这个页面的信息层级不对”“这个按钮的优先级被弱化了”AI 在他手里会非常好用因为它负责实现你负责决策。5.3 给还没开始的开发者一点建议如果你还没认真尝试过 AI 生成 UI我的建议不是急着跑通一个完整项目而是先从一个小页面开始比如重新做一次你自己项目的登录页。写清楚布局、风格和状态要求对比生成的代码和手写代码的差距再逐步加入更大范围的页面。这个过程能帮你快速建立对 AI 能力的真实感知而不是停留在“它很强”或“它不行”的抽象印象上。我个人在实际使用中体会到AI 生成 UI 这件事最值钱的能力不是提示词技巧而是对需求细节的拆解能力。你越能说清楚自己要什么AI 给你的东西就越接近可用状态而这个“说清楚”的过程和以前跟设计师沟通、跟同事对需求的底层能力是相通的。说到底再也不想拼 UI不等于不再需要 UI 功底。恰恰相反正因为有了 AI 承担重复的界面搭建我反而有更多精力去关注那些真正决定产品体验的部分信息架构是否清晰、流程是否顺滑、状态是否完整、异常是否能兜住。这套工作流真正带来的改变是让我从一个“写页面的”变成了“定义页面的人”。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进