你有没有过这种经历花一下午搭了个 AI Demo看起来无所不能结果一上线就翻车把 20 块的出价搞成 2000 块一个操作问你十几个问题跑一次要半小时。腾讯广告的团队就踩了这个坑他们用一个下午跑通了广告投放 Agent 的 Demo却花了半年时间才把这个“玩具”做成了能在生产环境扛住真金白银的生产力工具。这半年里他们踩过的坑、走过的弯路可能正是你做 Agent 落地时最需要的经验。1. Demo 跑通了然后呢最开始所有人都觉得广告投放太适合做 Agent 了。你想啊优化师每天的工作不就是重复地点击建广告、调出价、看报表、暂停烂计划、复制好计划一个熟练的优化师同时管几十个账号每天在后台点几百次这些操作背后都有成熟的 API让 AI 替他干不是顺理成章吗项目启动第三天原型就出来了一个简单的 ReAct 循环挂了十几个投放 API接上大模型。Demo 的时候效果炸了你说 “帮我查一下昨天 xx 账号的消耗”它秒查你说 “建一个定向 25 - 40 岁的广告”它秒建。所有人都兴奋这不是未来已来结果上线第一天现实就给了我们一巴掌。第一个问题疯狂追问。建一个广告的 API 有 50 个参数模型不确定的就问你“请问出价策略是什么”“请问版位是什么”“请问定向人群是什么”…… 本来 3 分钟能填完的表单跟 AI 聊了 20 分钟用户说我还不如自己填第二个问题慢到离谱。一次建广告模型调用了 56 轮 LLM加上 API 的等待整整跑了 26 分钟优化师手动操作只要 3 分钟谁愿意等半小时最吓人的是第三个元分搞混了。你说 “出价 20 块”API 的单位是分模型直接把 20 传进去变成了 0.2 元的出价。我们修了一版矫枉过正又把 20 元乘以 100 变成 2000 分结果有时候又乘了一遍变成 2000 元的出价就这一下要是真上线一天就能亏掉几十万。原来Agent 的难点从来不是 “智能”而是 “可控”。你以为让 AI 调 API 就完了真正的坑都在 Demo 之外。2. Agent 进化的三步从“能开”到“开好”再到“开稳”这半年里我们对 Agent 的理解经历了三次彻底的转变就像你学开车最开始你只要能把车开走就行 —— 这就是第一阶段“能跑通”。但你很快发现能开走没用你会闯红灯、会撞墙、会把油门当刹车 —— 所以第二阶段你要学会遵守规则能把车开对这就是“跑得对”。等你会开了你还要能开长途、能上高速、车不抛锚 —— 这就是第三阶段“跑得稳”。null就是我们最开始的阶段把所有工具平铺给模型你说啥它干啥看起来啥都能干实则一戳就破。第二阶段跑得对 —— 给 AI 立规矩意识到可控性的问题后我们做了三件事把能力打包成Skill不让模型面对一堆工具乱选给高风险操作加了确认机制AI不能直接花钱得先给你看计划建了评测体系再也不靠“跑几个case试试”判断好坏。这个阶段我们才明白Agent 不需要更多能力它需要更清晰的能力边界。null等能力越来越多我们发现一个 Agent 扛不住了工具太多模型选错的概率越来越高投放要严谨分析要灵活一个 AI 没法同时做好两件事。于是我们把一个大 Agent 拆成了 5 个专业的小 Agent每个只干自己擅长的活。同时我们把 Agent 做成了配置化的写个 YAML 文件就能定义一个新的 Agent不用写一行代码。这个阶段我们才明白原来我们要做的不是 “一个好 Agent”而是 “能快速生成好 Agent 的框架”。3. Agent的“操作系统”可插拔的推理引擎推理引擎就是 Agent 的操作系统它决定了 AI 怎么“想”、怎么“做”。最开始我们自己写了一套Format ReAct Loop让模型用 XML 标签输出思考、动作、结果这样我们能把过程实时透传给前端用户能看到 AI 在干嘛不用干等。而且这个格式不依赖任何模型的 Function Calling我们能随便切换模型供应商。但后来我们发现社区的标准方案越来越成熟了LiteLLM 把上百种模型的 FC 协议统一了模型对原生 FC 的优化也比我们自研的好。于是我们果断切换到了标准的 Function Calling。但我们没把自研的扔掉而是做了个可插拔的架构就像你电脑换显卡不用换整机我们改一行配置就能切换推理引擎不管是自研的还是开源的 Hermes还是标准的 LiteLLM上层业务逻辑完全不用动。这就像你手机的系统不管你用骁龙还是天玑的芯片你装的 APP 都能正常运底层的引擎换了你完全没感觉。除了引擎我们还搞定了 Prompt 的管理 —— 原来 Prompt 不是写一段文字就完了它是个工程系统我们把 Prompt 分成了四层L0 层合规约束就像手机的安全系统任何场景都不能改比如不能泄露用户隐私L1 层推理框架就像系统的操作逻辑告诉你 AI 该怎么思考L2 层场景业务就像你装的 APP对应每个 Agent 的业务规则L3 层动态上下文就是你当前的操作每次对话都不一样。而且我们还做了动静分离把不变的内容放前面会变的放后面这样 Prompt Cache 就能命中Token 成本直接降到原来的 1/5就像你写文档开头的格式、规范都是固定的每次只改后面的内容不用每次都重新写开头省了好多事。4. 给 Agent 划个“能力圈”Skill 体系的进化最开始我们给 Agent 的工具就像去餐厅吃自助餐把所有菜都摆你面前你自己选。结果呢模型看着几十道菜经常点错把“暂停广告”当成“删除广告”把“调整出价”当成“调整预算”。后来我们才明白模型不需要自选菜单它需要套餐于是我们做了 Skill 体系把工具打包成一个个的“套餐”比如“创建广告套餐”里面就包含了创建广告需要的所有工具、流程、规则模型不用自己选只要用这个套餐就行。比如你要创建广告激活这个 Skill它就只给你看这个 Skill 里的工具别的工具你看不到自然不会选错。而且这个 Skill 用 Markdown 写产品经理、运营都能改不用找开发改完就能用。后来我们更进一步把 “自选菜单” 彻底改成了 “套餐制”。原来的业务工具不再注册成 FC 工具给模型选而是把整个 Skill 当成一个选项模型选了 SkillSkill 自己带着流程执行。就像你去餐厅原来给你所有食材你自己煮现在给你做好的套餐你直接吃不用自己选不会错还快。我们现在有 50 多个这样的 Skill覆盖了广告投放的所有场景每个 Skill 对应一个完整的业务意图比如 “管理广告状态”“调整出价策略”不大不小刚好。null广告投放最特殊的地方AI的操作花的是真金白银。你让 AI 帮你建广告它要是搞错了参数一天就能亏掉你几万块。要是让 AI 理解了你的意图就直接执行你敢信吗就像你让你的 AI 助理帮你买机票你敢让它直接就下单吗肯定不敢啊你得让它把航班、价格、日期给你看一遍你确认了它才能买要是不对你还能改。我们就是这么做的提案机制。AI 理解了你的意图之后不直接调 API而是先生成一份 Markdown 的操作计划把所有的参数都列出来账号、定向、出价、预算、素材…… 给你看。你可以逐项核对还能直接改比如把日预算从 1000 改成 800把素材从这个视频换成那个视频改完了你点确认AI 才会真正执行。而且这个计划不是临时的它是个独立的文件有自己的状态你今天改一半明天回来还能继续改还能同时开好几个计划并行核对。最妙的是我们给 Markdown 加了自定义的标签比如素材不是只写个名字而是显示缩略图、尺寸你点一下就能换素材比如出价你点一下就能改数字。这样一来这份计划既是给你看的文档又是能改的配置面板AI 提议你决策AI 执行完美的人机协作。再也不用担心 AI 乱花钱了所有的操作你都能先看一遍确认了再执行安全感拉满。6. 怎么证明 Agent“靠谱”从靠感觉到靠数据最开始我们判断 Agent 好不好用就是自己跑几个 case感觉没问题就上线。结果呢改了一版 Prompt这边好了那边悄悄坏了等用户反馈了才知道原来两个版本前就出问题了。Agent 的评测比传统软件难太多了它的输出不确定同一个请求可能走不同的路径成功也不是非黑即白。于是我们建了一套自动化的评测体系就像给 AI 做了一套恒定的测试卷每次改完东西都自动考它一遍看它有没有退步。我们把评测分成了三个阶段最开始只要能跑完不报错就行后来我们要测它跑得对不对从意图理解、实体提取、工具选择、参数准确、结果正确、安全合规六个维度打分现在我们还要测它稳不稳、快不快每天凌晨自动跑 376 个 case监控有没有退化。而且我们做了信息中心式的 Mock不是录死的接口响应而是做了个账号的模拟器不管 AI 走哪条路径获数据都能拿到正确的结果不会因为路径变了就评测失败。就像你教孩子做题原来你就看他这次作业对不对现在你每天都给他做一套测试卷看他有没有忘记之前学的哪里错了一目了然。现在我们的迭代再也不靠感觉了改了什么评测分数立刻告诉你是变好还是变坏哪里出了问题清清楚楚。null就算 Agent 再靠谱也总有犯错的时候就像你开车再小心也可能不小心开到沟里。所以我们给 Agent 装了安全护栏就像公路的护栏你要是快开出路了它就拦住你。最开始我们就是被那个缘分混淆的坑逼的我们给金额字段加了个校验要是出价超过 10000 块就拦住告诉你不对。后来越加越多就成了 Harness 体系。这些护栏规则用 Markdown 写业务同学都能改不用找开发。比如金额的范围、参数的合法性、业务的规则都能写成规则工具执行之前先过一遍护栏有问题就拦下来。而且护栏只报告不修改原来我们想自动帮用户改结果有时候用户就是要设高出价自动改反而改错了。现在护栏发现问题就告诉 AI这个参数不对你自行改AI 结合上下文自己决定怎么处理。就像你骑电动车有个限速你骑太快了它就提醒你不会直接给你刹车但是会告诉你你超速了注意安全。哪怕你的模型准确率做到 99%那 1% 的失误要是发生在钱上一次就够你开复盘会了。所以护栏是必须的。8. 从“全能员工”到“专业团队”5个Agent的分工最开始我们想做一个全能的 Agent啥都能干投放、创意、报表、分析一个 AI 搞定所有。结果呢它啥都干不好投放要严谨要一步一步确认报表要灵活要快速分析一个 AI 没法同时做好这两件事工具太多它还经常选错。于是我们把它拆了拆成了 5 个专业的 Agent就像你开小店原来你一个人又当厨师又当服务员又当收银员又当保洁忙不过来还容易出错现在你请了专业的人通用对话Agent负责前台接待用户分任务广告投放Agent负责建广告、改出价干执行的活创意投放Agent负责管素材做创意报表分析Agent负责查数据、做报表干分析的活创意洞察Agent负责分析素材效果给建议。每个 Agent 只干自己擅长的效率高还不会乱。而且定义这些 Agent 太简单了写个 YAML 文件声明它能调用什么工具、能用什么 Skill再写个 Markdown 定义它的特性不用写一行代码改完配置就生效。就像搭积木你要什么 Agent拼一下就出来了太方便了。我们踩过的那些坑比正路更值钱这半年我们走的弯路比正路还值得分享第一个坑用复杂的编排框架解决确定性问题。 最开始我们觉得广告创建的流程太复杂不能交给模型于是花了好多精力做 DAG 编排、状态机结果编排框架本身的复杂度比业务逻辑还高加个新场景要写一堆配置。后来我们拆掉了改成 Skill 引导 工具约束效果反而更好。 教训不要用工程复杂度补偿你对模型的不信任。第二个坑过早投入基建忽视了业务场景。 最开始我们花了好多精力搭通用框架、做插件机制结果发现真正产生价值的是把“创建一条广告”这个场景从60分做到90分。框架是从场景里长出来的不是提前设计出来的。 教训业务团队做Agent早期先搞场景别先搞基建。半年前我们觉得 Agent 就是 “让 LLM 调 API”半年后才明白一个能上线的业务 Agent要技术可靠要工程可控要让用户敢用哪一件都不简单。Demo 的终点才是工程的起点。现在这个投放 Agent已经把优化师从重复的操作里解放出来了让他们去做真正需要人类判断力的事这才是 AI 真正的价值。 你有没有遇到过 AI Demo 很完美一到生产就翻车的情况或者你觉得你的工作里哪些重复的活儿最适合交给 Agent 来做评论区聊聊你的看法
AI广告投放Agent:从Demo到实战的半年进化
发布时间:2026/5/22 0:29:05
你有没有过这种经历花一下午搭了个 AI Demo看起来无所不能结果一上线就翻车把 20 块的出价搞成 2000 块一个操作问你十几个问题跑一次要半小时。腾讯广告的团队就踩了这个坑他们用一个下午跑通了广告投放 Agent 的 Demo却花了半年时间才把这个“玩具”做成了能在生产环境扛住真金白银的生产力工具。这半年里他们踩过的坑、走过的弯路可能正是你做 Agent 落地时最需要的经验。1. Demo 跑通了然后呢最开始所有人都觉得广告投放太适合做 Agent 了。你想啊优化师每天的工作不就是重复地点击建广告、调出价、看报表、暂停烂计划、复制好计划一个熟练的优化师同时管几十个账号每天在后台点几百次这些操作背后都有成熟的 API让 AI 替他干不是顺理成章吗项目启动第三天原型就出来了一个简单的 ReAct 循环挂了十几个投放 API接上大模型。Demo 的时候效果炸了你说 “帮我查一下昨天 xx 账号的消耗”它秒查你说 “建一个定向 25 - 40 岁的广告”它秒建。所有人都兴奋这不是未来已来结果上线第一天现实就给了我们一巴掌。第一个问题疯狂追问。建一个广告的 API 有 50 个参数模型不确定的就问你“请问出价策略是什么”“请问版位是什么”“请问定向人群是什么”…… 本来 3 分钟能填完的表单跟 AI 聊了 20 分钟用户说我还不如自己填第二个问题慢到离谱。一次建广告模型调用了 56 轮 LLM加上 API 的等待整整跑了 26 分钟优化师手动操作只要 3 分钟谁愿意等半小时最吓人的是第三个元分搞混了。你说 “出价 20 块”API 的单位是分模型直接把 20 传进去变成了 0.2 元的出价。我们修了一版矫枉过正又把 20 元乘以 100 变成 2000 分结果有时候又乘了一遍变成 2000 元的出价就这一下要是真上线一天就能亏掉几十万。原来Agent 的难点从来不是 “智能”而是 “可控”。你以为让 AI 调 API 就完了真正的坑都在 Demo 之外。2. Agent 进化的三步从“能开”到“开好”再到“开稳”这半年里我们对 Agent 的理解经历了三次彻底的转变就像你学开车最开始你只要能把车开走就行 —— 这就是第一阶段“能跑通”。但你很快发现能开走没用你会闯红灯、会撞墙、会把油门当刹车 —— 所以第二阶段你要学会遵守规则能把车开对这就是“跑得对”。等你会开了你还要能开长途、能上高速、车不抛锚 —— 这就是第三阶段“跑得稳”。null就是我们最开始的阶段把所有工具平铺给模型你说啥它干啥看起来啥都能干实则一戳就破。第二阶段跑得对 —— 给 AI 立规矩意识到可控性的问题后我们做了三件事把能力打包成Skill不让模型面对一堆工具乱选给高风险操作加了确认机制AI不能直接花钱得先给你看计划建了评测体系再也不靠“跑几个case试试”判断好坏。这个阶段我们才明白Agent 不需要更多能力它需要更清晰的能力边界。null等能力越来越多我们发现一个 Agent 扛不住了工具太多模型选错的概率越来越高投放要严谨分析要灵活一个 AI 没法同时做好两件事。于是我们把一个大 Agent 拆成了 5 个专业的小 Agent每个只干自己擅长的活。同时我们把 Agent 做成了配置化的写个 YAML 文件就能定义一个新的 Agent不用写一行代码。这个阶段我们才明白原来我们要做的不是 “一个好 Agent”而是 “能快速生成好 Agent 的框架”。3. Agent的“操作系统”可插拔的推理引擎推理引擎就是 Agent 的操作系统它决定了 AI 怎么“想”、怎么“做”。最开始我们自己写了一套Format ReAct Loop让模型用 XML 标签输出思考、动作、结果这样我们能把过程实时透传给前端用户能看到 AI 在干嘛不用干等。而且这个格式不依赖任何模型的 Function Calling我们能随便切换模型供应商。但后来我们发现社区的标准方案越来越成熟了LiteLLM 把上百种模型的 FC 协议统一了模型对原生 FC 的优化也比我们自研的好。于是我们果断切换到了标准的 Function Calling。但我们没把自研的扔掉而是做了个可插拔的架构就像你电脑换显卡不用换整机我们改一行配置就能切换推理引擎不管是自研的还是开源的 Hermes还是标准的 LiteLLM上层业务逻辑完全不用动。这就像你手机的系统不管你用骁龙还是天玑的芯片你装的 APP 都能正常运底层的引擎换了你完全没感觉。除了引擎我们还搞定了 Prompt 的管理 —— 原来 Prompt 不是写一段文字就完了它是个工程系统我们把 Prompt 分成了四层L0 层合规约束就像手机的安全系统任何场景都不能改比如不能泄露用户隐私L1 层推理框架就像系统的操作逻辑告诉你 AI 该怎么思考L2 层场景业务就像你装的 APP对应每个 Agent 的业务规则L3 层动态上下文就是你当前的操作每次对话都不一样。而且我们还做了动静分离把不变的内容放前面会变的放后面这样 Prompt Cache 就能命中Token 成本直接降到原来的 1/5就像你写文档开头的格式、规范都是固定的每次只改后面的内容不用每次都重新写开头省了好多事。4. 给 Agent 划个“能力圈”Skill 体系的进化最开始我们给 Agent 的工具就像去餐厅吃自助餐把所有菜都摆你面前你自己选。结果呢模型看着几十道菜经常点错把“暂停广告”当成“删除广告”把“调整出价”当成“调整预算”。后来我们才明白模型不需要自选菜单它需要套餐于是我们做了 Skill 体系把工具打包成一个个的“套餐”比如“创建广告套餐”里面就包含了创建广告需要的所有工具、流程、规则模型不用自己选只要用这个套餐就行。比如你要创建广告激活这个 Skill它就只给你看这个 Skill 里的工具别的工具你看不到自然不会选错。而且这个 Skill 用 Markdown 写产品经理、运营都能改不用找开发改完就能用。后来我们更进一步把 “自选菜单” 彻底改成了 “套餐制”。原来的业务工具不再注册成 FC 工具给模型选而是把整个 Skill 当成一个选项模型选了 SkillSkill 自己带着流程执行。就像你去餐厅原来给你所有食材你自己煮现在给你做好的套餐你直接吃不用自己选不会错还快。我们现在有 50 多个这样的 Skill覆盖了广告投放的所有场景每个 Skill 对应一个完整的业务意图比如 “管理广告状态”“调整出价策略”不大不小刚好。null广告投放最特殊的地方AI的操作花的是真金白银。你让 AI 帮你建广告它要是搞错了参数一天就能亏掉你几万块。要是让 AI 理解了你的意图就直接执行你敢信吗就像你让你的 AI 助理帮你买机票你敢让它直接就下单吗肯定不敢啊你得让它把航班、价格、日期给你看一遍你确认了它才能买要是不对你还能改。我们就是这么做的提案机制。AI 理解了你的意图之后不直接调 API而是先生成一份 Markdown 的操作计划把所有的参数都列出来账号、定向、出价、预算、素材…… 给你看。你可以逐项核对还能直接改比如把日预算从 1000 改成 800把素材从这个视频换成那个视频改完了你点确认AI 才会真正执行。而且这个计划不是临时的它是个独立的文件有自己的状态你今天改一半明天回来还能继续改还能同时开好几个计划并行核对。最妙的是我们给 Markdown 加了自定义的标签比如素材不是只写个名字而是显示缩略图、尺寸你点一下就能换素材比如出价你点一下就能改数字。这样一来这份计划既是给你看的文档又是能改的配置面板AI 提议你决策AI 执行完美的人机协作。再也不用担心 AI 乱花钱了所有的操作你都能先看一遍确认了再执行安全感拉满。6. 怎么证明 Agent“靠谱”从靠感觉到靠数据最开始我们判断 Agent 好不好用就是自己跑几个 case感觉没问题就上线。结果呢改了一版 Prompt这边好了那边悄悄坏了等用户反馈了才知道原来两个版本前就出问题了。Agent 的评测比传统软件难太多了它的输出不确定同一个请求可能走不同的路径成功也不是非黑即白。于是我们建了一套自动化的评测体系就像给 AI 做了一套恒定的测试卷每次改完东西都自动考它一遍看它有没有退步。我们把评测分成了三个阶段最开始只要能跑完不报错就行后来我们要测它跑得对不对从意图理解、实体提取、工具选择、参数准确、结果正确、安全合规六个维度打分现在我们还要测它稳不稳、快不快每天凌晨自动跑 376 个 case监控有没有退化。而且我们做了信息中心式的 Mock不是录死的接口响应而是做了个账号的模拟器不管 AI 走哪条路径获数据都能拿到正确的结果不会因为路径变了就评测失败。就像你教孩子做题原来你就看他这次作业对不对现在你每天都给他做一套测试卷看他有没有忘记之前学的哪里错了一目了然。现在我们的迭代再也不靠感觉了改了什么评测分数立刻告诉你是变好还是变坏哪里出了问题清清楚楚。null就算 Agent 再靠谱也总有犯错的时候就像你开车再小心也可能不小心开到沟里。所以我们给 Agent 装了安全护栏就像公路的护栏你要是快开出路了它就拦住你。最开始我们就是被那个缘分混淆的坑逼的我们给金额字段加了个校验要是出价超过 10000 块就拦住告诉你不对。后来越加越多就成了 Harness 体系。这些护栏规则用 Markdown 写业务同学都能改不用找开发。比如金额的范围、参数的合法性、业务的规则都能写成规则工具执行之前先过一遍护栏有问题就拦下来。而且护栏只报告不修改原来我们想自动帮用户改结果有时候用户就是要设高出价自动改反而改错了。现在护栏发现问题就告诉 AI这个参数不对你自行改AI 结合上下文自己决定怎么处理。就像你骑电动车有个限速你骑太快了它就提醒你不会直接给你刹车但是会告诉你你超速了注意安全。哪怕你的模型准确率做到 99%那 1% 的失误要是发生在钱上一次就够你开复盘会了。所以护栏是必须的。8. 从“全能员工”到“专业团队”5个Agent的分工最开始我们想做一个全能的 Agent啥都能干投放、创意、报表、分析一个 AI 搞定所有。结果呢它啥都干不好投放要严谨要一步一步确认报表要灵活要快速分析一个 AI 没法同时做好这两件事工具太多它还经常选错。于是我们把它拆了拆成了 5 个专业的 Agent就像你开小店原来你一个人又当厨师又当服务员又当收银员又当保洁忙不过来还容易出错现在你请了专业的人通用对话Agent负责前台接待用户分任务广告投放Agent负责建广告、改出价干执行的活创意投放Agent负责管素材做创意报表分析Agent负责查数据、做报表干分析的活创意洞察Agent负责分析素材效果给建议。每个 Agent 只干自己擅长的效率高还不会乱。而且定义这些 Agent 太简单了写个 YAML 文件声明它能调用什么工具、能用什么 Skill再写个 Markdown 定义它的特性不用写一行代码改完配置就生效。就像搭积木你要什么 Agent拼一下就出来了太方便了。我们踩过的那些坑比正路更值钱这半年我们走的弯路比正路还值得分享第一个坑用复杂的编排框架解决确定性问题。 最开始我们觉得广告创建的流程太复杂不能交给模型于是花了好多精力做 DAG 编排、状态机结果编排框架本身的复杂度比业务逻辑还高加个新场景要写一堆配置。后来我们拆掉了改成 Skill 引导 工具约束效果反而更好。 教训不要用工程复杂度补偿你对模型的不信任。第二个坑过早投入基建忽视了业务场景。 最开始我们花了好多精力搭通用框架、做插件机制结果发现真正产生价值的是把“创建一条广告”这个场景从60分做到90分。框架是从场景里长出来的不是提前设计出来的。 教训业务团队做Agent早期先搞场景别先搞基建。半年前我们觉得 Agent 就是 “让 LLM 调 API”半年后才明白一个能上线的业务 Agent要技术可靠要工程可控要让用户敢用哪一件都不简单。Demo 的终点才是工程的起点。现在这个投放 Agent已经把优化师从重复的操作里解放出来了让他们去做真正需要人类判断力的事这才是 AI 真正的价值。 你有没有遇到过 AI Demo 很完美一到生产就翻车的情况或者你觉得你的工作里哪些重复的活儿最适合交给 Agent 来做评论区聊聊你的看法