AI 小灵 · 多 Agent 内容生产平台
面向高频营销内容场景的可控 Agent 工作流:Supervisor 路由、研究/撰写/审核/发布四角色协作、≤3 轮审核回写、HITL 与可追溯事件链,附项目故事稿与追问弹药库。
AI 小灵 · 多 Agent 内容生产平台
面向「日清模式」生鲜连锁的高频内容自动化平台。用户提交一个创作需求,平台自动编排四个角色 Agent 协作完成,发布前必须人工确认。
项目故事稿(可背诵版)
用法:先背 30 秒版(自我介绍用)→ 再背 5 分钟版(项目深挖用)→ 追问版是「弹药库」,被问到就调出来。背的是框架和关键词,面试时用口语讲。
30 秒版(一句话介绍)
我在钱大妈主导了一个叫 AI 小灵 的多 Agent 内容生产平台,从 0 到 1 全栈交付:前端三端(Web/App/小程序)+ Python 后端 + LangGraph 编排引擎。用户提交一个创作需求,平台自动编排研究→撰写→审核→发布四个角色 Agent 协作完成,审核不合格自动回写重写,发布前必须人工确认。目前覆盖 29 个生鲜场景,内容生产周期从 4 小时降到 30 分钟,支撑 1000+ 门店并发,日均处理 5 万+ 任务。
5 分钟版(项目深挖主稿)
第 1 段 · 业务背景(为什么做):钱大妈是日清模式生鲜连锁——当日到货当日清、不卖隔夜菜。门店每天要产出大量高频内容:今日鲜到货文案、晚市清货倒计时、最后 X 份紧迫感推送、社群日更……以前全是门店/运营人工写,效率低、质量不稳定、且每个门店水平不一。
第 2 段 · 方案与架构(怎么做):核心思路是多角色流水线——研究(真实搜索抓素材)、撰写(成稿)、审核(打分纠错)、发布(生成发布计划),最后发布动作必须人工确认(HITL)。技术上分三层:前端 Next.js 一套代码基座三端交付;编排层 Python FastAPI + LangGraph 把流水线建模成状态图;能力层 MCP 工具 + RAG 知识库。
第 3 段 · 核心难点(讲 2 个即可):
- 动态分流,新场景零改图:门店场景多(晚市清货/直播脚本/客服话术/经营日报),每个场景写一套流程代码维护不动。方案是维护任务类型注册表——每种类型声明 target 入口和节点执行序列;图里只有一个 Supervisor 动态分流,按 target 查注册表拿到 pipeline 通用路由执行。新增场景只加一条配置,图代码零改动。
- 质量与安全三层保障:审核循环(审核 Agent 打分,不合格回写重写 ≤3 轮,超限转人工);可溯源(正文带
[来源N]标记,审核校验引用序号和事实一致性);密钥安全(MCP 密钥 Fernet 对称加密落库,运行时解密注入)。
第 4 段 · 量化结果:覆盖 29 个生鲜场景,内容生产周期 4h → 30min(↓87.5%),支撑 1000+ 门店并发、API 响应 <2s,日均处理 5 万+ 任务;全程 130+ 测试用例(TDD),已部署生产。
第 5 段 · 我的角色:从 0 到 1 的全栈主导——前端三端、B 端管理后台、AI 编排引擎的架构设计都是我来定。
追问弹药库(精选)
Q1:为什么用 LangGraph 而不用 LangChain Agent?
因为我要的是结构化、可编排的多流程,不是自由对话。29 种场景看着多,但图的节点集合是固定的(研究/撰写/审核/发布/视频生成/人工升级),每个场景只是声明一条 pipeline。LangGraph 把流程建模成显式状态图,节点边都可见、可调试、可回放;LangChain Agent 是「思考→行动」循环,路径由模型自由发挥不可控。另外 LangGraph 原生支持 checkpoint 持久化 + interrupt 中断,直接支撑 HITL——这是决定性理由。
Q2:为什么不用 Coze / Dify,选择自研?(真试过 Dify)
我们真试过 Dify,搭了 Demo 跑流程,最后放弃,是定位不匹配:
- 编排粒度不够——需要审核循环回写(≤3 轮)+ 条件分支 + 超限转人工这类控制流,Dify 工作流偏节点拼装,循环和中断很别扭;
- 黑盒不可观测——要求 append-only 事件日志、全链路可回放,平台内部状态不可见不可导出;
- HITL 审批难定制——发布前人工确认 + 审批后中断恢复,平台不开放底层;
- 数据合规——门店数据和 MCP 密钥要私有化不出内网,平台托管有合规风险;
- 深度集成——要接自有三端 + B 端 + 企业知识库 + 自有 MCP 工具,平台 API 相对封闭。
Q3:审核循环 3 轮具体怎么实现?
图的条件边:审核节点输出 score 和 passed,条件边判断——passed 走发布;没过且轮次 <3 回写撰写节点;轮次到 3 走 review_escalate 转人工。轮次存图的共享状态,每次回写加一。3 轮是经验值:多数问题 1-2 轮修好,3 轮以上大概率是需求理解偏差,继续让模型改边际收益低。
Q4:HITL 中断后状态怎么恢复?
用 LangGraph 的 interrupt + checkpointer。发布节点执行前 interrupt 挂起图,生成待审批记录;审批通过 resume 恢复,图从 checkpoint 继续。状态已持久化,即使进程重启也能恢复。
Q5:防幻觉具体做了哪些?
四层:① 引用溯源——只允许写 research 素材里存在的事实,正文必须带 [来源N];② 审核校验——核对引用序号是否越界、被引用内容和素材是否一致;③ 提示约束——素材没覆盖的信息必须标「存疑/待核实」;④ HITL 兜底——发布前人工确认。
Q6:任务并发和稳定性怎么保证?
三件事:① 业务存储用 MySQL 连接池,多连接真并行,解决单连接非线程安全;② 任务创建做幂等,防重复提交;③ LLM 瞬时错误重试 + 指数退避,工具不可用降级 Mock,保证流程跑完。事件日志 append-only,任何时刻都能重建任务全过程。
Q7:如果流量翻 10 倍怎么办?
三层应对:① LLM 是最大瓶颈——多模型路由降级、相似请求缓存、模型档位区分轻重任务;② 执行链路异步化——入队即返回、worker 异步消费;③ 存储层——读写分离、事件日志归档、热点配置进 Redis。
快速记忆卡
| 关键数字 | 对应话术 |
|---|---|
| 29 | 覆盖 29 个生鲜场景 |
| 4h→30min / ↓87.5% | 内容生产周期降幅 |
| 1000+ / <2s | 门店并发 / API 响应 |
| 5w+ | 日均任务量 |
| 130+ | 测试用例(TDD) |
| ≤3 轮 | 审核回写上限,超限转人工 |
| 4 角色 | 研究→撰写→审核→发布 |
| 技术点 | 一句话说法 |
|---|---|
| LangGraph | 节点固定 + 流程声明化 + checkpoint 持久化 + interrupt 中断 |
| 不用 Dify/Coze | 编排粒度不够 · 黑盒不可观测 · HITL 难定制 · 数据合规 · 深度集成难 |
| Supervisor | 按 target 查注册表动态分流,新场景零改图 |
| MCP | 工具标准化协议,三层 Seam 架构解耦 |
| Fernet | 密钥加密落库,opaque at rest / plaintext at use |
| SSE | 服务端单向推送事件,任务实时可见 |
| 幂等 | 任务创建防重复提交 |
| 模型档位 | fast 快省 / strong 重质,模型无关可切换 |