Sozai Agent Native · As Built
创意管家:建成后的样子
2026-07-16 · 分支 pmvibe-st-agent (adae908) · 环境 sozai-st-test / sozai-st(生产)
姊妹篇:design.html 是 2026-07-11 的设计方案;本页写的是动工之后、按真实代码和产品定稿整理的现状。
每个 Agent 配一个常驻的「创意管家」。你在右侧聊天栏里说想法,它去核实、去记录、去下单;你在页面上做的每个动作、系统办完的每件事,都回到同一条时间流里。
01 · Architecture
总架构:对话和干活是两套人马
管家只负责跟你说话和下单;真正跑搜索、出方案、做成片的是后台执行面。两边只通过数据库里的任务表见面——聊天挂了任务照跑,任务慢了聊天不卡。
和 07-11 设计稿最大的差别:权限门、飞书推送、任务终态回流这三块当时还是待办,现在都在线上跑了。执行面领任务时按 product_key 隔离,多环境共库也不会互相抢。
02 · Timeline
一条时间流,三个方向各说一件事
聊天抽屉里的每样东西都有固定的方向。看方向就知道是谁在说话:
左 · 管家说的话我看了这两条素材,爆炸节奏确实弱。给你出了一张基因修改卡:
📋 创意基因修改建议 待确认
检索需求(新):优先集体混战、高空视角……
[应用] [驳回] — 卡片就跟在这句话下面,不再顶到最上
右 · 你做的事(行为留痕)+ 加入成片制作「峡谷石桥·逐拱破碎」
通用制作:保留第 5 格的修复镜头
✕ 成片制作失败:上游超时 · 去任务中心查看详情
居中那两行是「黑匣子」:系统办完一件事,无论成败都记一条。进行中的状态一条都不记——想看进度去任务中心。
黑匣子口径:一个任务最多两条记录
| 任务中心里的状态 | 聊天里怎么记 |
| 排队中 / 进行中 / 进度百分比 | 不记。状态会变,日志只记事件 |
| 完成(done) | 一条居中小字:✓ 已搜索到 N 条创意源 / ✓ 方案已生成 + 产物小卡(点了直达) |
| 失败(failed) | 一条居中小字:✕ 搜索失败:原因 · 去任务中心查看详情 |
- 发起记录不重复写:页面动作有行为留痕,管家下单有确认卡,够了。
- 「已下单检索」工具行和「试搜已下单」回执句都撤了——同一件事不说四遍。
- 徽标分工:tab 上的数字=产物到了;任务中心=状态和历史;管家红点=管家说了新话或有卡等你操作。
03 · Tools
管家的 9 件工具
| 工具 | 干什么 | 要点 |
| read_gene | 读当前创意基因 | 检索需求 + 创意规则 + 最近 5 个版本 |
| view_object | 看某条素材 / 方案 / 成片 | 带精确的衍生数字:这条素材出过几个方案、每个方案出过几条成片 |
| analyze_video | 现场拆解一条视频 | 素材还没入库分析时的补刀,每轮限量 |
| read_performance | 查表现统计 | 按基因版本分组:浏览 / 采用 / 下载 / 点赞点踩 |
| read_behavior | 查你的操作日志 | 和你在时间流里看到的留痕是同一份 |
| record_feedback | 把意见记进反馈档 | 记下即待处理,出卡且你点了应用才算处理完 |
| propose_gene_card | 出基因修改卡 | 可提检索需求 / 创意规则 / 时长上限;你点「应用」才写库 |
| order_search | 下一单搜索 | 三种货源全通(快搜 / 竞品 / 热梗常规),和页面「再找一批」同一条路 |
| propose_order | 出下单确认卡 | 出方案 / 出成片,你点「确认」才执行 |
说话的规矩
- 证据优先:议论一条素材之前必先 view_object,不许凭印象说。
- 数字必须精确:问「出了几个方案」用衍生数字答,不许估。
- 永不谎称改过基因——一切修改都要经过你点头的卡片。系统会核查它的话,吹牛的句子直接删掉。
- 动钱的事(搜索 / 方案 / 成片)都要确认卡,你不点头就不发生。
04 · Creative Gene
创意基因:怎么记住你的口味
每个 Agent 有一份「创意基因」= 检索需求 + 创意规则 + 硬性约束(比如时长上限),带版本号。改基因只有一条路:管家出卡,你点应用,长一个新版本。
有人的时候:对话即时出卡
- 你在聊天里说「爆炸感不够」,管家看素材、对基因,直接出修改卡。
- 点应用 → 新版本立刻用于下一次搜索和创作。
没人的时候:批量总结
- 攒够待处理的反馈就自动跑一轮总结,出卡等你回来点。
- 07-15 起吃的材料变全了:文字反馈 + 行为记录 + 任务成败 + 聊天原文。
定稿原则:有人和没人看的是同一份材料,差别只在什么时候看。以前聊天里说过的意见会被标成「已处理」但其实没人动它——这个坑已经填了:出卡且被应用才销账。
05 · Tasks & Notify
任务去哪看、结果怎么找到你
| 地方 | 管什么 |
| 任务中心(tab 行右侧) | 当前在跑什么、历史成败、失败原因、重试。状态类的一切都在这。 |
| 聊天时间流 | 只记事件:发起 + 终态,每任务最多两条。 |
| 飞书私聊卡片 | 任务办完(成败都发)推给发起人:Agent 名、任务名(产物标题或你的需求文字)、摘要、按钮直达产物——方案完成直接落到那条方案上。 |
推送为什么能"直达":办完任务时系统已经知道产物是哪条,深链直接带上它的 id,和你点聊天里产物小卡的跳转是同一套。
已知缺口(待开发,第 14 件)
通用热梗 Agent 新建后的首批搜索走的是老的预研通道,没有任务记录——任务中心、聊天、飞书三处都不知道它办完了。用户新建完干等首批,恰恰最需要这条通知。修法已写进交接文档。
06 · Access
谁能看、谁能改
- 管家的聊天 / 行为 / 历史接口:只有 admin 或这个 Agent 的创建者能进。以前任何登录用户都能跟任意 Agent 聊天下单,这个洞 07-15 已堵上。
- 素材上传等写操作有产品归属门:你得属于当前产品(如 st)。登录时自动补当前环境的归属,从主站带过来的老账号重登一次就好。
- 资产库(/knowledge)收进 admin 区:普通用户日常创作直接 @ 素材,系统自动生成创意单元,不再需要「资产包」这个概念。
- 两条红线不动:不加任何登录后门;agent 上报用的 bearer 凭证永远进不了 admin 操作。
07 · Engineering Notes
接手前先知道的几件事
- 行为写库有归属校验:对象反查不属于这个 Agent 就静默丢弃。新增对象类型记得补 CASE,否则数据无声消失。
- 后台领任务按 product_key 隔离。别再让多个环境的 cron 共抢一张任务表——出过一次事故。
- 前端静态资产的版本指纹(pm-shell.tsx 里的 ASSET_VER)要手动 bump,改了 js/css 不 bump 等于没发。
- 「确认卡出好了…」这类回执句是卡片在正文里的位置锚点,改一个字卡片就找不到家。
- test 环境是共用的:部署前先 fetch 合并,部署后 md5 比对资产——覆盖部署翻过四次车。
- 搜索工人有 15 分钟上限;选货宁缺毋滥,候选不够会如实说。
接下来往哪走(对照 RFC 三步)
| 阶段 | 内容 | 状态 |
| 一 | 任务、行为、结果统一投影进聊天;任务中心保留 | 已完成(黑匣子 + 终态卡 + 飞书) |
| 二 | 下单卡补全结构化字段:创作模式、资产引用、执行路径 | 未动工 |
| 三 | 验收达标后再谈撤掉任务中心入口 | 远期,条件未满足 |