ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AI辅助软件产品化:从大模型Demo到工程化落地的关键路径

2026/10/8 4:00:31 拓冰建站 浏览量
AI辅助软件产品化:从大模型Demo到工程化落地的关键路径 1. 从Demo到产品中间隔着一整条工程化链路这两年跟同行聊天十次有八次会聊到大模型。聊着聊着话题总会拐到同一个地方我手上有个Demo跑起来效果挺惊艳的但真要给客户用、给业务用怎么就哪哪都不对劲这个问题我太熟了。我自己就踩过这个坑。去年帮一个做工业质检的团队看他们的AI辅助软件演示的时候识别准确率能到95%以上客户看了很满意合同都准备签了。结果一上产线光照条件一变、相机角度一偏、产品批次一换准确率直接掉到60%出头。客户当场就黑了脸。后来复盘问题根本不在模型本身而在于整个系统从设计之初就是奔着“演示好看”去的压根没考虑过真实场景里的各种变量。所以我想认真聊聊这件事AI人工智能辅助软件为什么不能把大模型Demo当成可用产品。这不是唱衰大模型恰恰相反我是觉得大模型的能力被严重低估了但被低估的方式不对——大家把Demo阶段的惊艳当成了产品阶段的成熟结果期望值拉满落地时摔得也最狠。这篇文章适合几类人看正在做AI辅助软件的产品经理、刚接触大模型想往产品方向走的开发者、以及那些拿着Demo去谈客户但心里没底的创业者。我会从设计思路、核心细节、实操过程、问题排查几个维度把“Demo到产品”这条路上该补的课一节一节讲清楚。不堆术语不画大饼就讲我实际趟过的那些坑和填坑的方法。2. 内容整体设计与思路拆解2.1 为什么Demo思维会害了你先说一个我观察到的现象。大部分大模型Demo的诞生路径是这样的某个周末开发者看到一个开源模型或者调了一个API发现效果不错于是花几个小时搭了个界面输入框加输出框最多再加个历史记录跑通了截图发朋友圈收获一堆点赞。然后有人问“这个能不能商用”开发者一想好像也没什么不能的于是就开始往产品方向走。这条路本身没问题问题在于Demo的基因里写满了“一次性”三个字。它假设输入是干净的、网络是稳定的、用户是耐心的、场景是单一的。而真实产品面对的是什么输入可能是模糊的、带错别字的、夹杂方言的网络可能时断时续用户可能点两下没反应就卸载了场景可能从客服对话突然变成合同审核。我见过一个特别典型的例子。有个团队做了一个基于大模型的合同审查辅助工具Demo阶段用的是几十份标准合同效果很好能准确标出风险条款。但真实客户上传的合同有扫描件、有拍照的、有PDF里嵌图片的、有手写批注的光是把这些文档转成模型能处理的文本就花掉了整个项目一半的开发时间。这就是Demo思维和产品思维的根本差异Demo解决的是“能不能跑通”产品解决的是“能不能在各种乱七八糟的情况下都跑得通”。2.2 产品化需要补齐的四块拼图从我的经验来看一个AI辅助软件要从Demo走到可用产品至少需要补齐四块拼图。第一块是输入鲁棒性。大模型再强它也只能处理文本。但真实世界里的输入是图片、PDF、Excel、语音、甚至手写纸条。把这些东西变成模型能理解的文本这个预处理环节的工程量往往被严重低估。我做过一个统计在一个文档处理类AI项目中预处理和格式转换的代码量占了整个项目的40%以上。第二块是输出可控性。Demo阶段大家看到模型输出一段通顺的话就觉得很厉害了。但产品阶段你需要的是结构化输出、需要的是格式统一、需要的是在特定情况下必须说“我不知道”而不是胡编。大模型的“幻觉”问题在Demo里可能只是个小瑕疵在产品里就是致命伤。我试过让模型从一份财报里提取关键数据Demo时它提取了十个字段八个对的我觉得不错。但产品化时我发现它错的那两个字段一个是营收数字一个是利润数字这种错误在金融场景里是不可接受的。第三块是性能与成本。Demo阶段你可能用的是按次计费的API跑一次几毛钱觉得挺便宜。但产品阶段如果每天有几千次调用成本就上来了。更别说延迟问题Demo时等个三五秒出结果你觉得正常产品里用户等三秒没反应就开始骂娘了。我见过一个团队Demo用的是最大的模型效果确实好但产品化时发现单次推理成本太高换成小模型后效果又达不到要求最后不得不重新设计整个交互流程把一次大模型调用拆成多次小模型调用加规则引擎。第四块是运维与迭代。Demo是一次性的跑完就完了。产品是持续运行的需要监控、需要日志、需要灰度发布、需要A/B测试、需要处理模型更新带来的效果波动。这些在Demo阶段完全不存在但在产品阶段是日常。2.3 一个真实的架构对比为了把这个问题讲得更具体我拿一个实际项目来对比。这是一个面向中小企业的合同辅助审查工具Demo版本和产品版本的架构差异非常典型。Demo版本的架构简单到令人发指用户上传PDF后端用PyPDF2提取文本直接拼成prompt发给大模型API拿到结果返回给前端展示。整个流程不到200行代码一个周末就能搞定。产品版本的架构就复杂多了。首先是文档接入层要支持PDF、Word、图片、扫描件图片和扫描件要走OCROCR之后还要做版面分析区分标题、正文、表格、页眉页脚。然后是文本预处理层要做去噪、分段、关键信息抽取。接着是模型调用层不是简单调一次大模型而是根据文档类型和用户需求动态选择模型和prompt策略有些场景用大模型做理解有些场景用小模型做分类有些场景用规则引擎做兜底。最后是输出层要把模型输出结构化做置信度评估低置信度的结果要标记出来让用户人工确认。这个对比说明一个道理Demo展示的是模型能力产品交付的是系统能力。模型能力只是系统能力的一部分而且往往不是最耗时的那部分。3. 核心细节解析与实操要点3.1 输入预处理被低估的工程量输入预处理这块我踩过的坑最多也最有发言权。很多人觉得这不就是个格式转换吗能有多难我告诉你难得很。先说文档格式。PDF看起来简单实际上PDF有好几种类型原生PDF文字可选、扫描PDF图片、混合PDF部分文字部分图片。原生PDF用PyPDF2或者pdfplumber就能提取但提取出来的文本顺序可能乱掉尤其是多栏排版的文档。扫描PDF必须走OCROCR的准确率又受扫描质量、字体、语言影响。混合PDF最麻烦你得先判断每一页是什么类型再分别处理。我做过一个测试拿100份真实的企业合同用同一套预处理流程跑结果只有62份能完整提取出所有关键条款。剩下的38份里有15份是扫描件OCR识别错误有12份是表格结构丢失有8份是多栏排版顺序错乱还有3份是加密PDF根本打不开。这个数据说明什么说明如果你的产品面向的是真实用户上传的真实文档预处理环节的失败率可能高达30%以上。这个失败率在Demo阶段是看不到的因为Demo用的都是精心挑选的干净文档。那怎么解决我的经验是分三步走。第一步做格式检测和分流不同类型的文档走不同的处理管道。第二步对OCR结果做后处理用规则加小模型的方式纠正常见错误比如数字和字母混淆、标点符号错误。第三步也是最关键的建立人工兜底机制。预处理置信度低的文档不要硬着头皮往模型里送而是标记出来让用户确认或者转人工处理。这个机制在产品里是必须的在Demo里可以没有。注意不要试图用一个大模型解决所有预处理问题。我试过让多模态大模型直接读图片提取信息效果确实比传统OCR好但成本是传统OCR的几十倍而且延迟高。对于大批量文档处理场景传统OCR加规则后处理仍然是性价比最高的方案。3.2 模型选型不是越大越好模型选型这件事我的观点很明确没有最好的模型只有最合适的模型。Demo阶段大家喜欢用最大的模型因为效果确实好而且Demo的调用量小成本不敏感。但产品阶段你必须在效果、成本、延迟之间找平衡。我一般会从三个维度来评估。第一个维度是任务类型。如果是开放域的对话或者创意生成大模型的优势明显因为需要广泛的知识和语言能力。但如果是封闭域的抽取或者分类任务小模型微调后往往能达到接近大模型的效果而成本只有十分之一。第二个维度是延迟要求。实时交互场景比如客服对话延迟超过两秒用户就受不了这时候可能得用更小的模型或者做流式输出。第三个维度是数据隐私。有些客户要求数据不能出本地那就得考虑私有化部署的方案这时候模型的大小就直接决定了硬件成本。我拿一个实际项目举例。这是一个工单分类的AI辅助工具Demo阶段用的是某个千亿参数的大模型分类准确率92%。产品化时我们做了对比测试用一个70亿参数的模型做微调准确率降到了87%但单次推理成本从0.05元降到了0.002元延迟从3秒降到了0.5秒。最后我们选了小模型方案因为87%的准确率加上人工复核机制整体效率已经比纯人工提升了三倍而成本只有大模型方案的二十分之一。这里有个经验公式可以参考如果任务有明确的输入输出格式且训练数据充足优先考虑小模型微调如果任务开放度高、训练数据少再考虑大模型加prompt工程。这个公式不是绝对的但能帮你快速缩小选型范围。3.3 输出结构化让模型说人话也说实话大模型的输出是自然语言但产品需要的是结构化数据。这个转换过程我称之为“让模型说人话也说实话”。说人话好理解就是输出要符合产品定义的格式。比如合同审查工具输出不能是一段散文而应该是“风险条款列表”每条包含条款原文、风险等级、修改建议。这个可以通过prompt工程实现在prompt里明确要求输出JSON格式并给出示例。说实话就难多了。大模型有个毛病它不知道的时候也会编。在Demo里你问它一个它不知道的问题它编一个答案你可能觉得还挺像那么回事。但在产品里用户按这个编的答案去操作出了问题就是事故。所以产品化的一个核心工作是让模型学会说“我不知道”。我的做法是三层防护。第一层在prompt里明确告诉模型如果信息不足或者不确定必须输出“无法确定”而不是猜测。第二层对模型的输出做置信度评估可以用模型自身的logprob也可以用另一个小模型做校验。第三层设置规则兜底比如关键字段如果模型输出为空或者格式不对直接标记为需要人工确认。提示不要指望模型百分之百不说谎。我试过各种prompt技巧最好的情况下也只能把幻觉率降到5%左右。所以产品设计时必须假设模型会出错并为此设计兜底流程。3.4 成本控制算清楚每一笔账成本这件事Demo阶段很少有人认真算但产品阶段算不清楚就是死。我见过太多项目Demo跑得欢一算账发现每服务一个客户就亏钱。大模型产品的成本主要有三块。第一块是推理成本按token计费或者按调用次数计费。第二块是基础设施成本包括服务器、存储、带宽。第三块是人力成本包括标注、微调、运维。Demo阶段通常只关注第一块而且因为量小感觉不痛不痒。但产品阶段三块成本都会放大。我拿一个实际数据来说。一个中等规模的AI辅助写作工具日活用户5000平均每人每天使用10次每次消耗2000个token。如果用某个主流大模型的API每百万token收费10元那么每天的推理成本就是5000乘以10乘以2000除以1000000再乘以10等于1000元。一个月就是3万元。这还只是推理成本加上服务器和人力月成本轻松超过5万。如果这个产品的客单价是每月30元5000个用户月收入15万毛利还有10万看起来还行。但如果用户量涨到5万推理成本涨到30万而收入只涨到150万毛利比例其实在下降因为基础设施和人力成本也在涨。所以产品化时必须做成本优化。我的经验是三个方向。第一缓存。很多用户的问题是重复的把常见问题的答案缓存起来能省掉大量重复调用。第二分级。简单问题用小模型复杂问题用大模型不要所有请求都走最贵的模型。第三限流。免费用户限制使用次数付费用户按套餐分级把成本控制在收入范围内。4. 实操过程与核心环节实现4.1 从零搭建一个产品级AI辅助软件的后端这一节我拿一个实际项目来拆解项目是一个面向法律行业的合同审查辅助工具。我会把从Demo到产品的关键改造步骤一步步写出来你可以直接参考这个流程来改造自己的项目。第一步是文档接入层的改造。Demo阶段我们只支持PDF上传产品阶段需要支持PDF、Word、图片、扫描件。我的做法是引入一个文档处理中间件统一接收各种格式然后根据文件类型分流。PDF走pdfplumber提取Word走python-docx图片和扫描件走OCR。OCR我用的是开源的方案配合一个版面分析模型来区分文本区域和表格区域。这一步的代码量大概在800行左右但它是整个系统的基础值得花时间做好。第二步是文本预处理管道的搭建。提取出来的原始文本不能直接送给模型需要做清洗和分段。清洗包括去除页眉页脚、去除乱码、统一标点符号。分段是个技术活法律合同通常有明确的章节结构我用的方法是先按标题正则匹配分段匹配不到的再用语义分段模型。分段之后每个段落单独送给模型做风险识别而不是把整份合同一次性送进去。这样做的好处是一是避免超出模型的上下文长度限制二是定位更精准模型能明确指出风险在哪个段落。第三步是模型调用层的设计。这里我没有用单一模型而是设计了一个路由机制。系统会根据段落类型和用户配置决定用哪个模型、用什么prompt。比如对于“违约责任”这类关键条款用大模型加详细的prompt对于“通知送达”这类标准条款用小模型加简单prompt。路由规则可以配置方便后续调整。模型调用的结果会带上置信度分数低于阈值的会标记为“需人工复核”。第四步是输出层的结构化。模型返回的是自然语言我需要把它转成前端能渲染的结构化数据。我的做法是在prompt里要求模型输出JSON然后用一个解析器做校验和容错。如果JSON解析失败会触发重试或者降级到规则提取。最终输出的每条风险包含四个字段条款原文、风险等级、风险说明、修改建议。前端根据风险等级用不同颜色展示用户可以直接在界面上确认或修改。4.2 关键参数的计算与选择在产品化过程中有几个关键参数需要仔细计算和选择我一个个来说。第一个是分段长度。分段太短模型缺乏上下文可能误判分段太长可能超出模型上下文限制而且定位不精准。我的经验值是每段500到800个中文字符。这个范围是基于两个考虑一是大多数法律条款的完整语义在这个长度内能表达清楚二是主流大模型的上下文窗口都能容纳留出足够的空间给prompt和输出。第二个是置信度阈值。这个阈值决定了多少结果需要人工复核。阈值设高了人工复核量大效率提升不明显阈值设低了错误漏过去风险大。我的做法是先跑一批标注数据画出准确率随阈值变化的曲线然后根据业务对准确率的要求来定。比如法律场景要求准确率95%以上那阈值就设在能保证95%准确率的水平。这个阈值不是固定的后续可以根据实际运行数据动态调整。第三个是并发数。产品上线后会有多个用户同时使用后端需要控制并发避免把模型API打爆或者把服务器压垮。我的做法是用消息队列做缓冲用户请求先入队后端按可控的速率消费。并发数根据模型API的限流和服务器性能来定一般从低到高逐步压测找到稳定运行的临界点。第四个是缓存过期时间。前面提到缓存能省成本但缓存不能永久有效因为模型在更新业务规则也可能变。我的经验是缓存过期时间设在24到72小时之间。太短了缓存命中率低太长了可能返回过时结果。对于法律合同这种变化不快的场景72小时是合适的。4.3 一个完整的请求处理流程我把一个完整的用户请求处理流程写出来你能更直观地看到产品级系统和Demo的差异。用户上传一份合同PDF前端计算文件哈希先查缓存。如果缓存命中直接返回结果流程结束。如果没命中文件上传到对象存储生成一个任务ID返回给前端。前端轮询任务状态。后端从队列里取出任务开始处理。第一步是格式检测判断是原生PDF还是扫描PDF。原生PDF走文本提取扫描PDF走OCR。提取出来的文本做清洗和分段每段生成一个子任务。子任务并行处理每个子任务走模型路由选择合适的模型和prompt。模型返回结果后做JSON解析和置信度评估。置信度高的直接采纳置信度低的标记为待复核。所有子任务完成后汇总结果生成审查报告。报告包含风险条款列表、整体风险评分、修改建议汇总。报告存入数据库更新缓存任务状态改为完成。前端拿到结果后渲染展示用户可以逐条查看风险确认或修改。用户的确认和修改操作会被记录用于后续的模型迭代和阈值调整。这个流程看起来复杂但每个环节都是必要的。少了任何一个产品在真实场景下都会出问题。我见过一个团队为了赶进度跳过了置信度评估环节结果上线第一周就出了三次严重误判客户直接要求退款。5. 常见问题与排查技巧实录5.1 模型输出不稳定的排查思路模型输出不稳定是产品化过程中最常见的问题。同样的输入今天输出A明天输出B用户会疯掉。我总结了一套排查思路按顺序检查。先看温度参数。温度越高输出越随机。Demo阶段为了展示多样性很多人会把温度设高但产品阶段应该把温度调低甚至设为0保证输出稳定。我一般把温度设在0.1到0.3之间既能保持一定的灵活性又不会太随机。再看prompt的一致性。有时候输出不稳定是因为prompt里有动态内容比如时间戳、用户ID这些内容会影响模型的判断。我的做法是把prompt拆成固定部分和动态部分固定部分不变动态部分用明确的占位符减少对模型的干扰。然后看模型版本。有些API会静默更新模型版本导致输出变化。这个只能通过监控来发现我一般会在系统里记录每次调用的模型版本号发现输出异常时先对比版本号。最后看输入预处理。有时候输出不稳定是因为输入本身就不稳定比如OCR识别结果每次略有不同。这个需要在预处理环节做归一化把等价的输入统一成相同的文本。5.2 性能瓶颈的定位与优化性能问题在产品上线后才会暴露Demo阶段基本感觉不到。我遇到过的性能瓶颈主要有三类。第一类是模型调用延迟。大模型的推理延迟通常在1到5秒之间如果prompt很长或者输出很长延迟可能超过10秒。优化方法是做流式输出让用户先看到部分结果减少等待焦虑。另外可以把串行调用改成并行调用比如分段处理时多个段落同时送给模型而不是一个一个来。第二类是预处理耗时。OCR和版面分析是计算密集型操作一份几十页的合同可能需要十几秒来处理。优化方法是把预处理做成异步任务用户上传后先返回任务ID处理完了再通知。另外可以用GPU加速OCR速度能提升五到十倍。第三类是数据库瓶颈。产品上线后数据量增长很快查询变慢。优化方法是加索引、做分表、引入缓存。我一般会在任务表和结果表上建联合索引按用户ID和时间范围查询。缓存用Redis存最近的任务结果和常见查询。5.3 常见问题速查表我把产品化过程中最常见的问题和解决方法整理成一张表你可以直接对照排查。问题现象可能原因排查方法解决方案模型输出格式不对prompt不够明确检查prompt是否有格式示例在prompt中加入JSON示例和格式约束模型胡编乱造温度过高或缺乏约束检查温度和prompt降低温度加入“不确定时输出无法确定”的指令处理速度慢串行调用或预处理耗时打点计时定位耗时环节改并行调用预处理异步化成本超预期大模型调用过多统计各模型调用量和费用引入小模型分流加缓存用户反馈结果不准预处理错误或模型误判对比原始文档和提取文本加强预处理校验低置信度转人工系统偶尔崩溃并发过高或内存泄漏查看服务器监控和日志加队列限流定期重启服务模型更新后效果下降API静默更新记录模型版本号对比输出锁定模型版本或及时调整prompt注意这张表里的问题我几乎都遇到过其中“模型更新后效果下降”是最隐蔽的因为你不主动记录版本号的话根本不知道模型变了。建议从第一天起就记录每次调用的模型版本。5.4 几个只有踩过坑才知道的经验最后分享几个我在实际项目中总结的经验都是文档里不会写的。第一个经验不要相信任何Demo阶段的性能数据。Demo阶段你用的是测试数据、测试环境、测试并发这些数据在产品阶段没有任何参考价值。我一般会在产品化初期就搭一个接近真实环境的压测环境用真实数据跑提前暴露问题。第二个经验人工兜底流程要提前设计。很多团队觉得人工兜底是退步是技术不成熟的表现。我的观点恰恰相反人工兜底是产品成熟的标志。它说明你清楚系统的边界知道什么时候该让机器做什么时候该让人做。而且人工兜底的数据可以反哺模型迭代形成正向循环。第三个经验监控比功能更重要。Demo阶段大家关注的是功能能不能跑通产品阶段应该关注的是系统运行得怎么样。我一般会在产品上线前就把监控体系搭好包括调用量、成功率、延迟、成本、用户反馈等指标。没有监控的系统就像没有仪表盘的汽车你不知道它什么时候会出问题。第四个经验迭代节奏要控制。大模型领域变化很快新模型、新方法层出不穷。但产品迭代不能跟着技术跑得跟着用户需求跑。我见过一个团队每出一个新模型就换一次结果系统越来越不稳定用户怨声载道。我的建议是模型更新可以跟进但要有节奏每次更新都要做充分的测试和灰度不要一次性全量切换。第五个经验文档和注释要写清楚。产品化过程中会有很多决策比如为什么选这个模型、为什么设这个阈值、为什么用这个预处理方案。这些决策如果不写下来过三个月你自己都忘了。我一般会在代码里写详细的注释在项目文档里记录关键决策的背景和理由。这个习惯在团队协作时尤其重要能省掉大量沟通成本。6. 工具选型与团队配置的实战建议6.1 开发工具链的选择工具选型这件事我的原则是够用就好不要追新。大模型领域新工具层出不穷但产品开发需要的是稳定和可维护。后端框架我一般用Python的FastAPI或者Flask轻量、生态好、和AI库的兼容性好。如果团队是Java背景Spring Boot也可以但调用大模型API的库可能没有Python那么丰富。前端用React或者Vue都行看团队熟悉度。数据库用PostgreSQL支持JSON字段存模型输出很方便。缓存用Redis消息队列用RabbitMQ或者Kafka看数据量大小。模型调用这块我建议抽象一层统一的接口不要直接在业务代码里调某家API。这样后续换模型或者加模型都方便。我一般会定义一个ModelClient接口包含generate和embed两个方法不同模型的实现类分别实现这个接口。业务代码只依赖接口不依赖具体实现。OCR工具我用过几个开源的Tesseract适合英文和印刷体中文PaddleOCR对中文的支持更好尤其是表格和版面分析。如果预算充足也可以考虑云服务商的OCR API准确率更高但成本也更高。6.2 团队配置的最小可行方案从Demo到产品团队配置也需要升级。Demo阶段一个人就够了产品阶段至少需要三个角色。第一个是后端开发负责系统架构、API设计、模型调用、数据处理。这个角色需要懂大模型的基本原理但不需要会训练模型重点是会调API和做工程化。第二个是算法工程师负责prompt工程、模型评估、微调、置信度校准。这个角色需要懂模型的能力边界知道什么任务适合什么模型怎么评估效果。第三个是产品经理负责需求分析、交互设计、用户反馈收集、迭代规划。这个角色需要懂业务场景知道用户真正需要什么而不是技术能做什么。如果团队小这三个角色可以合并但职能不能少。我见过一个团队只有后端开发结果做出来的产品技术上没问题但用户体验很差用户不知道怎么用用了一次就不用了。6.3 成本预算的参考框架最后说一下成本预算。我拿一个中等规模的AI辅助软件来估算日活5000每人每天10次调用每次平均消耗1500个token。推理成本方面如果用中等规模的模型每百万token收费5元每天的成本是5000乘以10乘以1500除以1000000再乘以5等于375元一个月约1.1万元。如果用大模型成本可能翻五到十倍。基础设施成本方面一台中等配置的云服务器每月约500元对象存储和带宽每月约300元数据库和缓存每月约400元合计约1200元。人力成本方面三个角色按市场价算每月至少6万元。所以月总成本大约在7到8万元。如果产品客单价是每月50元5000用户月收入25万毛利还有17万左右是健康的。但如果客单价低于20元或者用户量上不去就会亏损。这个账在产品立项时就要算清楚不要等上线了才发现商业模式不成立。提示成本估算时一定要留出20%到30%的余量因为实际运行中会有各种意外开销比如模型调用失败重试、数据存储增长、流量峰值等。7. 我个人的一些体会写到这里我想说几句心里话。大模型是个好东西它确实能做出很多以前做不了的事情。但好东西不等于好产品中间隔着大量的工程化工作。我见过太多团队Demo做得漂亮融资也顺利但产品迟迟落不了地最后不了了之。问题往往不是模型不够强而是工程化没做好。我的建议是如果你正在做AI辅助软件不妨先问自己几个问题我的输入预处理够健壮吗我的输出有兜底机制吗我的成本算清楚了吗我的监控体系搭好了吗如果这几个问题的答案都是肯定的那你的产品离可用就不远了。如果还有犹豫那就先把这些问题解决了再往前跑。这个领域变化很快今天的最佳实践明天可能就过时了。但有些东西是不变的对用户场景的理解、对工程质量的坚持、对成本效益的敏感。这些才是产品化的核心也是Demo和产品之间那道真正的分水岭。