|
@@ -289,7 +289,7 @@ agent(agent_type="derivation_search", task="执行搜索任务,account_name=xx
|
|
|
| 评估日志 `matched_score` | 括号内的数值 | `0.8149` |
|
|
| 评估日志 `matched_score` | 括号内的数值 | `0.8149` |
|
|
|
|
|
|
|
|
**禁止**将 `→` 右边的帖子选题点名称填入 `output` 或 `derivation_output_point`。
|
|
**禁止**将 `→` 右边的帖子选题点名称填入 `output` 或 `derivation_output_point`。
|
|
|
- - **推导理由(`reason`)要求**:须说明从工具返回的众多 pattern 中选择该 pattern 的决策理由(如与已推导选题点的关联程度、条件概率、pattern 长度、对未覆盖维度的补充作用等);对于扩展匹配,还须说明扩展节点与原 pattern 元素的关系(如"夸张构图是构图与布局的子节点")。
|
|
|
|
|
|
|
+ - **推导理由(`reason`)要求**:须说明从工具返回的众多 pattern 中选择该 pattern 的决策理由(如与已推导选题点的关联程度、条件概率、pattern 长度、对未覆盖维度的补充作用等);对于扩展匹配,还须说明扩展节点与原 pattern 元素的关系(如"夸张构图是构图与布局的子节点")。**严禁**在理由中出现任何匹配结果相关内容(包括「帖子选题点匹配」字段的值、匹配分数数值、匹配到的帖子选题点名称,以及"工具反馈其元素匹配到了..."、"匹配到了帖子选题点..."等类似表述)——无论作为主要理由还是辅助补充,均不得出现。
|
|
|
- **优先级**:优先使用条件概率高、pattern 长度(节点数)大的结果;与已推导选题点重合多的 pattern 更优先(工具已自动排序)。
|
|
- **优先级**:优先使用条件概率高、pattern 长度(节点数)大的结果;与已推导选题点重合多的 pattern 更优先(工具已自动排序)。
|
|
|
- 模拟样例(基于上方工具返回数据,假设此时 `derived_success_set` 中已包含 `分享`):
|
|
- 模拟样例(基于上方工具返回数据,假设此时 `derived_success_set` 中已包含 `分享`):
|
|
|
```json
|
|
```json
|
|
@@ -388,7 +388,7 @@ agent(agent_type="derivation_search", task="执行搜索任务,account_name=xx
|
|
|
- **匹配判断**:读取「帖子选题点匹配」字段——若有值(如 `夸张道具(0.7831)`),则 `is_matched=true`,评估日志中 `matched_post_point` 填写括号前的帖子选题点名称(如 `夸张道具`),`matched_score` 填写匹配分数数值(如 `0.7831`),`matched_reason` 填写匹配分数描述(如 `匹配分数=0.7831`);若字段值为「无」,则 `is_matched=false`。
|
|
- **匹配判断**:读取「帖子选题点匹配」字段——若有值(如 `夸张道具(0.7831)`),则 `is_matched=true`,评估日志中 `matched_post_point` 填写括号前的帖子选题点名称(如 `夸张道具`),`matched_score` 填写匹配分数数值(如 `0.7831`),`matched_reason` 填写匹配分数描述(如 `匹配分数=0.7831`);若字段值为「无」,则 `is_matched=false`。
|
|
|
- **匹配分数阈值判断**:`matched_score >= 0.78` 为完全推导成功,`matched_score < 0.78` 为部分推导成功。例如 `趣味道具→夸张道具(0.7831)` 中 `matched_score=0.7831 >= 0.78`,属于完全推导成功。
|
|
- **匹配分数阈值判断**:`matched_score >= 0.78` 为完全推导成功,`matched_score < 0.78` 为部分推导成功。例如 `趣味道具→夸张道具(0.7831)` 中 `matched_score=0.7831 >= 0.78`,属于完全推导成功。
|
|
|
- ⚠️ **关键区分**:`output` 是人设树节点名称(`趣味道具`),`matched_post_point` 是帖子中真实的选题点名称(`夸张道具`)——两者**可以不同**,加入 `derived_success_set` 或 `partial_derived_set` 的是 `matched_post_point`,而非 `output`。
|
|
- ⚠️ **关键区分**:`output` 是人设树节点名称(`趣味道具`),`matched_post_point` 是帖子中真实的选题点名称(`夸张道具`)——两者**可以不同**,加入 `derived_success_set` 或 `partial_derived_set` 的是 `matched_post_point`,而非 `output`。
|
|
|
- - 推导理由须说明从工具返回的众多节点中选择该节点的决策依据,包括:与已推导选题点及已推导维度的关联性、该节点在人设树中的位置与条件概率等数据支撑,**禁止**使用大模型自身世界知识联想。
|
|
|
|
|
|
|
+ - 推导理由须说明从工具返回的众多节点中选择该节点的决策依据,包括:与已推导选题点及已推导维度的关联性、该节点在人设树中的位置与条件概率等数据支撑,**禁止**使用大模型自身世界知识联想,**严禁**在理由中出现任何匹配结果相关内容(包括「帖子选题点匹配」字段的值、匹配分数数值,以及"工具反馈匹配分数达..."、"匹配到了帖子选题点..."等类似表述)——无论作为主要理由还是辅助补充,均不得出现。
|
|
|
- 模拟样例(基于上方工具返回数据):
|
|
- 模拟样例(基于上方工具返回数据):
|
|
|
```json
|
|
```json
|
|
|
[
|
|
[
|
|
@@ -560,14 +560,14 @@ agent(agent_type="derivation_search", task="执行搜索任务,account_name=xx
|
|
|
- **每一条推导路径必须包含**:输入节点、输出节点、推导方法、推导理由。
|
|
- **每一条推导路径必须包含**:输入节点、输出节点、推导方法、推导理由。
|
|
|
- **输入节点**:必须是完全推导成功的选题点(`derived_success_set` 中的帖子选题点名称),或人设树节点、pattern 节点。**部分推导成功的选题点(`partial_derived_set` 中的 `matched_post_point`)不能作为输入节点**,因为其尚未完全推导成功,不能作为推导前提;但部分推导成功选题点对应的 `source_node`(人设节点)可以作为 `input.tree_nodes` 使用。
|
|
- **输入节点**:必须是完全推导成功的选题点(`derived_success_set` 中的帖子选题点名称),或人设树节点、pattern 节点。**部分推导成功的选题点(`partial_derived_set` 中的 `matched_post_point`)不能作为输入节点**,因为其尚未完全推导成功,不能作为推导前提;但部分推导成功选题点对应的 `source_node`(人设节点)可以作为 `input.tree_nodes` 使用。
|
|
|
- **输出节点**:本次推导产出的候选选题点。
|
|
- **输出节点**:本次推导产出的候选选题点。
|
|
|
- - **推导理由**:必须是一个**决策理由**,说明为什么从工具返回的众多记录中选择该条数据进行推导。理由须结合以下要素:(1)与已推导选题点的关联性——如该数据与已推导选题点是否属于同一维度的延伸、或跨维度互补;(2)与账号人设树结构的契合度——如该数据对应的节点/pattern 在人设树中的位置、所属维度是否为当前未覆盖维度;(3)数据指标作为支撑——如节点概率(`r`/`w`值)、条件概率、pattern 支持度(`s`/`l`值)等可作为理由的一部分,但**不能是唯一理由**。**禁止**将理由简单归结为"该条数据有帖子选题点匹配"或"工具返回了该节点";**禁止**牵强附会、连续多步联想或使用大模型自身世界知识推断;所有输出的选题点均须有对应推导理由。
|
|
|
|
|
|
|
+ - **推导理由**:必须是一个**预决策理由**——即在尚不知道匹配结果的前提下,凭工具返回数据的结构属性就能说清楚的"为什么选择该条记录"。理由的合法来源只有:(1)与已推导选题点的关联性——如该数据与已推导选题点是否属于同一维度的延伸、或跨维度互补;(2)与账号人设树结构的契合度——如该数据对应的节点/pattern 在人设树中的位置、所属维度是否为当前未覆盖维度;(3)数据结构指标支撑——如节点概率(`r`/`w`值)、条件概率、pattern 支持度(`s`/`l`值)等,但不能是唯一理由。⚠️ **严禁**在理由中出现任何匹配结果相关内容,包括:「帖子选题点匹配」字段的值、匹配分数数值、匹配到的帖子选题点名称,以及"工具反馈其匹配到了..."、"匹配到了帖子选题点..."、"匹配分数达..."等类似表述——**无论作为主要理由还是辅助补充,均不得出现**;匹配结果是推导完成后写入评估日志的验证结论,不能反向作为选择数据的决策依据;**禁止**牵强附会或使用大模型自身世界知识推断;所有输出的选题点均须有对应推导理由。
|
|
|
|
|
|
|
|
### 推导方法的使用约束
|
|
### 推导方法的使用约束
|
|
|
|
|
|
|
|
1. **闭眼推导(核心约束)**:
|
|
1. **闭眼推导(核心约束)**:
|
|
|
- 工具返回的「帖子选题点匹配」字段只包含本轮匹配成功的帖子选题点,不包含匹配失败项,因此不存在"偷看未推导选题点"的风险。
|
|
- 工具返回的「帖子选题点匹配」字段只包含本轮匹配成功的帖子选题点,不包含匹配失败项,因此不存在"偷看未推导选题点"的风险。
|
|
|
- 只有**完全推导成功的选题点**(`derived_success_set` 中的帖子选题点名称)可以在推导路径的 `input.derived_nodes` 中引用。部分推导成功的选题点(`partial_derived_set` 中的 `matched_post_point`)不能作为推导前提引用,因为其推导尚未完成;但其对应的 `source_node` 可以作为 `input.tree_nodes` 使用。
|
|
- 只有**完全推导成功的选题点**(`derived_success_set` 中的帖子选题点名称)可以在推导路径的 `input.derived_nodes` 中引用。部分推导成功的选题点(`partial_derived_set` 中的 `matched_post_point`)不能作为推导前提引用,因为其推导尚未完成;但其对应的 `source_node` 可以作为 `input.tree_nodes` 使用。
|
|
|
- - **禁止**在推导理由中引用匹配结果的反馈内容(如"匹配结果显示..."、"上一轮匹配到..."等),也**禁止**将"该条数据存在帖子选题点匹配"作为选择该数据的推导理由——匹配是推导的结果验证,不是选择该数据的原因。
|
|
|
|
|
|
|
+ - `reason`(推导理由)必须是**纯粹的预决策理由**——即在不知道匹配结果的前提下,凭数据结构(概率/条件概率/pattern 共现关系/维度覆盖状态)就能说清楚为什么选择该条记录。**严禁**在 `reason` 中出现任何匹配结果相关信息,包括:工具返回的「帖子选题点匹配」字段值、匹配分数数值、匹配到的帖子选题点名称,以及"工具反馈其匹配到了..."、"匹配到了帖子选题点..."、"匹配分数达..."等类似表述——**无论作为主要理由还是辅助说明,均不得出现**。匹配是推导选择后的结果验证,只记录在评估日志中;不得将匹配结果反向用于解释选择该数据的原因。
|
|
|
|
|
|
|
|
2. **禁止自由联想**:
|
|
2. **禁止自由联想**:
|
|
|
- 推导的路径步骤和理由,必须基于**工具返回**的人设树、pattern 或搜索子 agent 返回的具体数据。
|
|
- 推导的路径步骤和理由,必须基于**工具返回**的人设树、pattern 或搜索子 agent 返回的具体数据。
|
|
@@ -646,7 +646,7 @@ agent(agent_type="derivation_search", task="执行搜索任务,account_name=xx
|
|
|
- `input.patterns`: 本路径用到的 pattern 选题点拼接列表(与 `processed_edge_data.json` 中 `i` 格式一致,如 `"名称1+名称2"`)
|
|
- `input.patterns`: 本路径用到的 pattern 选题点拼接列表(与 `processed_edge_data.json` 中 `i` 格式一致,如 `"名称1+名称2"`)
|
|
|
- `input.derived_nodes`: 本路径用到的已推导成功选题点名称列表(**只能引用 `derived_success_set` 中完全推导成功的选题点名称**,不能引用 `partial_derived_set` 中部分推导成功的选题点名称)
|
|
- `input.derived_nodes`: 本路径用到的已推导成功选题点名称列表(**只能引用 `derived_success_set` 中完全推导成功的选题点名称**,不能引用 `partial_derived_set` 中部分推导成功的选题点名称)
|
|
|
- `output`: 本路径产出的待评估选题点名称列表(可多个)
|
|
- `output`: 本路径产出的待评估选题点名称列表(可多个)
|
|
|
- - `reason`: 推导决策理由,须说明从工具返回的众多记录中**为什么选择该条数据**进行推导,决策依据包括但不限于:与上一轮已推导选题点的关联性(如同维度延伸、跨维度互补)、与账号人设树结构的契合度(如所属维度是否为未覆盖维度)、数据指标支撑(如条件概率、整体概率等);**禁止**将理由简单归结为"该条数据有帖子选题点匹配"或仅记录工具返回的数据字段值;禁止牵强或凭空联想
|
|
|
|
|
|
|
+ - `reason`: 推导决策理由,须说明从工具返回的众多记录中**为什么选择该条数据**进行推导;决策依据只能来自:与已推导选题点的关联性(同维度延伸、跨维度互补)、与账号人设树结构的契合度(所属维度是否为未覆盖维度)、数据结构指标(条件概率、整体概率、pattern 支持度等)。**严禁**在 `reason` 中出现匹配结果相关内容(包括「帖子选题点匹配」字段值、匹配分数、匹配到的帖子选题点名称,以及"工具反馈其匹配到了..."、"匹配分数达..."等类似表述)——无论作为主要理由还是辅助补充,均不得出现;禁止将"该条数据有帖子选题点匹配"作为选择依据;禁止牵强或凭空联想
|
|
|
- `tools`: 本路径使用的工具列表;若使用搜索工具,必须包含 `query`、`result`(数据摘要或关键内容)、`candidate_points`(评估子 agent 筛选的候选点)和 `match_result`(匹配结果);若未使用工具则为空数组 `[]`
|
|
- `tools`: 本路径使用的工具列表;若使用搜索工具,必须包含 `query`、`result`(数据摘要或关键内容)、`candidate_points`(评估子 agent 筛选的候选点)和 `match_result`(匹配结果);若未使用工具则为空数组 `[]`
|
|
|
|
|
|
|
|
> **原子化要求体现在日志中**:每条推导路径遵循最小输入输出原子化规则——即用最少输入数据推导出哪些必要的选题点;路径中所有输入对产出该路径每个输出点都是必要的;逻辑上可以分开的推导路径不要混在一起。
|
|
> **原子化要求体现在日志中**:每条推导路径遵循最小输入输出原子化规则——即用最少输入数据推导出哪些必要的选题点;路径中所有输入对产出该路径每个输出点都是必要的;逻辑上可以分开的推导路径不要混在一起。
|
|
@@ -731,7 +731,7 @@ agent(agent_type="derivation_search", task="执行搜索任务,account_name=xx
|
|
|
1. JSON 格式正确,可以正常解析
|
|
1. JSON 格式正确,可以正常解析
|
|
|
2. 推导日志包含 `round`、`derivation_results`,且每条结果含 `method`(四种之一)、`input`、`output`、`reason`、`tools`
|
|
2. 推导日志包含 `round`、`derivation_results`,且每条结果含 `method`(四种之一)、`input`、`output`、`reason`、`tools`
|
|
|
3. 评估日志包含 `round`、`eval_results`、`derivation_progress`,`is_matched` 为布尔值,`need_next_round` 为布尔值,`matched_reason` 引用工具返回的匹配分数等具体数据,`matched_score` 为数值或 `null`,`is_fully_derived` 为布尔值
|
|
3. 评估日志包含 `round`、`eval_results`、`derivation_progress`,`is_matched` 为布尔值,`need_next_round` 为布尔值,`matched_reason` 引用工具返回的匹配分数等具体数据,`matched_score` 为数值或 `null`,`is_fully_derived` 为布尔值
|
|
|
-4. 推导理由中不包含对匹配结果反馈的引用(如"匹配结果显示..."),也不能将理由简单归结为"该条数据有帖子选题点匹配"或仅罗列工具返回的数据字段值,而应体现从众多工具返回记录中选择该条数据的决策逻辑
|
|
|
|
|
|
|
+4. 推导理由中**不得出现任何匹配结果相关内容**——包括「帖子选题点匹配」字段的值、匹配分数数值、匹配到的帖子选题点名称,以及"工具反馈其匹配到了..."、"匹配到了帖子选题点..."、"匹配分数达..."等类似表述;也不能将"该条数据有帖子选题点匹配"作为选择依据(无论主要或辅助);`reason` 只应包含在未知匹配结果前提下就能成立的预决策逻辑(关联性、维度覆盖、数据结构指标等)
|
|
|
5. 每条评估记录包含 `path_id` 和 `item_id` 两个 ID 字段,与推导日志路径对应
|
|
5. 每条评估记录包含 `path_id` 和 `item_id` 两个 ID 字段,与推导日志路径对应
|
|
|
6. 原子化拆分校验:方法一(人设常量)、方法三(人设推导)的每条路径 `input.tree_nodes` 长度为 1 且 `output` 长度为 1;方法二(pattern 复用)的每条路径 `input.patterns` 长度为 1
|
|
6. 原子化拆分校验:方法一(人设常量)、方法三(人设推导)的每条路径 `input.tree_nodes` 长度为 1 且 `output` 长度为 1;方法二(pattern 复用)的每条路径 `input.patterns` 长度为 1
|
|
|
7. 多路径择优校验:同一 `matched_post_point` 在同一轮评估日志中不应出现多条记录,只保留 `matched_score` 最高的一条
|
|
7. 多路径择优校验:同一 `matched_post_point` 在同一轮评估日志中不应出现多条记录,只保留 `matched_score` 最高的一条
|