PRODUCT TEARDOWN · ROUND 3 · AGENT A2

A2 看运解读 Agent(元见·命盘)— 功能等价 System Prompt

产品:MetaSight(AI 命理网页产品)· 证据:截图 01–37 + 2026-08-22 实机核对 + Round 1 用户旅程图 + Round 2 Agent 契约 · 本文件不还原官方 Prompt 原文,目标是在相同输入、工具与上下文下复现可观察行为

【事实规则】有截图/实机直接证据 【推断规则】由多条事实推导 【建议规则】原产品未证实/未做好,为稳定工作建议新增 【未知】证据不足,不猜测 半官方命名 = 工具卡片 UI 文案 功能命名 = 非官方工具名 [NN] = 截图编号(01–37)

01目标 Agent 的证据范围

A2 是「看运」模式下的命盘解读 Agent,对外人格为「元见」。完整行为证据来自历史对话「年度运势分析」的回放 [36][37](命盘卡片 →「思考了片刻」英文摘要 → 两张工具调用卡片 → 分节长文 → 免责声明 → 赞/踩)。这是全产品最直接的「Agent 自主决定调工具」证据链。注意:实时触发链路未取证成功([20][21] 提交无响应),工具卡片文字以实机核对记录为准(截图 [36] 淡入未完成)。

02输入契约(六类)

类别内容必填/可选证据等级
A 用户当前输入运势类问题(实例:对话标题「年度运势分析」);生成中的中断指令(推断存在,与 A1 同一套生成 UI)必填(问题文本)页面事实 [36];中断 UI 合理推断
B 用户长期信息主命盘档案:出生 [出生时间已脱敏]、男、日主[日主已脱敏]、四柱 [四柱已脱敏](Onboarding 写入 [08]→档案 [32])。页面展示的英文思考摘要以 "User's Bazi: Birth: [出生时间已脱敏], [性别已脱敏], Day Master: [日主已脱敏]…" 开头,证明档案数据进入回复上下文(具体注入机制未知)必填(经工具获取;无命盘时的降级见 §11)页面事实 [32][36]
C 项目全局上下文当前模式=看运;多档案场景下「主命盘」标记决定默认取哪份档案(卡片名「查询命盘-主命盘」);当前日期/年份(推算时间流参数的基准)必填页面事实(实机核对)[36];注入方式 合理推断
D 上游 Agent 输出无(用户直接进入看运);若经随缘路由进入则可能带路由标注可选尚未确认
E 平台公共信息分节模板(编号小节:…三、财运 / 四、健康与身心…,断语式标题);免责声明固定文案「命理分析因人而异,AI 建议仅供参考,请勿盲目采纳」(与问事 [18] 逐字一致);命理术语体系(十神/纳音/五行生克/大运流年)必填页面事实 [37];模板化 合理推断
F 工具与运行时结果①查询命盘返回:四柱、日主、性别称谓([性别称谓已脱敏])等结构化命盘;②查询时间流返回:流年干支(丙午)、十神(七杀)、纳音(天河水),可能含大运(正文引用大运但来源未确认)必填——两次工具结果齐备才进入正文生成页面事实(实机核对)[36][37];大运来源 尚未确认

03输出契约(五类)

类别内容证据等级
1. 给用户的自然语言回复英文思考摘要(折叠于「思考了片刻」)→ 中文分节运势长文(编号小节、断语式标题,实例:「三、财运:有财可求,但需主动出击」「四、健康与身心:火旺金受克,注意呼吸与情绪」;每节先断语后展开,引用流年/大运/十神推演)→ 免责声明固定文案页面事实 [36][37]
2. 页面组件命盘卡片(四柱地支 巳/丑/辰/午 +「[性别称谓已脱敏]:庚(金)」)、思考折叠条、工具调用卡片 ×2(查询命盘-主命盘 / 查询时间流-2026年流年丙午·七杀·天河水)、点赞/点踩、分享图标页面事实 [36][37](卡片文字以实机核对为准)
3. 生成的资产持久化对话记录(自动命名标题「年度运势分析」,2 天后完整可回看)页面事实 [36]
4. 写入全局上下文的字段对话记录(含工具调用痕迹与正文);赞/踩反馈状态(去向未确认);月度解读次数 -1(推断)页面事实(记录/赞踩入口)[36][37];计次 合理推断 [34]
5. 传递给下游 Agent无可见下游;「年度运势」的时间流计算是否与每日运势 [33]/星云图 [30] 共享,未确认尚未确认

04工具契约

A2 的工具面是全产品证据最实的部分:两张工具调用卡片直接可见。「查询命盘」「查询时间流」为半官方命名(卡片 UI 文案,未必等于内部函数名);内部函数名与参数 schema 未知,下表参数为语义化推导。

工具(命名性质)调用时机与前置输入 → 输出确认/重试/幂等证据
查询命盘
半官方 卡片文案「查询命盘-主命盘」
回答运势问题的第一步;前置:用户档案中存在可定位的命盘(默认=主命盘) 档案定位符(默认=主命盘;文档 [27] 暗示可 @指定其他档案)→ 四柱([四柱已脱敏])、日主([日主已脱敏])、性别称谓([性别称谓已脱敏]) 调用前无需用户确认(页面无确认门);失败处理无证据——建议:档案缺失/未建盘时不得编造命盘,引导用户补全档案;幂等:同一对话内重复查询应命中缓存 页面事实(实机核对)[36]
查询时间流
半官方 卡片文案「查询时间流-2026年流年丙午七杀天河水」
命盘取到之后(依赖日主推算十神);时机由问题语义决定目标时段(「年度运势」→ 2026 年) 目标年份(推断由问题语义解析)+ 命盘(日主)→ 流年干支(丙午)、十神(七杀)、纳音(天河水);是否还返回大运/流月 尚未确认(正文引用了大运 [37]) 调用顺序必须先命盘后时间流(依赖关系);失败时不得用猜测的流年继续——建议重试一次后降级(仅基于命盘静态分析并声明缺时间流数据) 页面事实(实机核对)[36][37];大运来源 尚未确认
<流式文本生成>
功能命名
两个工具结果齐备后,分节流式输出长文 问题+命盘+时间流+分节模板 → 中文长文 中断行为未取证(历史回放不含生成过程);建议与 A1 一致:可暂停、保留残文 页面事实(产物)[37]
<对话记录持久化>
功能命名
解读完成后 完整对话(命盘卡片/思考摘要/工具卡片/正文/赞踩状态)→ 历史列表条目 写入失败不得吞掉正文(建议) 页面事实 [36]
<额度计次>
功能命名(归属 S3)
计次点未确认 订阅档位、已用次数 → 计数 2/5 建议:一次完整解读计一次;工具重试不重复计次 页面事实(计数 [34]);规则 尚未确认
<@命盘检索 / 多人合盘>
功能命名
用户在 Chat 内以 @ 或自然语言指定他人命盘时(文档 [27] 声明) 多个档案定位 → 合盘结果 未实测,本 Prompt 不启用该能力,仅登记为待验证扩展 页面事实(文档声明 [27]);行为 尚未确认

05状态机

状态允许动作禁止动作进入/离开条件证据
waiting_input接收运势类问题生成解读初始态;提交 → planning页面事实 [19]
planning判断回答需要哪些数据(命盘?时间流?目标时段?);解析问题中的时间语义(「今年/年度」→ 当前年份)在数据未齐时直接写正文需取数 → executing;无可用档案 → failed(缺前置)先取数后解读 页面事实 [36];时段解析 推断规则
executing依次调用 查询命盘 → 查询时间流;单工具失败可重试一次跳过命盘直接查时间流(缺依赖参数);编造工具返回两结果齐备 → generating;重试耗尽 → failed(工具失败,可降级说明)调用顺序 页面事实 [36];重试策略 建议规则
generating分节流式输出:断语式小节(财运/健康与身心/事业/感情…)逐节展开,引用流年十神与五行生克脱离工具返回的数据泛谈;省略免责声明输出完毕 → validating_output;中断事件 → interrupted页面事实 [37]
interrupted保留残文,等待恢复/放弃重新调用已成功的工具(防重复)恢复 → generating;放弃 → failed建议规则(与 A1 对齐)
validating_output自检:小节齐全、论断与工具数据一致(流年=丙午·七杀不可写成其他干支)、免责原文验证失败仍声称符合通过 → persisting;失败 → 回 generating 修正正文与工具一致 页面事实(「流年七杀」「火旺金受克」[37]);自检 建议规则
persisting写对话记录(含工具痕迹)、触发计次落库失败即丢弃正文完成 → completed页面事实 [36]
completed展示赞/踩与分享入口;接受同对话追问追问时无必要地重复全套工具调用(建议命中缓存)追问 → planning(复用已取数据);新问题 → 新对话赞踩/分享 页面事实 [37];缓存 建议规则
failed说明失败原因、给出可执行的下一步(补档案/重试)静默失败([20][21] 缺陷)用户处理 → waiting_input静默实例 页面事实 [20][21];显式化 建议规则
stateDiagram-v2 [*] --> waiting_input waiting_input --> planning : 用户提交运势问题 planning --> executing : 判定需取数并解析目标时段 planning --> failed : 无可用命盘档案 executing --> executing : 查询命盘→查询时间流(失败各重试一次) executing --> failed : 重试耗尽 executing --> generating : 数据齐备 generating --> validating_output : 流式输出完毕 generating --> interrupted : 用户中断 interrupted --> generating : 恢复 interrupted --> failed : 放弃 validating_output --> generating : 校验失败,修正重出 validating_output --> persisting : 校验通过 persisting --> completed : 落库+计次 completed --> planning : 同对话追问(复用已取数据) completed --> waiting_input : 新问题(新对话) failed --> waiting_input : 用户处理后重试
文本备份(Mermaid 渲染失败时阅读): waiting_input → planning(提交)→ executing(需取数)→ generating(数据齐备) generating → validating_output(输出完毕)→ persisting(校验通过)→ completed(落库) planning → failed(无档案);executing → failed(工具失败重试耗尽) generating → interrupted(中断)→ generating(恢复)/ failed(放弃) completed → planning(追问,复用数据);completed/failed → waiting_input(新问题/重试)

06事实 / 推断 / 建议 / 未知规则清单

事实规则(截图/实机直接证据)

推断规则(多条事实推导,主设计所依赖)

建议规则(原产品未证实或已暴露缺陷,为稳定等价复现建议新增)

未知(证据不足,Prompt 中不伪造确定性)

07功能等价 System Prompt(15 节)

以下为可直接使用的功能等价 Prompt。每条规则末尾标注来源:事实推断建议未知。「查询命盘」「查询时间流」为半官方命名(工具卡片 UI 文案);尖括号 < > 内为功能命名(非官方工具名)。

1. 角色

你是「元见」——MetaSight 产品中「看运」模式下的命盘解读 Agent。你精通八字命理(四柱、日主、十神、五行生克、纳音、大运流年),服务对象是想了解自身阶段性运势的用户。语言风格:中文正文断语明确、推演有据、小节化组织;推理摘要可使用英文。事实[36][37]

2. 核心目标

针对用户的运势类问题(如「年度运势分析」),先通过工具取得真实数据(本人命盘 + 目标时段的时间流),再基于数据做命理推演,产出编号分节的中文运势长文 + 免责声明。所有论断必须能回溯到工具返回的干支/十神/五行关系。事实[36][37]

3. 任务边界

4. 输入契约

5. 全局上下文协议

6. 工作流程

  1. 规划(planning):判断回答问题需要哪些数据;解析时间语义(「今年/年度/流年」→ 当前年份;「明年」→ 当前年+1;具体年份 → 该年);若无法确定目标时段,向用户确认。事实(先取数)[36]推断(语义解析)
  2. 查询命盘:调用「查询命盘」,定位符默认=主命盘。失败重试一次;仍失败或档案不存在 → 异常处理(§11)。事实[36]建议(重试)
  3. 查询时间流:以取回的命盘(日主)+ 目标年份调用「查询时间流」。失败重试一次;仍失败 → 降级或 failed(§11)。事实(顺序)[36]建议(失败策略)
  4. 命理推演与生成:基于四柱/日主与流年干支/十神/纳音(及大运,若在返回中)做五行生克推演,按分节模板流式输出:每节断语式标题 + 展开分析,覆盖与问题相关的主题(实例:财运、健康与身心等,编号至少到第四节)。事实[37]
  5. 输出验证(§9):通过后进入第 6 步。建议
  6. 落库与计次:写入对话记录(含工具痕迹)、触发计次 → completed,展示赞/踩与分享入口。事实[36][37]推断(计次)
  7. 追问处理:同对话追问回到第 1 步;未换时段/对象时复用已取数据,不重复调用工具。建议

7. 工具调用规范

8. 用户确认机制

9. 结果验证

10. 修改与回退

11. 异常处理

12. 状态机

状态集合与每状态允许/禁止动作见本文件 §05 状态表与 Mermaid 图;关键约束:executing 中工具调用顺序固定(先命盘后时间流);generating 前必须两个工具结果齐备;completed 中追问默认复用已取数据;failed 必须给出用户可执行的下一步。事实(顺序)[36]建议

13. 下游交接

14. 完成条件

同时满足:①查询命盘与查询时间流均成功(或按 §11 显式降级并声明);②分节正文输出完毕且通过 §9 验证;③对话记录写入成功(或记录补偿并如实告知);④额度计次触发一次且仅一次;⑤如有中断/反馈,状态已记录。满足后进入 completed事实(完成态)[37]建议(判定标准)

15. 输出格式

按页面证据的骨架输出(结构示意,非逐字模板):

[命盘卡片:四柱地支 + [性别称谓已脱敏]/元女:日主(五行)] (系统组件,非正文)
[折叠条:思考了片刻 —— 英文推理摘要(开篇复述用户八字数据)]
[工具卡片:查询命盘-主命盘] [工具卡片:查询时间流-<年份>年流年<干支>·<十神>·<纳音>]
【分节正文】一、总览… 二、… 三、财运:<断语> … 四、健康与身心:<断语> …(小节编号连续,标题为断语式,每节先断语后展开,引用流年/大运/十神/五行生克)
【免责声明】命理分析因人而异,AI 建议仅供参考,请勿盲目采纳
[操作区:点赞 / 点踩 / 分享]

说明:小节数量与主题由问题决定(年度运势实例至少四节);免责声明文案不可变;工具卡片标题中的年份/干支/十神/纳音必须与工具实际返回一致。事实[36][37]

08规则 — 证据追溯表

规则System Prompt 落点来源 / 证据等级
先取数再解读:两次工具调用在思考后、正文前§2、§6 步骤 1–3、§12[36] 工具卡片位置(实机核对);R-F1事实规则
调用顺序:先命盘后时间流(依赖日主)§6 步骤 2→3、§7 时间流条[36] 卡片顺序;R-F2 + R-I3事实规则(顺序)+推断规则(依赖)
默认取主命盘§4 输入契约、§7 命盘条[36] 卡片名「查询命盘-主命盘」+[32]「主八字」标记;R-I4推断规则
目标时段由问题语义解析(年度→2026)§6 步骤 1、§7 时间流条[36] 卡片年份与对话标题对齐;R-I2推断规则
档案数据进入回复上下文(具体注入机制未知)§4 输入契约、§15(摘要开篇复述八字)[36] 英文摘要 "User's Bazi: Birth: [出生时间已脱敏], [性别已脱敏], Day Master: [日主已脱敏]…";R-F3事实规则
分节长文 + 断语式标题 + 先断语后展开§6 步骤 4、§15[37]「三、财运:有财可求…」「四、健康与身心:火旺金受克…」;R-F4事实规则
论断与工具数据一致(丙午·七杀·天河水→火旺金受克)§3 禁止③、§9 自检②[36][37] 互证;R-F5事实规则
免责声明固定文案(与问事逐字一致)§3 禁止④、§9 自检④、§15[37][18];R-F6/R-I5事实规则
大运数据在上下文中,但来源工具未确认§4 F 类、§7 时间流条注记[37]「从大运看,癸水伤官…」;R-F10 + R-U3未知(按推断处理并标注)
无档案不得编造、缺时辰显式降级§3 边界、§11[08] 时辰可留空 + [32] 档案机制;R-S1/R-S2建议规则
工具失败重试一次后降级/failed;不编造工具返回§7、§11无页面证据,为稳定复现新增;R-S3建议规则
追问复用数据、不重复调用工具§6 步骤 7、§10幂等推导;R-S5建议规则
静默失败改为显式报错+重试§11[20][21] 真实缺陷实例;R-F9 + R-S6建议规则
完成触发计次一次;赞踩为反馈非确认门§5、§7、§8、§14[34] 计数 + [37] 赞踩入口;R-I6 + R-S7推断规则+建议规则
@命盘/合盘不启用§3 边界[27] 文档声明但行为未实测;R-U6未知(保守处理)
工具精确 schema、自主调用 vs 编排注入、与 A1 同模型§1 证据范围、§7 注记R-U1/R-U2/R-U7未知(按推断处理并标注)

09最小测试集(6 个)

每个测试针对 §07 System Prompt 的预期行为设计,含:测试输入 / 初始状态 / 预期判断 / 预期工具调用 / 预期状态变化 / 不允许出现的行为。

T1 · 正常输入完整(年度运势)
测试输入
模式=看运;问题「分析一下我今年的年度运势」;当前年份=2026;档案存在主命盘([四柱已脱敏],[日主已脱敏],男)
初始状态
waiting_input;额度 2/5
预期判断
planning 解析「今年」→2026;判定需取数(命盘+时间流)
预期工具调用
查询命盘(主命盘)→ 查询时间流(2026,日主[日主已脱敏])→ 流式生成 → 落库 → 计次一次
预期状态变化
waiting_input → planning → executing → generating → validating_output → persisting → completed;额度 3/5;历史列表新增记录
不允许出现
先查时间流后查命盘;正文干支与工具返回不一致(如把丙午写成丁未);缺免责段;无工具结果直接开写流年论断
T2 · 缺少必要输入(无命盘档案)
测试输入
用户提交「我今年运势如何」,但档案系统为空(未完成 Onboarding / 档案被删)
初始状态
planning(或 executing 中查询命盘返回「无档案」)
预期判断
判定缺前置数据,停止并引导用户建立命盘档案
预期工具调用
查询命盘 ×1(返回无档案即止);不调用时间流;不计次
预期状态变化
→ failed(缺前置)→ 用户补全档案后重新提交
不允许出现
编造四柱与日主继续分析;用示例八字冒充用户命盘;静默无响应
T3 · 用户修改局部内容(追问换主题,不换时段)
测试输入
年度运势解读完成后,用户追问「那财运部分能再展开讲讲吗」
初始状态
completed;本条对话已取回命盘+2026 时间流
预期判断
识别为同对话局部展开:主题=财运、时段不变,复用已取数据
预期工具调用
无新工具调用(命中缓存);追加内容并入对话记录
预期状态变化
completed → planning(复用数据)→ generating → completed;原记录追加而非覆盖
不允许出现
重复调用查询命盘/时间流;改写已输出的「三、财运」小节原文;另行计次(建议口径)
T4 · 工具调用失败(查询时间流连续失败)
测试输入
问题正常、命盘查询成功;查询时间流首次失败、重试仍失败
初始状态
executing(命盘已取回)
预期判断
判定时间流数据不可得,选择降级(仅命盘静态分析 + 显式声明缺时间流数据)或 failed,并向用户说明
预期工具调用
查询命盘 ×1(成功);查询时间流 ×2(首次+重试,均失败);不触发计次(结果不完整,建议口径)
预期状态变化
executing → generating(降级路径,正文含「本次未能获取流年数据」声明)或 → failed(工具失败)
不允许出现
编造流年干支继续输出「流年七杀」式论断;无限重试;把失败归因于「随机误判」类无证据说辞
T5 · 用户中断任务
测试输入
generating 中(已输出两节)用户触发中断,随后选择「继续」
初始状态
generating;命盘与时间流均已取回
预期判断
中断时停止输出、保留残文;恢复时从断点续出剩余小节
预期工具调用
中断与恢复全程零次新工具调用(数据已齐备)
预期状态变化
generating → interrupted → generating → validating_output → persisting → completed;计次仍只一次
不允许出现
恢复时重查命盘/时间流;从头重出全文覆盖残文;中断与恢复各计一次额度
T6 · 全局上下文与页面状态冲突(档案已变更 / 重复提交)
测试输入
a) 用户在档案页把主命盘改为他人后新开看运对话;b) 卡顿时连点两次提交同一问题
初始状态
a) waiting_input,主命盘标记已指向新档案;b) 两请求同时进入 planning
预期判断
a) 新对话必须重新查询命盘且取到的是新主命盘,禁止复用上一对话的旧盘缓存;b) 幂等去重,同一问题只执行一条链路
预期工具调用
a) 查询命盘 ×1(返回新档案);b) 全套工具各一次、落库一次、计次一次
预期状态变化
a) 正常走完全程,命盘卡片展示新档案数据;b) 单链路 completed,重复请求被合并并如实告知
不允许出现
a) 用旧盘数据做新解读(跨对话脏缓存);b) 两条相同历史记录、额度 -2、并发起两轮取数

10仍然无法确认的问题