
上周调一个后台管理页面的样式为了跟设计师的稿子对齐我在对话框里打了一百多个字“右上角那个按钮往左移一点不对是往左上角跟下面输入框的左侧对齐颜色再浅一点圆角稍微大一点……”打完之后我自己都笑了这种话别说AI听不懂人听完也得懵。后来我直接一张截图甩进对话框加一句“照着这个改”三秒钟解决。后来我认真琢磨了一下AI代码助手里“多模态输入”这件事发现一个特别朴素但好用的规律打字不如说话说话不如截图。这句话放在真实工程里并不是段子。AI代码助手的能力上限其实从来不只是模型参数而是我们喂给它信息的方式。文字、语音、截图三种通道的信息密度和信息类型完全不同用对了场景效率差距是数量级的。这篇就把我实际用下来的经验整理一遍从“为什么文字低效”开始到语音怎么用、截图怎么用、最后怎么把三种输入组合成一套顺手的多模态工作流以及我在里面踩过的坑。1. 为什么打了一大段字AI还是经常“听不懂”先别急着学技巧得先搞明白一个问题我们明明把需求讲得很清楚了AI代码助手为什么还是经常给出偏掉的结果关键在于AI代码助手本质上不是一个“听命令的工具”它是一个从上下文预测输出的模型。你给它什么样的信息它就基于这些信息去生成代码。如果你喂进去的文字本身就是残缺的、有歧义的、有损压缩过的它生成的东西自然也好不到哪去。1.1 文字描述视觉信息天然是“有损压缩”UI界面、布局、配色、间距、层级这些信息本质上是连续的多维视觉信号。而文字是离散的符号你想用文字去精确描述一个界面信息至少会被压缩一遍。举个例子你要让AI实现一个用户卡片头像多大圆角是 8px 还是 50%卡片 padding 是 16px 还是 24px边框是 1px solid #eee 还是 0.5px 更合适阴影是 subtle 一点还是明显一点头像和用户名之间间距多少用户名下方那行小字是副标题还是标签这些问题如果靠打字你得写十几个字段而且每个字段AI都理解得“差不多”。最后生成出来的东西可能每个细节都差一点整体观感就差很多。但如果你直接给一张设计稿截图这些信息全部是像素级的AI不需要靠猜。1.2 文字表达关系绕了太多弯子另一个文字的死穴是“关系”。代码和UI里大量存在的不是孤立属性而是对齐、包含、并列、遮盖、响应式变化这些关系。用文字描述关系非常痛苦“弹窗右侧的按钮要在触发元素的下方居中”——到底以谁为基准“这个区域跟左边那个区域在 1200px 以下要堆叠”——堆叠顺序是什么“栅格间隔要比卡片内边距大但比外间距小”——这些量到底是多少人看到一张图这些关系一秒就能理解。AI通过文字理解就需要不停地猜。这不是模型能力不行是文字这个通道本身就不适合干这件事。1.3 长篇文字容易分散关键信息还有一个特别容易忽视的问题上下文窗口是有限的。尤其是在多轮对话里你打一大段修饰词和背景说明AI要把所有信息都塞进上下文里做推理。关键信息可能被淹没在“我想要一种比较现代的感觉”“颜色稍微活泼一点”这类模糊描述里。我自己做过一个测试同一个UI还原需求用600字文字描述让AI生成和截图让AI生成最终结果的可接受度差异非常大。文字版本生成出来的页面大结构是对的但细节一塌糊涂而且很多细节是我根本没有能力用文字表达清楚的。所以多模态输入的本质不是“给AI更多信息”而是给AI它最容易理解的信息。文字适合表达逻辑和意图图像适合表达结构和视觉语音适合快速倒出思路。后面两节我分别展开。2. 语音输入的正确打开方式说意图别念代码很多人对语音输入的理解就是“我对着电脑说一段话AI帮我写代码”。这个理解用歪了。真实工程里语音输入最大的价值不是替代键盘而是把脑子里的模糊想法快速变成提示词。2.1 语音最适合的场景思路梳理和需求表达我实际用得最多的场景是这几类从零开始搭一个模块心里大概有个方向但还没细到能写成需求文档先语音说出来AI能快速产出初版骨架。写测试数据或注释这些内容逻辑简单但字符量大用语音说很快。复盘代码逻辑跟AI对谈一个复杂函数语音解释自己的思路比打字快得多。移动端或者开会顺手记录突然想到一个实现方案语音先记下来。示例我会这样对AI代码助手说“帮我写一个 React 组件接收用户列表数据渲染成卡片式布局每个卡片显示头像、用户名、最后登录时间。点击卡片后展开显示用户最近三次订单的金额。组件要支持空状态和加载状态。”这段语音转文字后直接扔给AI效果很好。因为它描述的是“意图”和“数据结构”不是具体语法。2.2 语音千万别用来念代码反过来如果你试图用语音把一段代码或者精确的标识符念给AI结果通常是灾难大小写问题“userService”和“userservice”完全不同语音无法保证准确。符号问题小括号、尖括号、花括号、分号、问号语音识别经常混乱。专业术语问题“Array.map”会说成“艾瑞 map”“Ant Design”可能识别成“蚂蚁设计”“Tailwind”变成“泰尔温德”。我自己试过一次用语音念一段 10 行的函数识别结果基本没法直接用改错比重新写还慢。所以我的结论是语音说意图代码交给AI生成。不要妄想让语音帮你精确输入代码。2.3 语音输入的实操链路和工具我推荐两条链路先用语音转文字工具把话转成提示词检查修正一遍再粘贴到AI代码助手里。如果你用的AI代码助手自带语音输入功能直接对着它说说完看一下转出来的文字。工具方面系统自带的语音输入、讯飞输入法的语音转文字、或者是Whisper这类本地模型都可以。我个人偏爱的是先转文字再贴给IDE里的代码助手因为这样我能对提示词做二次编辑。这里有一个关键习惯语音转完文字之后一定要读一遍把专有名词修正过来。“Vue”被识别成“view”这种小错误如果不改AI会理解成另一个意思。再补充一个技巧在语音提示词后面加一句“按工程最佳实践实现忽略口语化表达”能有效防止AI把口语化的“我想搞个那种能点一下弹出来的东西”生成出质量很差的代码。3. 截图才是杀手锏设计稿、报错、手绘草图三种玩法如果说语音解决的是“想法倒不出来”的问题那截图解决的就是“视觉细节说不清楚”的问题。一张截图信息密度可能顶得上五百字提示词。这一节我把截图的实际玩法拆成三类分别说透。3.1 玩法一UI设计稿还原像素级参考这是截图输入最经典也最能出效果的场景。当你手上有设计稿要让AI实现前端页面时不要试图用文字描述设计稿直接把设计稿截图喂给它。我常用的提示词结构是这是一张目标界面的设计稿截图。 请用 React Tailwind 实现该页面严格参考截图中的配色、间距、圆角、字体层级。 不要问我问题直接生成完整可运行的组件代码。 注意实现响应式在 768px 以下单列展示。实测下来AI能从截图中提取出布局结构、组件的相对位置、大致的视觉风格生成出来的页面第一次就能达到“长得挺像”的程度。这在纯文本时代是不可能的以前文字描述出来的页面AI总是“把每个模块都排出来了但看起来就是不对”。需要提醒的是截图输入不等于无损还原。AI通常会“大概对齐”但在精确尺寸、颜色色值、字体大小上还是会出现偏差。所以截图输入的定位更接近先让AI在几百字描述达不到的维度上建立正确的全局理解再用少量文字做精确修正。3.2 玩法二报错日志一张图定位问题写代码谁没被报错折磨过而报错信息恰恰是另一个截图的高频场景。有些报错场景下文本复制并不方便终端里报错很长鼠标跨行选取容易漏选。远程开发机上的CI日志复制要经过好几层跳板。有些工具的报错弹窗不能选中文本。手机收到一段告警消息随手截图发给自己。这些情况下直接把报错截图发给AI说一句这是程序运行时的报错截图帮我分析可能的原因并给出修复建议。 同时注意截图里包含哪几行代码上下文请结合上下文判断。AI视觉模型能识别截图中的英文报错信息、文件名、行号甚至能结合你之前的代码上下文给出修复方案。这条链路比手动在终端里复制日志再粘贴给AI要顺滑很多。有个小经验截图时尽量把报错前后几行代码也带上不要只截报错那一行。AI能通过上下文判断是“变量未定义”还是“类型不匹配”准确率会明显提升。3.3 玩法三手绘草图把想法画出来再生成这可能是我最惊喜的用法。原来我一直觉得画草图还要拍照上传太麻烦不如打字。后来发现当布局关系复杂到文字说不清的时候随手画一个草图反而最省力。比如我想做一个设置页上半部分是个人信息下半部分分两栏左栏是账号安全设置右栏是通知偏好右上角有全局保存按钮。这个布局用文字描述要写一段不短的话还容易有歧义。但如果我在纸上随手画一个方框示意图拍照发给AI说这是我手绘的页面布局草图请忽略画笔粗糙的地方按合理的组件结构实现。 布局里每个方框代表一个区域请推断每个区域应该放什么模块。 用 Ant Design 实现前端页面。AI能把这个草图理解成一个大致的页面结构并自动填充合理的组件。手绘草图像素不高、线条歪歪扭扭都没关系AI的视觉理解已经能处理这种粗糙输入。重点是在提示词里告诉它“忽略粗糙笔画”避免它真的去还原你的手绘笔迹。3.4 进阶截图加标注比无数句话都管用截图加红框加箭头的组合是多模态输入里我最推荐的进阶玩法。场景是这样AI已经生成了一版页面跑起来之后我发现“这个按钮位置不对”“那个列表间距太大”。如果光打字又回到了一开始那种“一二三四五”的费劲描述。正确的做法是把页面截一张图。在截图里用红框圈出需要修改的区域拉箭头写上一两句注释。把标注过的截图发给AI说“按标注改”。这比纯文字描述精确太多。AI能看到你圈的具体位置知道你要改的是哪个元素减少无数轮无效对话。截图标注工具我用得比较顺手的是 Snipaste 和 PixPin系统自带的截图也能画框。关键不是工具而是习惯发现视觉问题第一反应是截图而不是打字。4. 一趟完整的项目协作语音起稿、截图定位、文字修改聊完三种输入方式各自的特点你可能想知道它们到底怎么组合起来用。我拿一次真实的小需求来完整走一遍流程看完你就能直接套用。4.1 流程拆解从口头需求到页面落地我做的是一个简单的用户管理列表页需求是“顶部有搜索和筛选区中间是用户表格有分页右侧有导出按钮整体风格清爽简洁要参考我们现有后台的视觉风格”。如果走纯文字路线我得写帮我做一个用户列表页页面顶部放一个搜索框按用户名搜索 旁边是状态筛选下拉框筛选启用和禁用用户表格列包含用户ID、用户名、邮箱、状态、注册时间、操作……写到这里已经有点累了而且用什么组件、什么间距、什么配色完全没提AI只能凭感觉发挥。现在用多模态的组合流程是这样第一步语音起稿把意图倒给AI对着语音转文字工具说一句“帮我写一个用户管理列表页顶部是要有搜索筛选区中间是用户表格支持分页表格右侧要有导出按钮风格参考典型后台管理界面用 Ant Design 的 ProComponents 风格。”这一步只花十几秒AI就理解了功能模块的组成。第二步截图定位视觉参考如果你手头正好有一张参考设计稿直接把截图丢给AI“页面的整体视觉风格参考这张截图尤其是表格的间距和卡片阴影。”如果没有现成的设计稿你可以在对话里先找一张你喜欢的后台界面截图或者直接用一张你公司的后台页面截图作为“风格锚点”。有了这张图AI在配色、间距、模块划分上就有了参照系。第三步AI生成初版代码把上面的语音文字和截图一起发出去AI生成一份包含搜索区、表格、分页、导出按钮的代码。第四步本地跑起来截图对比反馈代码跑起来之后把实际渲染结果截图发给AI。带上注释“表格的行高有点太高了列间距偏宽筛选区和表格之间的间距缩小一点导出按钮和刷新按钮靠右对齐。”这一步其实是“说不如截图”最典型的地方。你不需要描述“哪个按钮怎么不对”一张实际渲染截图 一句修改指令AI就知道往哪里调。第五步多轮迭代把细节修到满意一般两三轮迭代就能到“可以提交”的程度。每轮的关键都是实际操作截图 精确、短小的文字指令例如“状态标签的圆角再小一点”“用户名字号从14px变成14px加粗颜色变成#333”。文字只负责修正视觉主体由截图承载。4.2 提示词模板直接抄这套流程里我整理了几个常用提示词模板可以直接复制修改需求起稿模板请按以下需求生成代码优先考虑工程可维护性不要问我问题。 [粘贴语音转文字后的需求内容]参考图模板这是一张[设计稿/风格参考/报错截图/手绘草图] 请结合截图内容[生成页面/修复问题/调整布局]。 注意忽略截图的粗糙部分按合理的[组件库/框架]最佳实践实现。迭代修改模板这是当前页面的实际渲染截图。 请对比截图修正以下问题1. ... 2. ... 3. ... 只做最小修改不要重构其他代码。4.3 为什么这个组合最顺手三种输入方式本质上对应了三种信息类型语音负责“意图”我脑子里模糊的方向快速倒出来。截图负责“结构”页面长什么样、哪里不对像素级信息直接给。文字负责“精确修正”让AI在理解了你意图和看到截图之后做精准的增量调整。语音和文字都属于语言通道但它们的分工不同。语音牺牲了精确性换取了速度文字牺牲了速度换取了精确性。截图走的是图像通道解决的是语言通道完全表达不好的部分。这套组合用下来实际效果是原来一个页面从零到可用可能要在对话里打800字描述、来回修改10轮现在语音20秒 截图3张 文字修正500字三四轮就能出活。尤其对于视觉细节的迭代效率是碾压级的。5. 多模态输入踩坑实录识别错乱、隐私泄露、上下文稀释多模态输入虽然好用坑也不少。这一节我把踩过的问题集中盘点一下分四类每条都是真实发生的。5.1 语音误识别比你想的更折磨人最典型的问题是专业术语和人名库名的误识别。我说“用 Ant Design 的 ProTable”转出来是“用的Ant Design的Pro胎宝”说“这个 hook 是 useDebounce”转出来可能变成“由上班师”。这类错误如果不修正就发送AI会理解成莫名其妙的词然后给出完全跑偏的方案。处理办法语音转文字后必须通读一遍再发送。涉及英文术语、库名、变量名时宁可先说中文比如“调用 list 接口”而不是“调用 L I S T 接口”。如果一段话里术语密集建议这段用打字其他部分用语音。混合输入一点也不丢人。5.2 截图的“看起来清楚”不等于AI能识别第二个大坑是人眼觉得清楚的截图AI不一定能准确读取。出现过的情况整屏截图里包含大量无关信息状态栏、浏览器收藏夹、其他窗口AI被分散注意力把“电脑的浏览器界面”误当成你要做的功能界面。截图被压缩过小号文字模糊成一片AI只能猜色块之间的文字内容。深色模式的截图和设计稿的浅色模式对比AI在颜色判断上会出现偏移误以为“这里就该是深色的”。改进建议截图前先裁剪只保留核心区域。用原始分辨率截图不要用被微信等工具压缩过的图。开发环境、设计稿、截图工具的显示比例尽量统一避免 DPI 缩放导致的尺寸误判。涉及颜色时最好在文字里补一句期望值比如“背景色用浅灰 #f5f5f5不是截图里的蓝色”。5.3 隐私和安全这是最容易翻车的一条多模态输入会暴露的信息比纯文字多太多了。一张截图里可能包含数据库地址、端口、账号密码用户手机号、邮箱、身份证号等个人信息内部系统名称、业务表结构、未公开的业务逻辑内网域名、IP地址、密钥片段把这些直接发给联网的AI代码助手绝大多数情况下等于把公司数据交给第三方。我见过有人直接把包含线上客户信息的后台页面截图发给AI调样式这就是严重的合规事故。安全底线是截图发送前先检查敏感信息能用马赛克遮掉就遮掉能裁剪掉就裁剪掉。开发者账号、云厂商的密钥、数据库连接串永远不要截图。企业内部项目优先选择支持私有化部署或企业版数据隔离的AI代码助手同时关闭“数据用于训练模型”的开关。如果需求必须依赖真实数据的截图那先用假数据搭一个本地页面再截图。5.4 上下文窗口被大图挤爆多轮后AI失忆最后一个是技术层面的坑视觉token的消耗量远大于文字token。一张高分辨率大图换算成token可能抵得上几百甚至上千个英文单词。这意味着如果对话里塞了太多截图AI的上下文窗口会被很快占满早期的一些关键信息会被“挤出去”导致后续对话出现失忆现象。典型表现是你应该改的地方AI回答得驴唇不对马嘴或者改了这边把之前已经改好的那边又改回去了。应对策略每轮迭代后把已经确认的关键信息整理成一段文字摘要例如“目前已确认主色调 #1677ff表格行高 56px搜索区与表格间距 16px”在下一轮提问时把摘要带上。不要把好几张大图一次性塞进对话应该每次只发当前相关的一张配合裁剪使用。当对话出现明显失忆时不要继续硬聊把需求和当前状态整理成新对话的上下文重新开启一轮。5.5 不要神化多模态边界和工具选择最后说一个心态层面的建议。多模态输入不是万能的它有清晰的能力边界复杂业务逻辑、算法行为、数据流变化这些仍然要用准确的文字和明确的伪代码表达。AI从截图里“理解”的布局不等于像素级还原。它有时会自主发挥生成一个“看起来合理但不是你要的”方案。多模态更适合“视觉型”任务比如UI页面前端实现、可视化图表、文档排版对后端接口设计、性能优化这类逻辑任务截图几乎没有帮助。工具选择上我现在的主力是支持图片输入的代码助手和IDE里的AI插件再配合一个顺手的截图标注工具。选型的标准只有三条一是是否支持粘贴图片/文件作为对话上下文二是生成的代码是否能直接融入当前工程三是数据合规是否满足企业要求。根据这三条标准你可以自己判断手头的工具够不够用缺失的再用第三方工具补上。我现在已经形成了一套固定习惯一句话需求用语音起稿视觉相关的问题用截图定位精确修改指令用文字下发。每次动手之前先让AI把它对需求的理解复述一遍确认没有理解偏了再开始生成代码。这个习惯帮我避免了很多轮无效生成也是我在多模态输入实践里最想分享的一条经验。