exec_summary_rows.md 2.6 KB


name: exec_summary_rows

description: 仅在需要写入 process_trace.json 时,用于记录最终输出的每条视频的寻找过程

目标

生成用于记录最终输出的每条视频的寻找过程的json

强约束(必须遵守)

  1. 只基于入选内容:只能对 output.json.contents 中出现的 aweme_id 生成 rows;不得输出任何不在 contents 的视频(包括淘汰候选/搜索过程中的视频)。
  2. rows 数量必须等于 contents 数量:一条入选内容必须对应且仅对应一行 row。
  3. 字段固定且统一:每行 row 只允许包含下列 key(不得增删改名):
    • aweme_id
    • title
    • author_nickname
    • strategy_type
    • from_case_aweme_id
    • from_case_point
    • from_feature
    • search_keyword
    • channel
    • decision_basis
    • decision_notes
    • input_features
  4. 值使用中文枚举
    • strategy_type: "case出发策略" / "特征出发策略"
    • channel: "抖音搜索" / "订阅账号" / "榜单" / "其他"
    • decision_basis: "内容画像匹配" / "作者画像匹配" / "需求筛选" / "画像缺失" / "其他"
  5. input_features:必须是 list[str];默认从 output.json.query 按逗号拆分得到(兼容中文逗号)。
  6. 允许为空的字段from_case_aweme_id/from_case_point/from_feature 若无法确定可为空字符串,但不能缺 key。

依据

  • output.json(必须读取并以 contents 为准)
    • query:用于 input_features 拆分
    • contents[]:每条入选内容,含 aweme_id/title/author_nickname/reason/portrait_data.source
  • log.txt:用于判断内容的 strategy_type(来自哪种策略)、from_case_point(来自哪个灵感点)、search_keyword(搜索词)与渠道等

生成规则(建议优先级)

对每个 content in output.json.contents

  1. aweme_id/title/author_nickname 直接来自 content(必须与 contents 一致)
  2. decision_notes:优先用 content.reason(入选理由)
  3. decision_basis
    • content.portrait_data.source == "content_like""内容画像匹配"
    • == "account_fans""作者画像匹配"
    • 否则 "其他"
  4. strategy_type/channel/search_keyword
    • log.txt/上下文找明确来源,按事实填(且用上面的中文枚举)
    • 否则 字段留空
  5. from_case_* / from_feature:能确定就填;不确定可空串。

输出格式(必须严格)

只输出一个 JSON 对象(不要 Markdown、不要解释、不要多余文本):

{"rows":[{...},{...}]}