推进 ActionPlanner: 添加行动短路机制,如果未提取到行动,则跳过评估子模块

This commit is contained in:
2025-10-13 22:34:31 +08:00
parent 84f7befb75
commit 2d052442b1

View File

@@ -50,10 +50,12 @@ public class ActionPlanner extends PreRunningModule {
protected void doExecute(PartnerRunningFlowContext context) { protected void doExecute(PartnerRunningFlowContext context) {
ExtractorInput extractorInput = getExtractorInput(context); ExtractorInput extractorInput = getExtractorInput(context);
ExtractorResult extractorResult = actionExtractor.execute(extractorInput); ExtractorResult extractorResult = actionExtractor.execute(extractorInput);
if (!extractorResult.isAction()){
return;
}
EvaluatorInput evaluatorInput = getEvaluatorInput(extractorResult, context.getUserId()); EvaluatorInput evaluatorInput = getEvaluatorInput(extractorResult, context.getUserId());
EvaluatorResult evaluatorResult = actionEvaluator.execute(evaluatorInput); EvaluatorResult evaluatorResult = actionEvaluator.execute(evaluatorInput);
setupPreparedActionInfo(evaluatorResult, context.getUuid()); setupPreparedActionInfo(evaluatorResult, context.getUuid());
} }
private void setupPreparedActionInfo(EvaluatorResult evaluatorResult, String uuid) { private void setupPreparedActionInfo(EvaluatorResult evaluatorResult, String uuid) {
@@ -102,8 +104,11 @@ public class ActionPlanner extends PreRunningModule {
protected HashMap<String, String> getPromptDataMap(String userId) { protected HashMap<String, String> getPromptDataMap(String userId) {
MetaActionInfo actionInfo = actionCapability.getPreparedAction(userId); MetaActionInfo actionInfo = actionCapability.getPreparedAction(userId);
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
if (actionInfo == null){
map.put("[行动状态] <是否存在行动>", "");
return map;
}
map.put("[行动确认原因] <生成行动的原因>", actionInfo.getActionData().getReason()); map.put("[行动确认原因] <生成行动的原因>", actionInfo.getActionData().getReason());
if (actionInfo instanceof ImmediateActionInfo) { if (actionInfo instanceof ImmediateActionInfo) {
map.put("[行动类型] <将执行的行动类型,分为即时行动与计划行动>", "即时"); map.put("[行动类型] <将执行的行动类型,分为即时行动与计划行动>", "即时");
map.put("[行动倾向] <你将要执行的动作>", actionInfo.getTendency()); map.put("[行动倾向] <你将要执行的动作>", actionInfo.getTendency());