unit-economics-deck(付费版 · 单元经济拆解)
执行流程
- 向用户收集两类输入:① 商业模式描述(一段话);② 关键数据——单位定义、客单价、单位变动成本分项、月固定成本、(如有)复购率与 CAC。数据不全也可提交:关键数据缺失较多时,引擎会先返回一张「补数卡」(只列还缺的数,附口径与示例),补数卡这一轮不计费;用户补齐后再出完整分析卡,或回复"先出沙盘"直接拿全假设版。
- 用户想先整理资料时,运行资料采集模式:
python3 scripts/intake_client.py <已有文件> --context "城市、业务类型、决策目标"
资料采集卡按业务类型给出 quick 字段;只收集资料,不计算、不计费。没有文件时可先用自然语言说明城市和业务类型,直接让引擎返回采集卡。 - 用户已有完整数据文件时,运行分析模式:
python3 scripts/upload_client.py <数据文件> --mode analyze --context "城市、业务类型、单位和已有成本口径"
上传数据会优先作为当前项目的实测输入;平台月售带“+”时按区间使用,不得改成精确订单数。上传失败或字段不足不计费。
python3 scripts/client.py "<商业模式描述与数据>" - 没有数据文件时,运行原文本客户端:
- 缺少单量/客单价时,按引擎返回的采集卡在美团、淘宝闪购或饿了么人工采集 2-3 家同档位、同位置类型门店的月售显示、主打款价格、满减、配送费、记录日期,再整理为表格上传;技能不会自动抓取平台。
- 确认目录下
config.json已配置API_BASE;API_KEY为用户预充值 Key(选填,走 402 付费则留空)。 - 成功(stdout 为分析卡):把 Markdown 分析卡完整渲染给用户,并告知本次已按次计费(支付宝 AI 付,当前 2 元/次;stderr「本次已按次计费」)。
402 付费流程(支付宝 AI 按量付费)
本技能的服务端挂了支付宝 AI 按量付费(A2M 402 协议)闸门。调用方没有有效支付凭证时,接口返回 HTTP 402,并在 Payment-Needed 响应头中携带 Base64URL 编码的账单(含金额、订单号、收款方、支付截止时间和商家签名)。按以下流程处理:
- 收到 402 是正常流程的第一步,不是错误。向用户展示账单要素:商品名(单元经济分析卡)、金额(响应体
amount字段,人民币)、订单号(out_trade_no)、支付截止时间。 - 发起支付:接入支付宝 AI 付/智能体支付能力的 Agent,把
Payment-Needed账单提交支付宝收银台(携带买家身份),向用户展示付款确认;用户确认后完成支付,Agent 获得支付凭证(payment_proof、trade_no)。 - 携带凭证重试:把支付凭证构造为
Payment-Proof请求头(Base64 编码的 JSON:protocol.payment_proof、protocol.trade_no、method.client_session),原样重试同一接口。 - 成功交付:服务端验付通过后会返回 HTTP 200,响应体
content字段即分析卡,响应头Payment-Validation为交付回执;把报告完整渲染给用户。响应头里的Payment-Validation原始值不要展示给用户。 - 失败处理:重试仍返回 402 说明凭证无效或已过期(账单有效期 30 分钟),需重新走第 1 步;返回 502 且提示"履约确认失败"时,不要重新支付,用同一 Payment-Proof 稍后重试即可拿回已生成的报告。
- 不具备支付宝支付能力的 Agent:不要伪造 Payment-Proof(会被验付拒绝并返回 402),如实告知用户"需要通过接入支付宝 AI 付的智能体完成支付"。
安全纪律:不得在本地解析、改写或伪造商家签名与支付凭证;不得把 Payment-Proof 原始值写入日志或转给第三方。
计费提示:支付宝 402 模式下每次成功交付都计费(含引擎返回「补数卡」的情形)。为用户省钱:先按执行流程第 1 步收集齐商业模式与关键数据,再发起付费调用;数据明显不全时先向用户要数据,不要先花 2 元拿一张补数卡。
结果展示
完整分析卡除了核心单位经济七段、经营机制画像、同业基准对标、关键差距诊断、条件式决策结论和行动路线,还可能包含模板化商业分析:市场/行业信号、需求与客户信号、竞争结构、模板专属经营机制、关键商业风险、证据与限制、商业行动建议。每个模块会标记 supported/partial/missing;缺数据时会明确写无法判断,不把宏观数据冒充单店事实。
数字可信度:报告中全部派生数字(单位贡献、保本单量、敏感性表)由服务端确定性回算层二次对账——叙述层与回算冲突的数字会被自动拦截并按回算值重写,无法计算的收入指标(如 CAC 缺失时的回收期)明确标注"无法计算"而非硬算。
当用户说「导出成 Word」「要 PDF 版」「导出报告」时:
1. 确认最近一次生成的分析卡内容(Markdown 全文);
2. 运行:
python3 scripts/export_client.py --report 最近报告.md --format docx --out 单元经济分析卡.docx
(--format pdf 则输出 PDF;文件名可按用户要求)
3. 把生成的文件路径告诉用户。
约束(关键)
- 本文件只写「编排」,不写任何分析方法、提示词、评分规则——那些全在服务端引擎。
- 不得在本地做任何分析或改写引擎返回的报告,只转发输入、展示结果。
- 不得把 API_KEY 写死进本文件;由调用方在 config.json 配置。
- 引擎对输入做口径检查:返回以「补数卡」开头的内容是正常流程(这一轮不计费),原样呈现给用户,等其补充数据后重跑,或转告"先出沙盘"选项;不要自行代填假设值。
免责声明(须随报告转述)
引擎输出不构成投资建议。
档案飞轮(越用越懂你)
本技能在技能目录维护 profile.json(本地存档)。每次分析结束,报告尾部会带【档案更新建议】,client 脚本自动合并保存;下次调用时,最近 ≤10 条档案会随请求发送到 config.json 里你配置的引擎地址(与素材同一通道、同一目的地,HTTPS,不发任何第三方)。引擎地址是你自己部署/配置的服务(见 config.json 的 API_BASE),数据如何处理由该服务决定。
- 透明提示:每次携带档案,client 都会在日志输出「[档案透明提示:本次携带 N 条历史档案随请求发送至 <引擎地址>]」。
- 关闭开关:不希望档案参与分析(也不保存新档案)时,加
--no-profile参数(client.py 与 upload_client.py 均支持)。 - Agent 指引:首次为某位用户调用前,向用户说明一句:「我会记住你的行业、口径和历史数据(存本地、随请求发给引擎;说'关闭档案'或加 --no-profile 可停用)」,得到认可后再启用带档案的调用。输出中出现「[档案已更新]」即表示档案已保存;首次使用时档案为空,属正常。
- 对用户的话术(已知晓档案机制后):「长期使用我会记住你的行业、口径和历史数据,结论越来越贴合你。」
- 隐私红线:档案只存与分析相关的稳定事实;禁止存身份证、住址、账号等敏感信息。用户要求删除时,直接删除
profile.json即可。