
最近两三个月我几乎没再干过一件以前每周都要干的事——对着设计稿一块一块地拼UI。以前接一个后台管理的需求光是把侧边栏、表格、筛选器、弹窗一层一层摞出来一天时间就没了而且拼出来的东西自己都不想看第二眼。现在呢把需求用大白话告诉AI它直接给我一版能跑的界面我再花几分钟改改细节整个页面就能用了。这篇文章就聊聊我这个转变是怎么发生的AI到底怎么参与UI生产怎么让它生成的界面真正可用以及“不拼UI”之后我们这种人到底在干什么。适合前端开发、独立开发者、产品朋友看也适合那些一直被重复性界面工作折磨、想换种工作方式的人。1. AI改变UI生成的底层逻辑1.1 从“拼接”到“表达”以前做UI本质上是个翻译过程设计稿是视觉语言代码是工程语言我夹在中间一点一点把颜色、间距、圆角、层级结构手工翻译成HTML和CSS。这个过程很机械但又特别耗时因为颜色要对着取色器一个像素一个像素地看间距要拿着标尺工具反复量一个不留神就搞出个“看起来差不多但总感觉哪里不对”的界面。AI介入之后这个翻译过程被压缩了。现在主流做法是你直接告诉AI“我要一个订单管理页面左侧菜单有这几个入口主区域是一个可筛选的表格右侧放数据统计卡片”它就能基于对大量界面模式和组件库的学习直接生成结构完整、样式可用的界面代码。这就是我标题里说的“不想拼UI”——不是懒而是拼这个动作本身已经不值得我花时间了AI几秒钟就能完成我以前一小时的工作。要注意的是AI生成界面不是“无中生有”它是在模仿和重组无数真实界面背后的规律。一个合格的UI生成提示词本质上是在给它提供足够多的约束让它知道你处在什么场景、面向什么用户、需要什么组件、偏向什么视觉风格。约束越清晰生成的结果越接近脑中的画面。1.2 为什么AI特别擅长“拼”这件事我观察到一个规律凡是重复性强、模式清晰的工作AI都做得又快又好拼UI恰好属于这类。后台管理系统的界面结构非常固定顶部导航、侧边栏、内容区、表格、表单、弹窗、分页器翻来覆去就是这些组件的排列组合。AI见过几十万次这样的组合它生成出来的界面天然就是规整的。但AI在“无中生有”的视觉创新上其实很弱。你让它做一个充满实验性、品牌辨识度极高的营销页面它生成出来的东西大概率是“好看但没灵魂”可以直接商用但很难让人记住。所以我现在的工作分配方式很明确结构性的、重复度高的界面全部丢给AI真正需要审美判断和创意突破的部分才自己上手。1.3 哪些场景最适合用AI生成UI根据我这几个月的实践最适合交给AI生成UI的场景最典型的有这么几类后台管理界面订单、用户、数据列表、权限配置这类页面组件固定、交互简单AI生成质量非常稳。数据看板各种统计图表、指标卡、筛选器组合AI对常见图表库的用法很熟能直接生成可交互的图表容器。表单流程注册、登录、多步骤表单AI生成的表单结构清晰校验逻辑也能写成可运行代码。工具类产品的原型页快速验证一个想法时没必要精修设计稿直接用AI出一个能点的原型能省下非常多时间。反过来说品牌官网首页、复杂动效落地页、高度定制的可视化大屏这些场景我建议你还是找设计师或者自己手动调AI目前很难代替审美层面的长期积累。2. 让AI生成理想UI的实操流程2.1 写出一份合格的UI生成提示词聊完原理直接上实操。很多人说AI生成UI“不好用”十有八九是提示词写得不够具体。我把我现在用的一套模板分享出来你可以直接抄走请帮我生成一个【后台订单管理页面】的前端代码要求 1. 技术栈React Tailwind CSS使用函数组件和Hooks。 2. 页面布局左侧固定侧边栏宽度240px包含菜单概览、订单管理、商品管理、用户管理、系统设置顶部为页面标题和操作按钮区主内容区放订单列表。 3. 功能模块 - 顶部操作区订单搜索框、状态筛选下拉框全部/待付款/已发货/已完成、“新增订单”按钮 - 表格包含订单号、客户名称、商品、金额、状态、创建时间、操作列操作列中有“查看”“编辑”两个文字按钮 - 表格底部分页器每页10条显示总条数 - 页面右侧今日订单数、待发货数、退款数三个统计卡片。 4. 视觉风格简洁商务风主色使用#4F46E5背景使用#F9FAFB卡片圆角8px字体使用系统字体stack。 5. 响应式桌面端为三栏布局窄屏时侧边栏收起为顶部菜单表格允许横向滚动。 6. 补充要求表格数据用静态JSON模拟不要接后端状态标签用不同颜色区分。我很清楚大家不愿意写这么长的提示词但这个长度是值得的。你给AI的信息颗粒度直接决定了它输出的质量下限。我见过只写一句“帮我做一个订单管理页面”的生成结果不能说不对但通常会用上一堆你不知道从哪来的组件库或者页面结构完全跟你的预期对不上。多花两分钟把页面拆成“布局组件交互视觉”四个维度说清楚AI产出的东西能直接用。2.2 把AI产出的界面接入项目工程AI生成的原生HTML片段看起来很美但真正落到已有项目里还是会遇到几个坎。第一步要看它用的技术栈跟你的项目是否匹配不匹配就先让它重构到你的栈上。比如你的项目用的是Vite Vue 3 UnoCSSAI却给了你React的Tailwind代码直接让它改别自己翻译。第二步是样式变量。AI很可能在代码里硬编码一些颜色值、间距值而不是读取你的设计变量。我通常的做法是先把项目的核心设计令牌喂给AI比如主色、圆角、间距、字体让它在生成时就套用。如果AI没有用变量我会让它统一替换成项目里的CSS变量避免后期改主题时全局失控。第三步是资源路径。AI生成的静态资源、图片路径经常会写死或者指向一个它幻想出来的文件。一定要注意提醒它使用项目内的资源路径或者网络图片地址占位不然组件一跑就是一片红。2.3 AI返回结果不满意怎么办我每次让AI生成UI都会在心里预期“第一版肯定不能直接用”。这不是AI不行而是沟通中天然存在信息损耗很多我没写清楚的细节它会按自己的理解去瞎猜。处理方式很简单——把它生成的结果当成一个可以迭代的草稿用多轮对话一点点逼近目标。具体做法是“一次只改一个维度”。如果页面整体布局没问题但颜色太艳你就让它只调整颜色如果表格结构没问题但操作列少了“删除”按钮就让它只补这个按钮。切忌一次让它改七八个地方AI会改飞改完之后你可能要重写整个文件。另外一个非常实用的小技巧让AI解释它的设计决策。当它给出了一个你不太理解的布局时直接问它“为什么这么排”它的解释往往能让你发现一些你自己都没想清楚的需求细节。这有点像跟一个水平不错的初级设计师协作你不需要完全按它的思路走但它的思路值得拿来参考。3. 有了AI之后我原本的工作发生了什么变化3.1 从“拼”到“审”过去我做界面工作重心在“怎么把设计稿变成代码”现在有了AI我工作重心变成了“怎么判断AI产出的东西对不对、好不好”。这个转变非常深刻。举个例子AI生成一个订单管理页面只要30秒但我可能要看5分钟菜单层级是否正确表格字段是否齐全筛选逻辑是否合理空状态有没有处理权限隐藏有没有考虑。AI解决的是“把结构搭出来”而我要解决的是“这个结构到底要不要这样搭”。判断力变成了核心能力而不是手速。这件事对新手其实是个机会。以前你要想参与真实的UI项目至少得先把各种组件库用法、布局技巧学个遍现在AI帮你把这些工具能力补齐了你只要能想清楚需求、判断好坏就能产出可用的界面。这相当于把“UI工程师”的门槛从“会写代码”降低到了“会提需求、会审结果”。3.2 哪些UI仍然需要自己动手我踩过几个坑之后总结出了AI暂时搞不定的几种界面强动效界面。AI生成的过渡动画基本都是CSS基础动画复杂的时间曲线、联动的视差效果、手势驱动的转场它做不到。高度定制化的数据可视化。让它做简单的柱状图、折线图没问题但复杂的桑基图、地图下钻、实时流数据场景还是得靠专门的库和图册经验。需要深度组件抽象的工程界面。在大型项目里UI不是光好看就行还涉及组件复用、逻辑分层、状态管理。AI生成的代码往往是扁平式的没办法直接满足工程化要求。跟硬件交互的界面。桌面端应用、嵌入式屏幕、特殊输入设备的界面AI缺乏真实设备的反馈信息生成出来的东西经常不能用。我在这些场景里还是会自己动手。说得直接一点AI是一个很厉害的实习生它能帮你把80%的常规工作干掉但那20%需要经验、判断和真实环境反馈的活还是得你来。3.3 效率到底提升多少拿刚做完的一个报表中心项目来说。这个项目包含登录页、工作台、数据报表、用户管理、系统配置五个页面模块不少。过去这个体量我给自己的估时是5到6个工作日包括写页面、调样式、补状态。这次我用AI走完全流程从提示词到最后一个页面收尾总共用了一天半。页面框架搭建原来2天现在2小时样式细节调整原来1.5天现在3小时状态补全空态/加载态/异常态原来1天现在1小时响应式适配原来1天现在4小时这组对比不代表AI在所有项目里都能带来同等提升但它在“常规后台类UI”这个场景下的优势是实打实的。省下来的时间我拿来做了之前一直拖着的组件文档还顺手优化了两个数据查询接口的性能。这个变化是我个人最直观的感受——不是让我失业而是让我有时间去干那些更值得干的事。4. UI自动化里的AI从手写脚本到自然语言驱动4.1 AI驱动的UI回归测试UI写完不是终点后面还有改动和回归。以前我维护UI自动化测试脚本时最头疼的就是元素定位——今天改了类名明天重构了DOM结构测试脚本隔三差五就挂一片。后来我发现AI在这一块能帮上大忙你只需要用自然语言描述你想验证的交互流程AI就能自动生成对应的自动化脚本而且它能根据页面结构自动推断稳定的定位策略而不是像以前那样死死盯着一个class名。在实际使用中我会把页面核心流程的回归用例直接交给AI来“口述生成”比如“打开订单页筛选状态为已发货点第一行的查看按钮确认弹窗显示出订单详情”。AI生成脚本后我再让AI对着当前页面结构检查一遍选择器是否有效这种“生成自查”的组合拳让我的UI回归测试维护成本下降了非常多。另外值得一提的是利用大模型的多模态能力还能做视觉层面的回归校验。AI可以对比改版前后的页面截图自动标记出位置偏移、颜色变化、元素遮挡这类问题这个能力天然契合“UI变化了我不知道有没有弄坏”的痛点改完一个页面顺手拍一眼安全感高了不少。4.2 自然语言直接驱动界面Agent再深一层是“让AI直接操作界面”这个方向。现在很多工具支持把AI Agent接到浏览器环境里让模型通过视觉和文本理解界面然后自主执行点击、输入、选择等操作。我最近试过让它自动完成“创建一个新商品、填写信息、提交审核”这个跨页面的流程基本能跑通偶尔有需要人工干预的节点但大致逻辑已经成立。这对UI工作方式有一个引申意义如果连操作界面都可以AI代劳那么UI职责就要从“被操作的对象”转向“被AI理解的对象”。你的页面结构是否语义化、按钮是否有清晰的aria-label、状态变化是否在DOM中有明确标识这些都会影响Agent能不能顺利完成任务。换句话说未来做UI不仅要给人看还要给AI看。现在我做界面时会习惯性检查一遍语义化标签和可访问性属性这既是给用户方便也是给AI铺路。5. 常见问题与踩坑实录5.1 AI生成的UI代码常见质量问题实践下来AI生成UI最容易翻车的几个点我列成一张表方便你边用边对照典型问题现象我的解决方案样式变量未打通引用了不存在的CSS变量页面加载后样式爆炸事先把项目的设计令牌写进提示词生成后全局搜索未定义的var()假组件用了一个不存在的组件库组件跑起来直接报错提示词里写明组件库和版本号生成后让AI自查引用是否真实存在交互缺失表格操作列按钮点了没反应明确要求补齐所有click/hover/disabled状态响应式崩坏手机端布局溢出、按钮叠一起提示词里单独写响应式断点生成后让AI针对手机端单独做适配动态数据硬编码统计卡片的值是写死的换数据源时要改代码拆成props或state让数据从父组件或请求中传入这些问题的共性是AI生成的是“看起来对”的东西但工程上的完整性需要靠人来兜底。我的做法是在提示词里加那句“注意工程化状态和交互拆分清楚”实际效果比不加要好很多。5.2 为什么AI有时候会“不听话”我用了很长一段时间的AI生成UI之后有一个非常强烈的体会AI不是不听话而是它只能按照它学到的规律执行它不知道你的项目上下文里那些“约定俗成”的规矩。比如你项目里的按钮统一用圆角全圆AI却可能按它默认的8px来你项目里的表格要固定表头AI默认是常规滚动。这些在你看来是天经地义的东西它根本不知道。所以要AI“听话”就要把规则显式地告诉它。我现在跟AI协作时会随手维护一份“项目风格指南”里面记录颜色、字号、间距、组件使用习惯等约定每次生成前直接贴给它。相当于给这个“实习生”一本实习生手册不然它只能瞎猜。5.3 一次别让它做太多事这是我踩得最深的一个坑。最开始我图省事让AI一次生成整个管理后台一共十几个页面结果是生成到一半就断了或者各页面的侧边栏样式不够统一后面改起来比完全手写还累。后续我调整成“一页一生成生成即校对”每次只聚焦一个页面甚至一个页面分区域生成。效率和稳定性之间是有平衡的。AI一次处理的信息量有限你硬塞给它太多它就会在局部给你塞一些毫不相干的东西。把任务拆碎反而能控制好质量。还有一个小经验生成完一版后立刻让AI给自己提意见比如“这个页面从用户角度有哪些可以改进的点”。AI的自我复盘往往能发现一些你注意不到的细节比如空状态缺少引导、筛选器默认值不合适。把这个流程养成习惯之后你的AI生成的UI会越来越像一个老手做的。我个人现在的工作方式已经完全回不到“每行代码都自己敲”的状态了。AI先出框架我做判断、定方向、补细节这个模式运行了几个月产出质量和我的心态都好了很多。如果你也想试试我的建议是先拿一个不重要的后台页面练手别一上来就挑战品牌官网这种需要高度审美把控的东西否则你会觉得“AI不行”其实是你给它的舞台不对。最后分享一个小技巧第一次提示词多花五分钟写细比你后面改十轮还有效。这是我试了无数次之后最省钱的一个建议。