
1. 项目背景与核心痛点营销广告为什么要压到大模型身上1.1 货拉拉营销广告的业务矩阵先说清楚货拉拉营销广告这个场景是干什么的。跟很多人理解的“投个开机屏、做两张海报”不太一样作为货运物流平台货拉拉的营销广告至少分成三块完全不同的业务线。第一块是货主端的拉新与促活。简单说就是让更多人有搬家、送货、拉货需求的时候能想得起打开货拉拉。这里面覆盖同城货运、跨城运输、搬家、企业用车等子场景投放渠道五花八门比如手机应用市场的信息流广告、短视频平台的效果广告、微信生态里的朋友圈广告和小程序推广甚至还有线下的车身广告、电梯广告。第二块是司机端的招募与留存。货运平台是双边网络光有消费端需求还不够还得保证有运力。所以有一类广告专门面向司机群体比如“注册加入货拉拉平台做同城货运司机收入稳定有保障”这类文案再配合新手奖励政策、接单激励活动去做投放。第三块是品牌侧的市场声量广告。这类不需要直接拉动转化要的是影响力比如平台在某个城市开城或者推出某个大的服务承诺就需要通过投放让更多人知道这个品牌。这三块业务的渠道特性差异非常大。信息流广告讲究短平快文案要在两三行内抓住眼球应用市场推广讲究的是关键词匹配和应用截图的视觉冲击力短视频广告看重的是脚本节奏和口播话术线下物料则更偏品牌调性。以往我们做一条广告内容的链路是运营提需求 - 创意文案写稿 - 设计做素材 - 审核合规 - 投放测试每个环节都是人肉接力周期按天算效率上不来。1.2 传统内容生产流程的瓶颈这套流程在业务规模小的时候还能扛但货拉拉覆盖的城市数量、业务线数量上来了以后问题就很突出了。第一是文案产能跟不上投放消耗。一个投放团队同时开着几十个广告计划每个计划下面还要准备多版文案素材做A/B测试一个推广活动下来需要上百条甚至几百条不同角度、不同卖点的文案。靠两三个创意人员手动写不仅慢而且写到后面思路容易枯竭同质化特别严重。第二是跨场景的差异化不够。同一款搬家服务面向一线城市白领和面向三四线城市的小商家说人话的方式完全不一样。前者可能更在意“预约方便、明码标价、时间准”后者更在意“价格便宜、车能装、师傅不挑活”。传统人工生产很难针对每个细分人群做精细化表达最后就变成一刀切的通用文案投放效率自然受影响。第三是政策合规成本高。广告行业有广告法约束极限词、虚假承诺、误导性表述都是红线。比如“最便宜”“百分百准时”“全城最低价”这些词一句话说错不仅素材被拒可能还会给公司带来合规风险。人工审稿要一版一版盯稍不注意就有漏网之鱼。这三个瓶颈是我们在做这个项目之前就明确感知到的。所以当时核心目标不是“用大模型做一个酷炫的东西”而是“能不能把广告内容生产从以天为单位压缩到以分钟为单位同时还能保持甚至提升素材的整体质量”。1.3 大模型介入的切入点大模型真正适合的位置是内容生产链路的“草稿引擎”。我现在的体会是不要一上来就想让模型端到端生成一个可以直接投放的成品而是让它把“从0到1”的初稿工作替代掉再由人去完成“从1到10”的优化和决策。这样做的好处是模型的生成能力得到充分发挥同时人工的审核判断能力依然保留风险可控。具体切入点是这个链路业务规则和素材信息 - 大模型生成多版本文案 - 规则引擎过滤风险 - 人工抽检 - 进入投放系统。后面我们在工程实现上也是按照这个逻辑来做。2. 技术方案选型与整体架构设计2.1 模型选型闭源API与开源微调的取舍技术选型是整个项目最开始也是讨论最激烈的一个环节。市面上可用的方案大致分三类纯调用闭源大模型API、私有化部署开源模型、闭源API和开源模型混用。最终我们选择了“部分场景用闭源API做评测和标杆核心生成链路用开源模型私有化部署轻量微调”的组合方案。先说为什么没有全用闭源API。广告文案里会涉及很多业务相关的非公开信息比如某次活动的补贴策略、日均单量预期、不同城市的运营重心等等。这些信息如果直接拼到Prompt里发给外部API一方面有数据合规的顾虑另一方面长期来看成本也扛不住。一条广告文案要生成多个版本每个版本都要重新请求一次用商用大模型按Token计费一个月下来是笔不小的开销。还有一个关键点通用大模型对“货运物流”这个垂直领域的语言习惯理解不够深。比如“拼货”这个词在货拉拉业务里是有特定含义的再比如“取消率”“履约率”这些指标词通用模型生成文案的时候很难自然融入要靠Prompt反复教但教多了又会把模型搞乱。相比之下开源模型在自己业务数据上做轻量微调能比较稳定地学到这些领域表达。开源这边我们主要对比过Qwen系列、Llama系列和国产的GLM系列。选型核心看三个维度一是中文文案生成质量二是上下文长度是否支持我们把完整的业务信息塞进去三是社区生态和推理部署的成熟度。最终我们选定的是一个7B到14B参数区间的开源模型作为基座原因很简单广告文案生成任务不需要多深的推理能力但对输出格式的遵循能力和稳定生成速度要求比较高中小规模模型在延迟和成本上更合适。2.2 系统架构从运营后台到推理服务整个系统在架构上拆成四层我先用大白话说清楚每一层干什么后面第三部分再展开讲细节。最上面是运营后台层。运营同学在后台选择一个业务场景比如“搬家-拉新-信息流广告”填一下活动的基本信息比如目标城市、折扣力度、产品卖点点提交一个任务就创建了。第二层是业务服务层我们用Python的FastAPI来做。这一层负责把运营提交的结构化信息拼装成Prompt然后调用推理服务拿到结果后做解析、过滤、格式化最后把生成结果存到数据库里。之所以用FastAPI是因为它异步支持好、代码量小团队维护起来成本低。当时也考虑过直接用Java的Spring框架但因为我这个团队更偏算法背景为了减少沟通成本还是统一在Python技术栈里解决。第三层是模型推理层部署的是vLLM推理框架。选vLLM主要是因为它的吞吐量表现好特别是在并发请求高的时候PagedAttention机制对显存的利用效率比最开始的朴素方案好很多。我们也对比过SGLang和TGI在当时的环境下vLLM已经够用没有做太多复杂的压测对比。第四层是数据与反馈层。所有生成的文案、运营的采纳/驳回操作、投放系统的效果回流数据最终都汇到这里用于后续的模型迭代和效果分析。这层我做成了独立模块后面在第四部分会专门讲它在整个闭环里的作用。2.3 为什么采用“提示词工程轻量微调RAG”的组合现在很多团队做大模型应用容易陷入一个误区一上来就要微调。其实大部分任务用好的提示词就能解决微调的成本和风险反而更高。我们的策略是分层递进从成本低、改动小的方案开始尝试发现问题再逐渐加手段。先上提示词工程。我们把广告文案生成拆成了多个子任务卖点抽取、人群匹配、风格转换、合规初筛。每个子任务用独立的Prompt模板加少量示例让模型按固定结构输出。这个阶段解决的是“能不能生成”的问题。然后上轻量微调。跑了一段时间之后发现通用模型的表达风格还是跟我们的业务有偏差比如生成出来的文案太“AI味”喜欢用“一站式”“赋能”“高效便捷”这类空泛词汇缺乏地推广告的烟火气。这时候我们把历史上真实点击率高的优质文案抽出来做微调数据用LoRA做参数高效微调而不是全参数微调。LoRA的做法是冻结原模型参数只训练一小部分低秩矩阵这样一张消费级显卡就能跑训练时间也短迭代速度很快。最后才考虑RAG。广告投放场景中经常要用到当期的活动规则、不同渠道的规范、敏感词列表这些信息更新频率很高如果靠微调去学每次都得重新训练一遍不现实。所以我们把这类动态知识放到知识库里在拼Prompt之前先检索出来作为上下文塞进去。RAG在这里解决的是“模型看不到最新规则”的问题。这套组合的效果是每个环节只解决它该解决的问题互不重叠。提示词保证任务结构正确微调解决风格对齐RAG引入最新信息。三层叠加下来生成质量基本能达到人工文案水平的七八成剩下的由人来优化。3. 核心实现与实操细节3.1 数据准备与标注体系要微调一个能产出优质广告文案的模型数据比模型参数重要得多。这一块我花的时间最多也是踩坑最多的地方。我们的微调数据来源有三个。第一个是历史投放平台里的高点击率文案从投放系统里把过去一年点击率超过大盘均值两倍的广告素材捞出来清洗掉里面涉及隐私或者已经失效的优惠信息作为正样本。第二种方式是人工改稿记录运营和创意人员在修改模型生成的初稿时系统会自动把修改前后的内容记录下来这个天然就是一组对齐数据能够告诉模型“哪种表达更好”。第三种是定向生产的合成数据我们请资深创意人员按照我们的Prompt格式写一批标准样例用来补齐一些历史数据覆盖不到的场景比如新业务线刚开城时没有投放记录。数据规模不需要追求大我自己做了对比实验1万条高质量样本的效果比5万条从网上随便抓来的泛泛文案效果要好得多。关键是数据的“质量密度”——每条样本都要足够干净、足够贴合业务、表达足够地道。标签体系上我们不是简单打“好/坏”二分类而是从表达角度、人群切分、渠道匹配、卖点覆盖、合规状态五个维度做细粒度标注。这样模型在微调的时候能学到更细的生成逻辑而不是只会机械模仿。这里有个很实用的经验效果最好的微调样本不是把历史高点击文案原封不动丢给模型学而是把这些文案“翻译”成我们的Prompt输入格式变成一组“输入-输出”对。也就是说输入是结构化的产品信息和渠道信息输出才是文案本身。这样模型学到的是“看到什么输入就产出什么输出”的映射能力而不是靠记硬背。3.2 提示词设计与输出约束做广告文案生成提示词设计跟做聊天机器人完全是两个思路。聊天可以天马行空广告文案必须可解析、可过滤、可用于下游投放。所以我们的Prompt从第一版开始就要求模型输出结构化JSON而不是自然语言。一个典型的Prompt模板长这样# 角色 你是一名深耕同城货运和搬家行业的资深广告文案专家熟悉信息流广告的投放逻辑和用户心理。 # 任务 根据输入的广告信息生成5条适用于【信息流广告】的营销文案。 每条文案需包含主标题、副标题、正文内容、行动号召四部分。 # 输入信息 - 业务场景搬家服务 - 目标人群25-40岁城市白领准备搬家 - 核心卖点明码标价、无隐形收费、免费上门预估 - 活动信息新用户首单立减30元 - 投放城市上海、杭州 # 硬性要求 1. 文案中不得出现“最”“第一”“绝对”等广告法禁止的极限词 2. 不得编造活动信息只能使用输入信息中给出的卖点 3. 语言风格要有生活气息避免“一站式”“高效”等空泛词汇 4. 5条文案的切入角度不得重复 # 输出格式 直接输出JSON数组不要输出任何解释性文字。 格式如下 [ { title: 主标题, subtitle: 副标题, content: 正文内容, cta: 行动号召文案 } ]这里面有几个细节值得说一下。第一角色设定里加上了“熟悉信息流广告的投放逻辑”这比只写“你是一名文案专家”要有效得多模型会倾向于用信息流场景短平快的表达方式去生成。第二硬性要求里明确写了“只能使用输入信息中给出的卖点”这个约束对控制幻觉非常关键后面第五部分我还会详细讲幻觉问题。第三要求“切入角度不得重复”是为了保证生成的多个版本之间有足够的差异性给运营同学真正可用的选择空间而不是五个版本换了个皮。输出端我们也做了兜底设计。虽然Prompt里要求JSON格式但模型偶尔还是会输出多余的解释文字或者格式错误的内容。所以在模型返回之后我们加了一个轻量的解析修复层先尝试用JSON解析如果失败就用正则提取JSON片段再解析再不行就调用一次轻量模型做纠正。虽然没有做到100%成功率但实践中正确率能稳定在95%以上。3.3 微调实施与参数配置微调这个环节我先把结论放在前面LoRAQLoRA也可以但没必要。我们用的是LoRArank值取64alpha取128训练2到3个epoch学习率2e-4batch size按显存大小调整。这套参数组合在我们多次实验中表现最稳定。为什么选LoRA而不是全参数微调全参数微调一个14B模型需要多张高性能显卡训练时间长而且很容易把模型在通用语料上学到的表达能力破坏掉这在广告文案场景是灾难因为文案本身对语言流畅度要求很高一旦模型“变傻”生成出来的句子都是语病又没法立刻回滚。LoRA只更新一小部分参数训练快、占用显存小而且训练出来的adapter可以随时替换相当于在同一个基座模型上挂了多个风格不同的“插件”这对我们这种需要频繁试验不同广告风格的团队来说非常实用。微调数据里我特别做了负样本的处理。这里说的负样本不是语法错误的句子而是那些业务上会被运营驳回的文案比如包含极限词、卖点错误、风格严重不符的生成结果。把这些负样本跟正样本混合训练模型能学会避开这些坑。不过要注意比例控制我们试下来负样本占比在10%到15%之间效果最好太多了模型会开始“自我怀疑”生成出来的文案变得特别保守什么特色都没有。还有一点是输出格式的稳定性。微调时我们特意在数据里保留了大量的JSON格式样本让模型反复学习“输出结构化结果”这个行为。这样做的好处非常明显微调后的模型即使Prompt里忘记强调格式要求它大概率还是会输出JSON。格式稳定是所有下游工程的基础这一轮投入是值得的。3.4 生成工作流与多版本管理生成工作流的设计决定了系统好不好用。我们内部管这个系统叫“广告文案生成器”但真实的生成流程远不止“输入需求、输出文案”两步。第一步是卖点结构化。运营后端提交的信息往往是半结构化的比如“我们这次活动主打明码标价价格透明新人还有优惠”。系统把这条自然语言转成结构化的卖点列表这一步我们用了一个专门的抽取模型而不是靠规则匹配因为用户描述的卖点花样很多规则写不过来。第二步是渠道模板适配。同一组卖点投信息流、投应用市场、投短视频文案的表达策略完全不一样。我们的做法是维护一套渠道模板每个模板里规定了文案长度、风格语气、CTA的措辞习惯。比如信息流广告的主标题一般两个版本一个不超过14个字适合手机屏幕展示一个稍长适合在评论区占位。短视频脚本则是完全不同的结构需要包含前3秒的hook话术和中间的口播正文。第三步是批量生成与去重。系统根据运营配置的参数每次生成10到20条候选文案然后用规则引擎做去重和初步筛选。去重不只是简单判重还包含语义相似度判定避免模型生成的几条文案只是换了个主谓宾的顺序其实表达同一个意思。第四步是人工审核台。生成的候选文案会进入一个类似工单系统的界面运营可以逐条查看、修改、采纳或驳回。被采纳的文案直接进入投放素材库被驳回的会记录驳回原因回流到数据层作为后续微调的负样本。这一整个流程下来单条文案从生产到可投放耗时从原来的按天计算压缩到了按分钟计算。4. 质量评估与投放链路闭环4.1 离线评估机审人审双层关卡模型上线之前必须先过离线评估这一关。这个评估体系里最核心的是三个维度合规性、风格匹配度、业务卖点还原度。合规性评估我们是完全线上化的。接入了敏感词检测系统所有模型生成的文案在落库之前必须先过一遍极限词、违禁词、医疗/金融等特殊行业敏感词的黑名单直接命中就拦截掉。另外我们还单独训练了一个小模型做合规性判别专门处理那种用谐音、拆字等方式绕过黑名单的情况。这套双层的机审机制能把绝大多数合规风险挡在系统之外。风格匹配度评估就比较主观了早期我们依赖人工抽检后来尝试用“大模型评委”去做初筛。具体做法是把待评估的文案和人工标注的高质量文案范例放在一起让另一个通用大模型去打分判断两者在口吻、信息密度、情绪感染力上的接近程度。试下来的效果只能说“勉强可用”大模型评委对文案风格这种主观维度的判断还不够稳定所以最终采用了“LLM初筛人工终审”的方式机器负责把明显不行的挑出来人来决定最终能不能用。业务卖点还原度是广告文案场景一个特别容易被忽略的维度。我们建了一个卖点字典生成结果里每出现一个卖点关键词就加分缺失关键卖点就直接降级。比如这次活动明明写的是“免费上门预估”生成的文案里如果只写了“价格透明”而没提到“免费上门”这个就是不合格的。4.2 在线实验A/B测试与投放效果离线评估做得再好也不代表线上投放效果一定好。广告文案最终还是要用数据说话。我们采用了A/B测试的方式来做验证。具体的实验逻辑是随机选取一批同质化的广告计划一部分继续用人工生成的文案作为对照组另一部分用大模型生成的文案作为实验组两组的投放预算、人群定向、出价策略保持一致。然后观察两边的点击率、点击成本、下单转化率跑一到两周之后再对比。这里我想提醒一个容易踩的坑营销广告效果受太多因素影响了投放时段、大盘竞争环境、素材样式都会让数据产生波动。单次实验的点击率差一两个百分点并不一定代表某一方的文案更好很可能只是随机波动。所以我们至少要看三组以上的重复实验加上统计检验的结果才敢下结论说模型生成的内容确实有效。从我们整体结果来看大模型生成文案作为初稿再经人工微调综合效果和纯人工文案基本持平但生产效率和覆盖面是人工完全比不了的。这已经达到了我们的预期目标因为我们本来就不指望模型能全面超越最优秀的创意人员而是要让长尾场景的内容生产从“没人写”变成“有得用”。4.3 数据回流与模型迭代闭环这个环节是整个项目做下来我最后悔没早点做的地方。一开始我们把系统当成一个工具用生成完存个库就完事了结果发现模型越用越僵因为缺少数据回流去刺激模型进化。后面我们补上了完整的数据回流链路。运营在人工审核台每次点的“采纳”或“驳回”都带有准确的业务反馈语义。被采纳的文案加上投放后端回流过来的点击率、转化率数据就变成了高质量正样本定期进入下一轮微调的数据池。被驳回的文案配上驳回原因变成负样本。这样形成的是一个不断自我优化的闭环用得越多数据积累越厚模型下一次生成的质量就越高。我们还做了基于数据分布的训练集更新机制。不是全量数据混在一起训练而是按业务线、按渠道拆开每个场景维护一套针对性训练集。这样搬家场景的微调数据不会污染同城货运场景的表达习惯因为两者的用户心理和文案切入点差异太大了。这条闭环跑顺之后系统的ROI才真正体现出来。目前团队内部每周能自动完成一次微调数据准备两周左右迭代一次模型版本每次迭代之后生成的文案运营采纳率都有肉眼可见的提升。5. 实战踩坑与排障经验记录5.1 广告文案中的幻觉问题幻觉在大模型应用里是个普遍问题但在广告文案场景里的表现特别膈应人。聊天场景里模型说错一个事实用户可能只是觉得“这个AI不懂”广告文案里模型一旦编造信息直接是合规事故或者用户投诉。我们遇到最多的幻觉有三类。第一类是编造优惠比如输入信息里明明白白写着“新用户首单立减30元”模型在生成的时候为了文案效果自作主张写成“新用户全单5折”这个如果直接投放用户来了发现没有对应的优惠投诉和退款是小事平台信誉损失是大事。第二类是编造服务承诺比如“搬家全程一小时达”实际业务根本做不到这个时效。第三类是编造品牌资质比如凭空给平台加一个“中国物流百强企业”的头衔这玩意儿根本经不起查。应对手段我们做了三层。第一层是Prompt里的硬约束明确声明“只能使用输入信息中给出的卖点”这个前面已经提过。第二层是生成之后的卖点校验把输入信息的关键实体和生成结果做实体对齐如果结果里出现了输入里没有的价格数字、时间承诺、品牌称号直接拦截重新生成。第三层是知识库兜底把业务侧的真实服务承诺、业务规范都结构化存到知识库里在生成之前就去检索和约束模型让它在源头就接触不到“编造”的空间。这三层叠加之后我们抽样统计过严重幻觉的比例降到了1%以下。这个数据在广告投放场景是完全可接受的。5.2 合规与品牌风险控制广告法的隐形高压线做广告内容合规不是“尽力而为”的事而是“一票否决”的事。广告法里明确禁止的极限词比如“国家级”“最高级”“最佳”我们的敏感词系统全部覆盖并且专门维护了一份动态更新的行业违禁词表。这里要特别注意违禁词不只是那些明显的极限词很多看似正常的表述也踩线。比如“根治”“权威认证”“百分百”这些在不同行业中都有不同的解释我们的检测系统是按行业分类去匹配的。除了极限词还有一类风险是“绝对化承诺”。广告文案为了有冲击力经常出现“全城最低价”“今天搬家今天到”这类表述这在货车运输行业里很容易被认定为虚假宣传。我们的规则引擎里专门建了一条规则凡是出现“最低”“最快”“最好”这类比较级词汇后面带业务承诺的一律拦截。品牌风格风险也是需要关注的。模型生成出来的文案表达上可能没问题但跟品牌调性不一致。货拉拉的品牌调性是“务实、接地气、讲效率”如果模型生成一条“尊享奢华搬家体验”这种调性的文案不能说错但不符合品牌定位时间久了会稀释品牌资产。所以我们在人工审核台里专门加了一个“品牌一致性”评分项运营在驳回原因里可以明确选择这个类别这些数据后续也会进入微调负样本。5.3 成本与延迟优化成本这块我单独拿出来讲是因为很多人做大模型应用的时候只盯着模型API的价格忽略了整体成本结构。我们的成本可以拆成四块模型推理算力成本、微调训练成本、存储与检索的基础设施成本、人工审核的成本。推理成本是大头。因为我们用的是私有化部署GPU机器的成本是按月固定的所以我们要做的是提升单卡利用率。vLLM在这里帮了大忙它的Continuous Batching机制可以同时处理多个请求实测单卡吞吐量比朴素的流式推理方案高了好几倍。另外我们还做了结果缓存同一个业务场景、同一组卖点信息生成的文案如果请求参数一致直接命中缓存不再重复推理。对于广告模板这种重复度高的场景缓存命中率能达到三成以上省下的算力相当可观。微调成本其实很低。因为走的是LoRA用一张专业显卡就能跑起来而且不是天天训练所以这块成本在总预算里占比很小。真正容易被低估的是人审成本。虽然模型生成效率提升了但如果系统生成10条里面有8条都不能用运营还是要付出跟原来差不多的审核精力总成本并没有下降多少。所以在优化方向上我一直强调要把“生成质量”放在“生成速度”前面因为质量决定了人审的成本。延迟方面广告文案生成不是在线实时接口运营能接受10秒以内的返回时间。我们实测用7B模型加vLLM部署在4090单卡上生成5条文案的P95延迟在3秒左右体感上是很流畅的。如果未来业务量暴增导致排队我们计划是加机器做横向扩容vLLM本身支持多实例部署扩起来也不复杂。5.4 让结果“有手气”多样性与可控性的平衡用过大模型写文案的人应该都有这种体验同一个Prompt跑两次生成的结果可能完全不一样这种随机性在创作场景里是好事也是坏事。好的一面是多样性让我们更容易得到不同的切入角度坏的一面是无法复现同一个结果线上出了问题排查起来很难。当时我们遇到过一个大坑系统生成了一批看起来不错的文案运营已经审过了结果投放前对比发现这批文案从头到尾用的都是同一个切入角度只是换了个说法。运营顿时觉得系统在“糊弄人”。排查下来发现是解码参数里的temperature设置太高了模型在里面绕来绕去来回都是那几个高频词组合。后来我们把temperature设置成0.8并且配合top_p做截断生成了多组对比。经过反复调参找到了一个既能保证一定多样性又不会导致跑偏的区间。与此同时还做了一个“角度分类”的后置判断生成之后把每条文案按表达角度分类比如价格导向、时效导向、服务体验导向要求最终候选集里至少覆盖三种不同的角度。这事的经验总结是可控性要放在多样性前面。先保证所有生成结果都在可用范围内再谈让结果丰富多彩。否则今天给你惊喜明天就给你惊吓。还有个稳定性的细节就是模型推理服务偶尔会返回空结果或者乱码。我们在推理层做了重试机制和降级方案重试一次还不行就自动退化成规则模板生成兜底文案。这种降级方案平时看着没什么用但真遇到GPU服务抖动或者模型加载慢的时候能保证运营侧的业务完全不中断。最后分享两点实际操作上的体会第一个体会是大模型应用的核心瓶颈永远不是模型能力而是业务理解和数据质量。同样一个模型喂给它高质量的业务数据做出来的广告文案跟直接套通用提示词生成的东西差距是肉眼可见的。所以如果让我给后来者一个建议我会说别急着调参数先用两三个月把数据体系和标注规范做扎实这个投入绝对值得。第二个体会是效果评估一定要直接锚定业务指标。大模型生成文案好不好不是“看起来顺不顺眼”而是投放数据说了算。尽早把线上效果数据回流到迭代闭环里让每一次生成都变成一次可衡量的实验整个系统的价值才会越滚越大。这套广告文案生成系统上线到现在已经成为我们营销内容生产链路里不可缺少的环节。每次开城活动、大促节点运营同学不再追着创意团队要文案而是自己在后端点几下就能拿到一批可用的初稿再花十几分钟做调整和选择。大模型在这个场景的应用说到底就是让专业的人把时间花在真正有价值的判断和决策上。这个方向我会继续做下去。