liuzhiheng 3 недель назад
Родитель
Сommit
82666d8744
1 измененных файлов с 21 добавлено и 20 удалено
  1. 21 20
      examples_how/overall_derivation/production.prompt

+ 21 - 20
examples_how/overall_derivation/production.prompt

@@ -366,9 +366,7 @@ $system$
           "derivation_type": "",
           "derivation_type": "",
           "original_word": "归一化原词"
           "original_word": "归一化原词"
         }
         }
-      ],
-      "本次待推导待验证的选题点": "",
-      "本次评估子agent返回结果": ""
+      ]
     }
     }
   ]
   ]
   ```
   ```
@@ -376,21 +374,19 @@ $system$
   - `轮次`: 推导轮次,从1开始
   - `轮次`: 推导轮次,从1开始
   - `推导成功的选题点`: 已推导出的选题点,多轮累加
   - `推导成功的选题点`: 已推导出的选题点,多轮累加
   - `本次新推导成功的选题点`: 本轮新推导出来的选题点
   - `本次新推导成功的选题点`: 本轮新推导出来的选题点
-  - `本次待推导待验证的选题点`: 本轮推导出的可能选题点(包含推导过程数据)
-  - `本次评估子agent返回结果`: 本次评估子agent返回的完整结果
 
 
 
 
 ## 推导过程
 ## 推导过程
 ### 推导流程
 ### 推导流程
 1. **推导**:以人设分类树、人设 pattern 表、**已推导成功的选题点集合**为输入(不包含帖子单帖解构内容,首轮已推导成功的选题点集合为空),使用某一下述定义的推导方法,产出**本轮推导出的可能选题点**(含推导过程数据,如边、detail 等)。
 1. **推导**:以人设分类树、人设 pattern 表、**已推导成功的选题点集合**为输入(不包含帖子单帖解构内容,首轮已推导成功的选题点集合为空),使用某一下述定义的推导方法,产出**本轮推导出的可能选题点**(含推导过程数据,如边、detail 等)。
+-**注意**: 推导的总轮次数是浮动不确定的,不由推导部分决定,而由下面的第2环节验证评估来决定。每轮验证评估结束后,会通知推导环节是否要进行新一轮推导的决定。**总轮次的上限为20轮**
 2. **评估验证**:调用评估子 agent(evaluate_derivation agent)进行验证。注意:
 2. **评估验证**:调用评估子 agent(evaluate_derivation agent)进行验证。注意:
    - 使用内置的 `agent` 工具,传入 `agent_type="evaluate_derivation"`,在 `task` 参数中给出:1)历史已推导成功的选题点(JSON);2)本轮推导出的可能选题点(含推导过程数据);3)**帖子ID**(不传解构内容路径)。
    - 使用内置的 `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 会自动加载本目录下的 skill:`examples_how/overall_derivation/skills/derivation_eval.md` 作为 system prompt;它不直接接收帖子单帖解构内容路径,而是根据传入的**帖子ID**在内部读取 `input/家有大志/解构内容/{帖子ID}.json` 获取单帖解构内容。
    - 子 agent 职责:判断本轮推导的选题点与帖子解构选题点是否语义相似或接近,返回匹配结果;判断是否还有未推导成功的选题点,若有则告知主 agent 需进行下一轮推导。
    - 子 agent 职责:判断本轮推导的选题点与帖子解构选题点是否语义相似或接近,返回匹配结果;判断是否还有未推导成功的选题点,若有则告知主 agent 需进行下一轮推导。
-   - 主 agent 后续动作:根据子 agent 返回的「本轮匹配成功的选题点」加入已推导成功的选题点集合;未匹配的不加入;根据「是否需要进行下一轮推导」决定是否继续推导。如需续跑同一子 agent,可通过 `continue_from` 复用该子 agent 的 trace。
-3. **多轮推导**:评估子agent如果返回还需要进行下一轮推导,则增加新推导的选题点作为新输入进行下一轮推导。
-4. **推导失败后改进重试及探索游走**:在评估验证阶段,若本轮推导出的可能选题点经子 agent 评估后均与帖子选题点不匹配,则更换推导方法或改变调用输入,再次执行第 1 步(推导)。在第 1~2 步中循环执行;若以同样输入重试次数达到 3 次,则不再以此节点进行推导。
-5. **生成结果**:将推导关系构建为节点和边的结构,用于可视化展示,并将整个推导结果按上述输出文件格式写入两个 JSON 文件。
+   - 主 agent 后续动作:根据子 agent 返回的「本轮匹配成功的选题点」加入已推导成功的选题点集合;未匹配的不加入;根据「是否需要进行下一轮推导」决定是否继续推导。
+3. **推导失败后改进重试及探索游走**:在评估验证阶段,若本轮推导出的可能选题点经子 agent 评估后均与帖子选题点不匹配,则需要更换使用的推导方法,或改变原方法的调用输入信息,再次执行第 1 步(推导)。在第 1~3 步中循环多次执行;若以同样输入重试次数达到 3 次,则不再以此节点进行推导。
+4. **生成结果**:将推导关系构建为节点和边的结构,用于可视化展示。同时将整个推导结果按照上面指定的输出文件格式输出到两个JSON文件。
 
 
 ### 推导方法的定义
 ### 推导方法的定义
 每一个推导方法都可以从以下两个角度来定义,两个角度正交,每个角度的单一枚举值组合在一起,定义了一个方法。
 每一个推导方法都可以从以下两个角度来定义,两个角度正交,每个角度的单一枚举值组合在一起,定义了一个方法。
@@ -399,18 +395,25 @@ $system$
   - **人设联想**: 参考人设树文件,人设树中父级节点A中包含的子节点B、C、D等。若子节点B在父节点A中的出现占比高,且A是帖子中已被推导出的选题点,则可以理解为创作者可通过点A联想到点B,即A可推导出B。
   - **人设联想**: 参考人设树文件,人设树中父级节点A中包含的子节点B、C、D等。若子节点B在父节点A中的出现占比高,且A是帖子中已被推导出的选题点,则可以理解为创作者可通过点A联想到点B,即A可推导出B。
 
 
 - 执行角度定义方法
 - 执行角度定义方法
-  - **信息搜索**: 调用内置搜索工具:search_posts,通过社交平台、搜索引擎、LLM等方式获取内容创作中需要的信息点。信息点包括但不限于帖子中的元素、创作形式/手法等。
-  - **逻辑推导**: 已推导出的选题点与未推导出的选题点间,存在逻辑关系上的充分必要性,推导出别的选题点,即有A肯定有B,点A是点B的充分条件。
+  - **信息搜索**: 调用内置搜索工具:search_posts,通过社交平台、搜索引擎、LLM等方式获取内容创作中需要的信息点。信息点包括但不限于帖子中的元素、创作形式/手法等。信息搜索方法需至少包含如下3个组成部分:
+    - 搜索需求目标构造: 确定本次需求想要
+    - 搜索模块: 根据搜索需求目标,自主选择最可能搜到目标的搜索渠道,然后构造搜索query,执行搜索。
+      - **要求闭眼搜索**:构造搜索query需要闭眼搜索,即所使用的信息必须来自已推导完成的帖子选题点,或是人设树中的点。不能使用搜索需求目标中的信息,也不能是大模型凭空想出的信息。
+    - 搜索结果评估: 对每条搜索结果逐条分析,判断结果中是否包含需求目标的信息。若包含,则停止调用搜索,并返回所有包含需求目标的搜索结果,以及总的搜索结果条数。若不包含,则以相同query继续调用搜索模块请求更多搜索结果,并进行评估;或尝试构造新的搜索query(仍要求闭眼搜索),获取结果并评估。
+
 
 
 ### 推导方法的使用要求
 ### 推导方法的使用要求
-- **每步推导必须包含的信息**: 包含 4 部分。输入节点、输出节点、使用的推导方法(允许多个)、推导的理由(例如:为什么选择这种方法、为什么这样推导所产出的内容具备消费者吸引力)。
-    - **输入节点的要求**: 每步推导所使用的输入节点,必须是**已推导成功的选题点**中的节点,或人设树中的节点。主 agent 不能使用帖子单帖解构内容中的未推导选题点。
-    - **输出节点的要求**: 每步推导产出的是「可能选题点」;只有经评估子 agent 判定与帖子解构选题点语义相似/接近后,才会加入已推导成功的选题点集合。主 agent 不直接接触帖子解构内容,无法自行判断是否与帖子选题点一致。
-    - **推导理由必须合理**: 推导理由须符合人类常识与创作者思维,**禁止**牵强附会、连续多步联想或小概率联想。
-    - **允许选题点的组合推导**: 一步推导中允许多输入、多输出(如 点A+点B+点C -> 点D+点E),按需使用。
+- **每步推导必须包含的信息**: 包含4部分。输入节点、输出节点、使用的推导方法(允许多个)、推导的理由(例如:为什么选择这种方法而不选择别的方法、为什么这样推导所产出的内容是具备消费者吸引力的)。
+    - **输入节点的要求**: 每步推导所使用的输入节点,必须是之前已完成的推导步骤中输出的节点,或者是人设树中的节点。
+    - **输出节点的要求**: 每步推导输出的节点,必须是帖子解构的选题点。
+    - **推导理由必须合理**: 使用某种推导方法进行推导时,必须给出符合人类常识、符合创作者思维的推导理由。理由需要尽可能详细反映出模型或agent的思维链决策过程。**禁止**牵强附会,或连续多步的联想,或小概率的联想。
+    - **允许选题点的组合推导**: 在一步推导中,允许有多个选题点组合作为这步推导的输入,同时也允许一步推导产出多个选题点作为输出,即 点A+点B+点C -> 点D+点E。注意:多节点的输入/输出 在一步推导中不是必须的,需要根据当时的情况,按需使用多输入/多输出。
+- **信息搜索的触发调用时机**: 在推导过程中,若使用“pattern模式复用”方法及“人设联想”方法都无法推导出新的帖子选题点时,需要调用“信息搜索”方法来尝试推导。
+- **多种推导方法循环交替使用**: 在推导过程中,使用某种推导方法无法推导出新的选题点时,则尝试调用另外的推导方法。若能推导出新的选题点,则可以再重新尝试使用之前无法推导出新选题点的方法进行推导尝试。
+- **每一推导步骤需尽可能多尝试**: 包括选起点的所有推导步骤,均要尝试调用尽可能多的推导方法,并且每种方法要尝试多种输入信息的可能,输入信息的组合可以不局限于1-2种可能性。
 
 
 ### 推导方法的使用约束
 ### 推导方法的使用约束
-   1. **闭眼推导**: 主 agent **不接收**帖子单帖解构内容作为输入,只能看到「已推导成功的选题点」。推导时**禁止**使用或参考“未推导成功的选题点”,该部分对主 agent 不可见,由评估子 agent 在验证时使用。只有已推导成功的选题点可在推导时参考。禁止用未推导成功的选题点倒推、联想或建立推导步骤。
+   1. **闭眼推导**: 推导时**禁止**使用或参考帖子中“未推导成功的选题点”中的信息,这部分数据需要当做未知,是答案不是题面。只有已推导成功的选题点可以在推导时参考使用。禁止使用未推导成功的选题点倒推联想到已推导成功的选题点,禁止由此建立推导步骤。
    2. **禁止联想**: 某条推导的路径步骤,必须基于给出的人设树文件和创作者pattern文件,**禁止**使用大模型自身的联想信息进行推导,产出推导路径。推导的理由也不能使用大模型的联想,也需要基于人设树文件和创作者pattern文件所具体使用的某条数据来给出,即具体使用了上述两个文件中的哪条数据产出的推导路径。
    2. **禁止联想**: 某条推导的路径步骤,必须基于给出的人设树文件和创作者pattern文件,**禁止**使用大模型自身的联想信息进行推导,产出推导路径。推导的理由也不能使用大模型的联想,也需要基于人设树文件和创作者pattern文件所具体使用的某条数据来给出,即具体使用了上述两个文件中的哪条数据产出的推导路径。
    3. **不强制包含所有选题点**: 可能存在某些选题点,无法通过上述的推导方法以合理的理由从帖中别的选题点推导出。出现这样的情况时,将未推导出的选题点单独列出,不要以牵强的理由使用别的选题点强行推导出。
    3. **不强制包含所有选题点**: 可能存在某些选题点,无法通过上述的推导方法以合理的理由从帖中别的选题点推导出。出现这样的情况时,将未推导出的选题点单独列出,不要以牵强的理由使用别的选题点强行推导出。
 
 
@@ -423,7 +426,6 @@ $system$
 4. **数据完整性**: 
 4. **数据完整性**: 
    - 推导成功的选题点 + 未推导成功的选题点 = 所有选题点
    - 推导成功的选题点 + 未推导成功的选题点 = 所有选题点
    - 节点和边需要去重,避免重复
    - 节点和边需要去重,避免重复
-5. **维度一致性**: 意图维度的选题点只匹配意图维度的人设节点,其他维度同理
 
 
 ## 输出验证
 ## 输出验证
 
 
@@ -431,7 +433,6 @@ $system$
 1. JSON格式正确,可以正常解析
 1. JSON格式正确,可以正常解析
 2. `node_list`中的节点都有必需的字段
 2. `node_list`中的节点都有必需的字段
 3. `edge_list`中的边都有正确的输入输出节点引用
 3. `edge_list`中的边都有正确的输入输出节点引用
-4. 推导结果中的成功/失败选题点数量之和等于总选题点数
 
 
 $user$
 $user$
-请开始执行 帖子ID=68fb6a5c000000000302e5de 的选题点整体推导任务。所有路径均相对于项目根目录。
+请开始执行 帖子ID=6921937a000000001b0278d1 的选题点整体推导任务。所有路径均相对于项目根目录。