|
|
@@ -1,5 +1,5 @@
|
|
|
---
|
|
|
-model: gemini-3-flash-preview
|
|
|
+model: anthropic/claude-sonnet-4.6
|
|
|
temperature: 0.3
|
|
|
---
|
|
|
|
|
|
@@ -68,6 +68,7 @@ $system$
|
|
|
"round": 1,
|
|
|
"derivation_results": [
|
|
|
{
|
|
|
+ "id": 1,
|
|
|
"method": "推导方法名称(如:人设常量选起点、账号pattern模式复用、人设联想、信息搜索等)",
|
|
|
"input": {
|
|
|
"tree_nodes": ["人设节点名称1", "人设节点名称2"],
|
|
|
@@ -93,6 +94,8 @@ $system$
|
|
|
- `derivation_results`: **表示该轮的多条推导路径**。数组中的每一项是一条推导路径;同一轮内可能有多条路径,每条路径彼此独立(方法或输入不同)。例如:本轮推导出选题点 A、B、C、D,其中 A、B、C 可能由**同一条路径**产出(结合人设节点 + pattern + 已推导选题点等一起推导),D 由**另一条路径**产出(如另一种方法或另一组输入)。因此:
|
|
|
- **每条路径可有多个输入**:`input` 中的 `tree_nodes`、`patterns`、`derived_nodes` 可同时存在、共同作为该路径的输入。
|
|
|
- **每条路径可有多个输出**:`output` 为该路径产出的一个或多个待评估选题点(字符串数组)。
|
|
|
+ - `id`: 推导路径ID,数字,从1开始
|
|
|
+ - `method`: 推导方法名称
|
|
|
- `input.tree_nodes`: 本路径用到的人设树节点名称列表,只需要输出节点名称即可,不需要带上完整的节点路径,比如 `创意展示`,而不需要输出 `形式.内容风格.氛围特征.创意性.创意展示`
|
|
|
- `input.patterns`: 本路径用到的 pattern 选题点拼接列表(与 processed_edge_data.json 中 `i` 格式一致,如 `"名称1+名称2"`)
|
|
|
- `input.derived_nodes`: 本路径用到的已推导成功选题点名称列表
|
|
|
@@ -100,6 +103,8 @@ $system$
|
|
|
- `reason`: 必须详细、可追溯,禁止牵强或凭空联想
|
|
|
- `tools`: 本路径使用的工具列表;若使用搜索工具,必须包含 `query`、`result`(数据摘要或关键内容)以及 `raw_result`(搜索工具返回的原始数据)
|
|
|
|
|
|
+**注意**: 每条推导路径遵循最小输入输出原子化规则:即用最少输入数据可以推导出哪些必要的选题点;从数据上看,每一条推导路径中的所有输入都是输出每个选题点的必要输入数据;逻辑上可以分开推导路径不要混在一起。
|
|
|
+
|
|
|
### 2. 评估日志(每轮一份)
|
|
|
- **路径**: `output/家有大志/推导日志/{帖子ID}/%log_id%/{轮次}_评估.json`
|
|
|
- **作用**: 记录该轮评估结果与推导进度,**内容主要由调用评估子 agent 的返回结果整理得到**
|
|
|
@@ -109,6 +114,7 @@ $system$
|
|
|
"round": 1,
|
|
|
"eval_results": [
|
|
|
{
|
|
|
+ "id": 1,
|
|
|
"derivation_output_point": "本轮推导输出的待评估选题点名称",
|
|
|
"match_result": "匹配 或 不匹配",
|
|
|
"match_post_point": "若匹配,则为帖子解构中匹配到的选题点(分词结果.词);若不匹配则省略或为空"
|
|
|
@@ -124,6 +130,7 @@ $system$
|
|
|
- **说明**:
|
|
|
- `round`: 当前轮次,与同轮推导日志一致
|
|
|
- `eval_results`: 与评估子 agent 返回的「匹配结果列表」一一对应
|
|
|
+ - `id`: 推导路径ID
|
|
|
- `derivation_output_point`: 对应子 agent 的「推导选题点名称」
|
|
|
- `match_result`: 对应子 agent 的「是否匹配」,取值为 **匹配** 或 **不匹配**
|
|
|
- `match_post_point`: 对应子 agent 的「匹配到的帖子选题点」(仅当匹配时填写,且必须是帖子解构中分词结果里的「词」)
|
|
|
@@ -138,8 +145,8 @@ $system$
|
|
|
1. **推导**:以人设分类树、人设 pattern 表、**已推导成功的选题点集合**为输入(不包含帖子单帖解构内容,首轮已推导成功的选题点集合为空),使用某一下述定义的推导方法,产出**本轮推导出的可能选题点**(含推导过程数据,如边、detail 等)。
|
|
|
-**注意**: 推导的总轮次数是浮动不确定的,不由推导部分决定,而由下面的第2环节验证评估来决定。每轮验证评估结束后,会通知推导环节是否要进行新一轮推导的决定。**总轮次的上限为20轮**
|
|
|
2. **评估验证**:调用评估子 agent(evaluate_derivation agent)进行验证。注意:
|
|
|
- - 使用内置的 `agent` 工具,传入 `agent_type="evaluate_derivation"`,在 `task` 参数中给出:1)历史已推导成功的选题点(JSON);2)本轮推导出的可能选题点(含推导过程数据);3)**帖子ID**(不传解构内容路径)。
|
|
|
- - 评估子 agent 会自动加载本目录下的 skill:`examples_how/overall_derivation/skills/derivation_eval.md` 作为 system prompt;它不直接接收帖子单帖解构内容路径,而是根据传入的**帖子ID**在内部读取 `input/家有大志/解构内容/{帖子ID}.json` 获取单帖解构内容。
|
|
|
+ - 使用内置的 `agent` 工具,传入 `agent_type="evaluate_derivation"`,在 `task` 参数中给出:1)历史已推导成功的选题点(JSON);2)本轮推导出的可能选题点(含推导过程数据、推导路径ID);3)**帖子ID**。
|
|
|
+ - 评估子 agent 会自动加载本目录下的 skill:`examples_how/overall_derivation/skills/derivation_eval.md` 作为 system prompt;它不直接接收帖子单帖解构选题点数据,而是根据传入的**帖子ID**在内部获取单帖解构选题点数据。
|
|
|
- 子 agent 职责:判断本轮推导的选题点与帖子解构选题点是否语义相似或接近,返回匹配结果;判断是否还有未推导成功的选题点,若有则告知主 agent 需进行下一轮推导。
|
|
|
- 主 agent 后续动作:根据子 agent 返回的「本轮匹配成功的选题点」加入已推导成功的选题点集合;未匹配的不加入;根据「是否需要进行下一轮推导」决定是否继续推导。
|
|
|
3. **推导失败后改进重试及探索游走**:在评估验证阶段,若本轮推导出的可能选题点经子 agent 评估后均与帖子选题点不匹配,则需要更换使用的推导方法,或改变原方法的调用输入信息,再次执行第 1 步(推导)。在第 1~3 步中循环多次执行;若以同样输入重试次数达到 3 次,则不再以此节点进行推导。
|