diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrectionRecognizer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrectionRecognizer.java index f3133d28..9a7ce11b 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrectionRecognizer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrectionRecognizer.java @@ -26,7 +26,7 @@ public class ActionCorrectionRecognizer extends AbstractAgentModule.Sub execute(CorrectionRecognizerInput input) { + protected @NotNull Result doExecute(CorrectionRecognizerInput input) { List messages = List.of( resolveContextMessage(), resolveTaskMessage(input) diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrector.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrector.java index 246bbc56..5710d3a5 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrector.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ActionCorrector.java @@ -26,7 +26,7 @@ public class ActionCorrector extends AbstractAgentModule.Sub execute(CorrectorInput input) { + protected @NotNull Result doExecute(CorrectorInput input) { List messages = List.of( resolveContextMessage(), resolveTaskMessage(input) diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ParamsExtractor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ParamsExtractor.java index ad04390c..54bd5a10 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ParamsExtractor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/executor/ParamsExtractor.java @@ -27,7 +27,7 @@ public class ParamsExtractor extends AbstractAgentModule.Sub execute(ExtractorInput input) { + protected @NotNull Result doExecute(ExtractorInput input) { List messages = List.of( resolveContextMessage(), resolveTaskMessage(input) diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/ActionPlanner.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/ActionPlanner.java index 60eada0f..66e02752 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/ActionPlanner.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/ActionPlanner.java @@ -68,7 +68,7 @@ public class ActionPlanner extends AbstractAgentModule.Running result = actionExtractor.execute(input) .onFailure(exp -> { diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/evaluator/ActionEvaluator.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/evaluator/ActionEvaluator.java index 53b6f310..437bde6f 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/evaluator/ActionEvaluator.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/evaluator/ActionEvaluator.java @@ -45,7 +45,7 @@ public class ActionEvaluator extends AbstractAgentModule.Sub execute(EvaluatorInput data) { + protected List doExecute(EvaluatorInput data) { List tendencies = data.getTendencies(); CountDownLatch latch = new CountDownLatch(tendencies.size()); List evaluatorResults = new ArrayList<>(); diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/extractor/ActionExtractor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/extractor/ActionExtractor.java index 8767008b..e365bcaf 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/extractor/ActionExtractor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/action/planner/extractor/ActionExtractor.java @@ -20,7 +20,7 @@ public class ActionExtractor extends AbstractAgentModule.Sub execute(String input) { + protected @NotNull Result doExecute(String input) { List messages = List.of( cognitionCapability.contextWorkspace().resolve(List.of( ContextBlock.VisibleDomain.COGNITION, diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java index de2303a8..f81c9097 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java @@ -59,7 +59,7 @@ public class CommunicationProducer extends AbstractAgentModule.Running execute(EvaluatorInput evaluatorInput) { + protected List doExecute(EvaluatorInput evaluatorInput) { List preparedSlices = evaluatorInput.getMemorySlices(); List result = new ArrayList<>(); CountDownLatch latch = new CountDownLatch(preparedSlices.size()); diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java index 311ccd87..a8278a3f 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java @@ -32,7 +32,7 @@ public class MemorySelectExtractor extends AbstractAgentModule.Sub messages = List.of( resolveContextMessage(), diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java index fdc24741..9519f369 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/MemoryUpdater.java @@ -85,7 +85,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running= MEMORY_UPDATE_TRIGGER_ROLL_LIMIT; if (!trigger) { return; diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/MultiSummarizer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/MultiSummarizer.java index 62555458..84674784 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/MultiSummarizer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/MultiSummarizer.java @@ -24,7 +24,7 @@ public class MultiSummarizer extends AbstractAgentModule.Sub execute(SummarizeInput input) { + protected @NotNull Result doExecute(SummarizeInput input) { return formattedChat( List.of(new Message(Message.Character.USER, JSONUtil.toJsonPrettyStr(input))), SummarizeResult.class diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/SingleSummarizer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/SingleSummarizer.java index 48ce4414..348dfd17 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/SingleSummarizer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/SingleSummarizer.java @@ -29,7 +29,7 @@ public class SingleSummarizer extends AbstractAgentModule.Sub, Voi } @Override - public Void execute(List chatMessages) { + protected Void doExecute(List chatMessages) { log.debug("[MemorySummarizer] 长文本摘要开始..."); CountDownLatch latch = new CountDownLatch(chatMessages.size()); for (int i = 0; i < chatMessages.size(); i++) { diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/TotalSummarizer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/TotalSummarizer.java index 8b4777bd..8abe138c 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/TotalSummarizer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/updater/summarizer/TotalSummarizer.java @@ -13,7 +13,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) @Data public class TotalSummarizer extends AbstractAgentModule.Sub, String> implements ActivateModel { - public String execute(HashMap singleMemorySummary) { + protected String doExecute(HashMap singleMemorySummary) { return formattedChat( List.of(new Message(Message.Character.USER, JSONUtil.toJsonPrettyStr(singleMemorySummary))), SummaryContent.class diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/perceive/PerceiveMonitor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/perceive/PerceiveMonitor.java index 3c333d16..7553b717 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/perceive/PerceiveMonitor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/perceive/PerceiveMonitor.java @@ -23,7 +23,7 @@ public class PerceiveMonitor extends AbstractAgentModule.Running : AbstractAgentModule() { - abstract fun execute(context: T) + private val advice = run { + @Suppress("UNCHECKED_CAST") + LogAdviceProvider.createAdvice( + moduleName, + resolveGenericType(0) as Class, + Void::class.java + ) { context -> + doExecute(context) + null + } + } + + fun execute(context: T) { + advice.invoke(context) + } + + protected abstract fun doExecute(context: T) abstract fun order(): Int } abstract class Sub : AbstractAgentModule() { - abstract fun execute(input: I): O + private val advice = run { + @Suppress("UNCHECKED_CAST") + LogAdviceProvider.createAdvice( + moduleName, + resolveGenericType(0) as Class, + resolveGenericType(1) as Class + ) { input -> + doExecute(input) + } + } + + fun execute(input: I): O? { + return advice.invoke(input).getOrThrow() + } + + protected abstract fun doExecute(input: I): O? } abstract class Standalone : AbstractAgentModule() + protected fun resolveGenericType(index: Int): Class<*> { + val genericType = (javaClass.genericSuperclass as? ParameterizedType) + ?.actualTypeArguments + ?.getOrNull(index) + ?: return Any::class.java + return when (genericType) { + is Class<*> -> genericType + is ParameterizedType -> genericType.rawType as? Class<*> ?: Any::class.java + else -> Any::class.java + } + } } -