refactor(cognition): rename Cognation core/capability and package references to Cognition

This commit is contained in:
2026-03-22 12:31:57 +08:00
parent 21ea6a25c8
commit e85094670b
13 changed files with 51 additions and 50 deletions

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.core.cognation; package work.slhaf.partner.core.cognition;
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability; import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
import work.slhaf.partner.api.chat.pojo.Message; import work.slhaf.partner.api.chat.pojo.Message;
@@ -6,8 +6,8 @@ import work.slhaf.partner.api.chat.pojo.Message;
import java.util.List; import java.util.List;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@Capability("cognation") @Capability("cognition")
public interface CognationCapability { public interface CognitionCapability {
String initiateTurn(String input, String target); String initiateTurn(String input, String target);

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.core.cognation; package work.slhaf.partner.core.cognition;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
@@ -20,10 +20,10 @@ import java.util.concurrent.locks.ReentrantLock;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Slf4j @Slf4j
@CapabilityCore(value = "cognation") @CapabilityCore(value = "cognition")
@Getter @Getter
@Setter @Setter
public class CognationCore extends PartnerCore<CognationCore> { public class CognitionCore extends PartnerCore<CognitionCore> {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -34,7 +34,8 @@ public class CognationCore extends PartnerCore<CognationCore> {
* 主模型的聊天记录 * 主模型的聊天记录
*/ */
private List<Message> chatMessages = new ArrayList<>(); private List<Message> chatMessages = new ArrayList<>();
public CognationCore() throws IOException, ClassNotFoundException {
public CognitionCore() throws IOException, ClassNotFoundException {
} }
@CapabilityMethod @CapabilityMethod
@@ -89,6 +90,6 @@ public class CognationCore extends PartnerCore<CognationCore> {
@Override @Override
protected String getCoreKey() { protected String getCoreKey() {
return "cognation-core"; return "cognition-core";
} }
} }

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.core.cognation.exception; package work.slhaf.partner.core.cognition.exception;
public class UserNotExistsException extends RuntimeException { public class UserNotExistsException extends RuntimeException {
public UserNotExistsException(String message) { public UserNotExistsException(String message) {

View File

@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability; import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
import work.slhaf.partner.api.agent.factory.component.annotation.AgentComponent; import work.slhaf.partner.api.agent.factory.component.annotation.AgentComponent;
import work.slhaf.partner.core.action.entity.MetaActionInfo; import work.slhaf.partner.core.action.entity.MetaActionInfo;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.perceive.PerceiveCapability; import work.slhaf.partner.core.perceive.PerceiveCapability;
@@ -28,7 +28,7 @@ class BuiltinCapabilityActionProvider implements BuiltinActionProvider {
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectCapability @InjectCapability
private PerceiveCapability perceiveCapability; private PerceiveCapability perceiveCapability;
@@ -115,7 +115,7 @@ class BuiltinCapabilityActionProvider implements BuiltinActionProvider {
Function<Map<String, Object>, String> invoker = params -> { Function<Map<String, Object>, String> invoker = params -> {
String input = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "input"); String input = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "input");
String target = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "target"); String target = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "target");
return cognationCapability.initiateTurn(input, target); return cognitionCapability.initiateTurn(input, target);
}; };
return new BuiltinActionRegistry.BuiltinActionDefinition( return new BuiltinActionRegistry.BuiltinActionDefinition(

View File

@@ -9,7 +9,7 @@ import work.slhaf.partner.core.action.ActionCapability;
import work.slhaf.partner.core.action.ActionCore; import work.slhaf.partner.core.action.ActionCore;
import work.slhaf.partner.core.action.entity.*; import work.slhaf.partner.core.action.entity.*;
import work.slhaf.partner.core.action.runner.RunnerClient; import work.slhaf.partner.core.action.runner.RunnerClient;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.module.modules.action.executor.entity.*; import work.slhaf.partner.module.modules.action.executor.entity.*;
@@ -26,7 +26,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectModule @InjectModule
private ParamsExtractor paramsExtractor; private ParamsExtractor paramsExtractor;
@InjectModule @InjectModule
@@ -356,7 +356,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
MetaActionInfo metaActionInfo = actionCapability.loadMetaActionInfo(action.getKey()); MetaActionInfo metaActionInfo = actionCapability.loadMetaActionInfo(action.getKey());
input.setHistoryActionResults(historyActionsResults); input.setHistoryActionResults(historyActionsResults);
input.setParams(metaActionInfo.getParams()); input.setParams(metaActionInfo.getParams());
input.setRecentMessages(cognationCapability.getChatMessages()); input.setRecentMessages(cognitionCapability.getChatMessages());
input.setActionDescription(metaActionInfo.getDescription()); input.setActionDescription(metaActionInfo.getDescription());
input.setUserId(userId); input.setUserId(userId);
return input; return input;
@@ -366,7 +366,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
List<String> additionalContext) { List<String> additionalContext) {
ExtractorInput input = new ExtractorInput(); ExtractorInput input = new ExtractorInput();
input.setActivatedMemorySlices(memoryCapability.getActivatedSlices()); input.setActivatedMemorySlices(memoryCapability.getActivatedSlices());
input.setRecentMessages(cognationCapability.getChatMessages()); input.setRecentMessages(cognitionCapability.getChatMessages());
input.setMetaActionInfo(actionCapability.loadMetaActionInfo(action.getKey())); input.setMetaActionInfo(actionCapability.loadMetaActionInfo(action.getKey()));
input.setHistoryActionResults(historyActionResults); input.setHistoryActionResults(historyActionResults);
input.setAdditionalContext(additionalContext); input.setAdditionalContext(additionalContext);
@@ -381,7 +381,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
.description(executableAction.getDescription()) .description(executableAction.getDescription())
.history(executableAction.getHistory().get(executableAction.getExecutingStage())) .history(executableAction.getHistory().get(executableAction.getExecutingStage()))
.status(executableAction.getStatus()) .status(executableAction.getStatus())
.recentMessages(cognationCapability.getChatMessages()) .recentMessages(cognitionCapability.getChatMessages())
.activatedSlices(memoryCapability.getActivatedSlices()) .activatedSlices(memoryCapability.getActivatedSlices())
.build(); .build();
} }

View File

@@ -15,7 +15,7 @@ import work.slhaf.partner.core.action.ActionCore.ExecutorType;
import work.slhaf.partner.core.action.entity.MetaAction; import work.slhaf.partner.core.action.entity.MetaAction;
import work.slhaf.partner.core.action.entity.MetaAction.Result; import work.slhaf.partner.core.action.entity.MetaAction.Result;
import work.slhaf.partner.core.action.runner.RunnerClient; import work.slhaf.partner.core.action.runner.RunnerClient;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorInput; import work.slhaf.partner.module.modules.action.executor.entity.GeneratorInput;
import work.slhaf.partner.module.modules.action.executor.entity.GeneratorResult; import work.slhaf.partner.module.modules.action.executor.entity.GeneratorResult;
import work.slhaf.partner.module.modules.action.executor.entity.RepairerInput; import work.slhaf.partner.module.modules.action.executor.entity.RepairerInput;
@@ -46,7 +46,7 @@ public class ActionRepairer extends AbstractAgentModule.Sub<RepairerInput, Repai
@InjectCapability @InjectCapability
private ActionCapability actionCapability; private ActionCapability actionCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectModule @InjectModule
private DynamicActionGenerator dynamicActionGenerator; private DynamicActionGenerator dynamicActionGenerator;
private RunnerClient runnerClient; private RunnerClient runnerClient;

View File

@@ -13,7 +13,7 @@ import work.slhaf.partner.core.action.ActionCore;
import work.slhaf.partner.core.action.entity.*; import work.slhaf.partner.core.action.entity.*;
import work.slhaf.partner.core.action.entity.cache.CacheAdjustData; import work.slhaf.partner.core.action.entity.cache.CacheAdjustData;
import work.slhaf.partner.core.action.entity.cache.CacheAdjustMetaData; import work.slhaf.partner.core.action.entity.cache.CacheAdjustMetaData;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.perceive.PerceiveCapability; import work.slhaf.partner.core.perceive.PerceiveCapability;
import work.slhaf.partner.module.modules.action.executor.ActionExecutor; import work.slhaf.partner.module.modules.action.executor.ActionExecutor;
@@ -50,7 +50,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
private final ActionAssemblyHelper assemblyHelper = new ActionAssemblyHelper(); private final ActionAssemblyHelper assemblyHelper = new ActionAssemblyHelper();
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectCapability @InjectCapability
private ActionCapability actionCapability; private ActionCapability actionCapability;
@InjectCapability @InjectCapability
@@ -228,7 +228,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
} }
try { try {
// TODO target 指定行为待补充; 主动回复链路待补充 // TODO target 指定行为待补充; 主动回复链路待补充
cognationCapability.initiateTurn("系统提醒存在待确认行动即将过期请确认是否继续执行。pendingId=" + pendingId, userId); cognitionCapability.initiateTurn("系统提醒存在待确认行动即将过期请确认是否继续执行。pendingId=" + pendingId, userId);
} catch (Exception e) { } catch (Exception e) {
log.warn("触发待确认行动提醒失败, pendingId: {}", pendingId, e); log.warn("触发待确认行动提醒失败, pendingId: {}", pendingId, e);
} }
@@ -294,7 +294,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
result == null ? "" : result //将会在 ActionExecutor result == null ? "" : result //将会在 ActionExecutor
); );
try { try {
cognationCapability.initiateTurn(structuredSignal, action.getSource()); cognitionCapability.initiateTurn(structuredSignal, action.getSource());
} catch (Exception e) { } catch (Exception e) {
log.warn("触发 immediate 行动完成自对话失败, actionUuid: {}", action.getUuid(), e); log.warn("触发 immediate 行动完成自对话失败, actionUuid: {}", action.getUuid(), e);
} }
@@ -312,7 +312,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
private ExtractorInput buildExtractorInput(PartnerRunningFlowContext context) { private ExtractorInput buildExtractorInput(PartnerRunningFlowContext context) {
ExtractorInput input = new ExtractorInput(); ExtractorInput input = new ExtractorInput();
input.setInput(context.getInput()); input.setInput(context.getInput());
List<Message> chatMessages = cognationCapability.snapshotChatMessages(); List<Message> chatMessages = cognitionCapability.snapshotChatMessages();
List<Message> recentMessages = new ArrayList<>(); List<Message> recentMessages = new ArrayList<>();
if (chatMessages.size() > 5) { if (chatMessages.size() > 5) {
recentMessages.addAll(chatMessages.subList(chatMessages.size() - 5, chatMessages.size() - 1)); recentMessages.addAll(chatMessages.subList(chatMessages.size() - 5, chatMessages.size() - 1));
@@ -326,7 +326,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
private EvaluatorInput buildEvaluatorInput(ExtractorResult extractorResult, String userId) { private EvaluatorInput buildEvaluatorInput(ExtractorResult extractorResult, String userId) {
EvaluatorInput input = new EvaluatorInput(); EvaluatorInput input = new EvaluatorInput();
input.setTendencies(extractorResult.getTendencies()); input.setTendencies(extractorResult.getTendencies());
input.setRecentMessages(cognationCapability.snapshotChatMessages()); input.setRecentMessages(cognitionCapability.snapshotChatMessages());
input.setActivatedSlices(memoryCapability.getActivatedSlices()); input.setActivatedSlices(memoryCapability.getActivatedSlices());
return input; return input;
} }
@@ -432,7 +432,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
ConfirmerInput confirmerInput = new ConfirmerInput(); ConfirmerInput confirmerInput = new ConfirmerInput();
confirmerInput.setInput(context.getInput()); confirmerInput.setInput(context.getInput());
List<PendingActionRecord> pendingActions = actionCapability.listActivePendingActions(context.getSource()); List<PendingActionRecord> pendingActions = actionCapability.listActivePendingActions(context.getSource());
confirmerInput.setRecentMessages(cognationCapability.snapshotChatMessages()); confirmerInput.setRecentMessages(cognitionCapability.snapshotChatMessages());
confirmerInput.setPendingActions(pendingActions); confirmerInput.setPendingActions(pendingActions);
return confirmerInput; return confirmerInput;
} }

View File

@@ -12,7 +12,7 @@ import work.slhaf.partner.api.agent.factory.component.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.factory.component.annotation.Init; import work.slhaf.partner.api.agent.factory.component.annotation.Init;
import work.slhaf.partner.api.agent.runtime.interaction.flow.ContextBlock; import work.slhaf.partner.api.agent.runtime.interaction.flow.ContextBlock;
import work.slhaf.partner.api.chat.pojo.Message; import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext; import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
@@ -42,7 +42,7 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
"""; """;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@Init @Init
public void init() { public void init() {
@@ -112,9 +112,9 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
} }
private void updateModuleContextAndChatMessages(PartnerRunningFlowContext runningFlowContext, String response) { private void updateModuleContextAndChatMessages(PartnerRunningFlowContext runningFlowContext, String response) {
cognationCapability.getMessageLock().lock(); cognitionCapability.getMessageLock().lock();
try { try {
List<Message> chatMessages = cognationCapability.getChatMessages(); List<Message> chatMessages = cognitionCapability.getChatMessages();
chatMessages.removeIf(this::isStructuredUserMessage); chatMessages.removeIf(this::isStructuredUserMessage);
Message primaryUserMessage = new Message( Message primaryUserMessage = new Message(
Message.Character.USER, Message.Character.USER,
@@ -124,12 +124,12 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
Message assistantMessage = new Message(Message.Character.ASSISTANT, response); Message assistantMessage = new Message(Message.Character.ASSISTANT, response);
chatMessages.add(assistantMessage); chatMessages.add(assistantMessage);
} finally { } finally {
cognationCapability.getMessageLock().unlock(); cognitionCapability.getMessageLock().unlock();
} }
} }
private List<Message> snapshotConversationMessages() { private List<Message> snapshotConversationMessages() {
List<Message> snapshot = new ArrayList<>(cognationCapability.snapshotChatMessages()); List<Message> snapshot = new ArrayList<>(cognitionCapability.snapshotChatMessages());
snapshot.removeIf(this::isStructuredUserMessage); snapshot.removeIf(this::isStructuredUserMessage);
return snapshot; return snapshot;
} }

View File

@@ -9,7 +9,7 @@ import work.slhaf.partner.api.agent.factory.component.annotation.Init;
import work.slhaf.partner.api.agent.runtime.config.AgentConfigLoader; import work.slhaf.partner.api.agent.runtime.config.AgentConfigLoader;
import work.slhaf.partner.api.common.entity.PersistableObject; import work.slhaf.partner.api.common.entity.PersistableObject;
import work.slhaf.partner.common.config.PartnerAgentConfigLoader; import work.slhaf.partner.common.config.PartnerAgentConfigLoader;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException; import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException;
import work.slhaf.partner.core.memory.exception.UnExistedTopicException; import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
@@ -41,7 +41,7 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone {
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
private final ReentrantLock runtimeLock = new ReentrantLock(); private final ReentrantLock runtimeLock = new ReentrantLock();
private Map<String, CopyOnWriteArrayList<SliceRef>> topicSlices = new HashMap<>(); private Map<String, CopyOnWriteArrayList<SliceRef>> topicSlices = new HashMap<>();
@@ -57,7 +57,7 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone {
private void checkAndSetMemoryId() { private void checkAndSetMemoryId() {
String currentMemoryId = memoryCapability.getMemorySessionId(); String currentMemoryId = memoryCapability.getMemorySessionId();
if (currentMemoryId == null || cognationCapability.getChatMessages().isEmpty()) { if (currentMemoryId == null || cognitionCapability.getChatMessages().isEmpty()) {
memoryCapability.refreshMemorySession(); memoryCapability.refreshMemorySession();
} }
} }

View File

@@ -6,7 +6,7 @@ import lombok.EqualsAndHashCode;
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability; import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule; import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule;
import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule; import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException; import work.slhaf.partner.core.memory.exception.UnExistedDateIndexException;
import work.slhaf.partner.core.memory.exception.UnExistedTopicException; import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
@@ -31,7 +31,7 @@ public class MemorySelector extends AbstractAgentModule.Running<PartnerRunningFl
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectModule @InjectModule
private MemoryRuntime memoryRuntime; private MemoryRuntime memoryRuntime;
@InjectModule @InjectModule
@@ -58,7 +58,7 @@ public class MemorySelector extends AbstractAgentModule.Running<PartnerRunningFl
EvaluatorInput evaluatorInput = EvaluatorInput.builder() EvaluatorInput evaluatorInput = EvaluatorInput.builder()
.input(runningFlowContext.getInput()) .input(runningFlowContext.getInput())
.memorySlices(new ArrayList<>(candidates.values())) .memorySlices(new ArrayList<>(candidates.values()))
.messages(cognationCapability.getChatMessages()) .messages(cognitionCapability.getChatMessages())
.build(); .build();
log.debug("[MemorySelector] 切片评估输入: {}", JSONObject.toJSONString(evaluatorInput)); log.debug("[MemorySelector] 切片评估输入: {}", JSONObject.toJSONString(evaluatorInput));
List<ActivatedMemorySlice> memorySlices = sliceSelectEvaluator.execute(evaluatorInput); List<ActivatedMemorySlice> memorySlices = sliceSelectEvaluator.execute(evaluatorInput);

View File

@@ -8,7 +8,7 @@ import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentMod
import work.slhaf.partner.api.agent.factory.component.abstracts.ActivateModel; import work.slhaf.partner.api.agent.factory.component.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule; import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule;
import work.slhaf.partner.api.chat.pojo.Message; import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice; import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
import work.slhaf.partner.module.modules.memory.runtime.MemoryRuntime; import work.slhaf.partner.module.modules.memory.runtime.MemoryRuntime;
@@ -28,14 +28,14 @@ public class MemorySelectExtractor extends AbstractAgentModule.Sub<PartnerRunnin
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectModule @InjectModule
private MemoryRuntime memoryRuntime; private MemoryRuntime memoryRuntime;
@Override @Override
public ExtractorResult execute(PartnerRunningFlowContext context) { public ExtractorResult execute(PartnerRunningFlowContext context) {
log.debug("[MemorySelectExtractor] 主题提取模块开始..."); log.debug("[MemorySelectExtractor] 主题提取模块开始...");
List<Message> chatMessages = cognationCapability.snapshotChatMessages(); List<Message> chatMessages = cognitionCapability.snapshotChatMessages();
ExtractorResult extractorResult; ExtractorResult extractorResult;
try { try {
List<ActivatedMemorySlice> activatedMemorySlices = memoryCapability.getActivatedSlices(); List<ActivatedMemorySlice> activatedMemorySlices = memoryCapability.getActivatedSlices();

View File

@@ -12,7 +12,7 @@ import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor; import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
import work.slhaf.partner.core.action.entity.Schedulable; import work.slhaf.partner.core.action.entity.Schedulable;
import work.slhaf.partner.core.action.entity.StateAction; import work.slhaf.partner.core.action.entity.StateAction;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.core.memory.pojo.MemorySlice; import work.slhaf.partner.core.memory.pojo.MemorySlice;
import work.slhaf.partner.core.memory.pojo.MemoryUnit; import work.slhaf.partner.core.memory.pojo.MemoryUnit;
@@ -40,7 +40,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
private static final int MEMORY_UPDATE_TRIGGER_ROLL_LIMIT = 36; private static final int MEMORY_UPDATE_TRIGGER_ROLL_LIMIT = 36;
@InjectCapability @InjectCapability
private CognationCapability cognationCapability; private CognitionCapability cognitionCapability;
@InjectCapability @InjectCapability
private MemoryCapability memoryCapability; private MemoryCapability memoryCapability;
@InjectCapability @InjectCapability
@@ -82,7 +82,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
@Override @Override
public void execute(PartnerRunningFlowContext context) { public void execute(PartnerRunningFlowContext context) {
boolean trigger = cognationCapability.getChatMessages().size() >= MEMORY_UPDATE_TRIGGER_ROLL_LIMIT; boolean trigger = cognitionCapability.getChatMessages().size() >= MEMORY_UPDATE_TRIGGER_ROLL_LIMIT;
if (!trigger) { if (!trigger) {
return; return;
} }
@@ -94,7 +94,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
private void tryAutoUpdate() { private void tryAutoUpdate() {
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
int chatCount = cognationCapability.snapshotChatMessages().size(); int chatCount = cognitionCapability.snapshotChatMessages().size();
if (currentTime - perceiveCapability.showLastInteract().toEpochMilli() > UPDATE_TRIGGER_INTERVAL && chatCount > 1) { if (currentTime - perceiveCapability.showLastInteract().toEpochMilli() > UPDATE_TRIGGER_INTERVAL && chatCount > 1) {
triggerMemoryUpdate(true); triggerMemoryUpdate(true);
log.info("[MemoryUpdater] 记忆更新: 自动触发"); log.info("[MemoryUpdater] 记忆更新: 自动触发");
@@ -107,12 +107,12 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
return; return;
} }
try { try {
List<Message> chatSnapshot = cognationCapability.snapshotChatMessages(); List<Message> chatSnapshot = cognitionCapability.snapshotChatMessages();
if (chatSnapshot.size() <= 1) { if (chatSnapshot.size() <= 1) {
return; return;
} }
updateMemory(chatSnapshot); updateMemory(chatSnapshot);
cognationCapability.rollChatMessagesWithSnapshot(chatSnapshot.size(), CONTEXT_RETAIN_DIVISOR); cognitionCapability.rollChatMessagesWithSnapshot(chatSnapshot.size(), CONTEXT_RETAIN_DIVISOR);
if (refreshMemoryId) { if (refreshMemoryId) {
memoryCapability.refreshMemorySession(); memoryCapability.refreshMemorySession();
} }

View File

@@ -12,7 +12,7 @@ import work.slhaf.partner.core.action.ActionCapability;
import work.slhaf.partner.core.action.ActionCore; import work.slhaf.partner.core.action.ActionCore;
import work.slhaf.partner.core.action.entity.*; import work.slhaf.partner.core.action.entity.*;
import work.slhaf.partner.core.action.runner.RunnerClient; import work.slhaf.partner.core.action.runner.RunnerClient;
import work.slhaf.partner.core.cognation.CognationCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.MemoryCapability;
import work.slhaf.partner.module.modules.action.executor.ActionCorrector; import work.slhaf.partner.module.modules.action.executor.ActionCorrector;
import work.slhaf.partner.module.modules.action.executor.ActionExecutor; import work.slhaf.partner.module.modules.action.executor.ActionExecutor;
@@ -59,7 +59,7 @@ class ActionExecutorTest {
@Mock @Mock
MemoryCapability memoryCapability; MemoryCapability memoryCapability;
@Mock @Mock
CognationCapability cognationCapability; CognitionCapability cognitionCapability;
@Mock @Mock
ParamsExtractor paramsExtractor; ParamsExtractor paramsExtractor;
@Mock @Mock
@@ -74,7 +74,7 @@ class ActionExecutorTest {
@BeforeEach @BeforeEach
void setUp() { void setUp() {
lenient().when(cognationCapability.getChatMessages()).thenReturn(Collections.emptyList()); lenient().when(cognitionCapability.getChatMessages()).thenReturn(Collections.emptyList());
lenient().when(memoryCapability.getActivatedSlices()).thenReturn(Collections.emptyList()); lenient().when(memoryCapability.getActivatedSlices()).thenReturn(Collections.emptyList());
lenient().when(actionCapability.putPhaserRecord(any(Phaser.class), any(ExecutableAction.class))) lenient().when(actionCapability.putPhaserRecord(any(Phaser.class), any(ExecutableAction.class)))
.thenAnswer(inv -> new PhaserRecord(inv.getArgument(0), inv.getArgument(1))); .thenAnswer(inv -> new PhaserRecord(inv.getArgument(0), inv.getArgument(1)));