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.chat.pojo.Message;
@@ -6,8 +6,8 @@ import work.slhaf.partner.api.chat.pojo.Message;
import java.util.List;
import java.util.concurrent.locks.Lock;
@Capability("cognation")
public interface CognationCapability {
@Capability("cognition")
public interface CognitionCapability {
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.Getter;
@@ -20,10 +20,10 @@ import java.util.concurrent.locks.ReentrantLock;
@EqualsAndHashCode(callSuper = true)
@Slf4j
@CapabilityCore(value = "cognation")
@CapabilityCore(value = "cognition")
@Getter
@Setter
public class CognationCore extends PartnerCore<CognationCore> {
public class CognitionCore extends PartnerCore<CognitionCore> {
@Serial
private static final long serialVersionUID = 1L;
@@ -34,7 +34,8 @@ public class CognationCore extends PartnerCore<CognationCore> {
* 主模型的聊天记录
*/
private List<Message> chatMessages = new ArrayList<>();
public CognationCore() throws IOException, ClassNotFoundException {
public CognitionCore() throws IOException, ClassNotFoundException {
}
@CapabilityMethod
@@ -89,6 +90,6 @@ public class CognationCore extends PartnerCore<CognationCore> {
@Override
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 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.component.annotation.AgentComponent;
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.perceive.PerceiveCapability;
@@ -28,7 +28,7 @@ class BuiltinCapabilityActionProvider implements BuiltinActionProvider {
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectCapability
private PerceiveCapability perceiveCapability;
@@ -115,7 +115,7 @@ class BuiltinCapabilityActionProvider implements BuiltinActionProvider {
Function<Map<String, Object>, String> invoker = params -> {
String input = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "input");
String target = BuiltinActionRegistry.BuiltinActionDefinition.requireString(params, "target");
return cognationCapability.initiateTurn(input, target);
return cognitionCapability.initiateTurn(input, target);
};
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.entity.*;
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.module.modules.action.executor.entity.*;
@@ -26,7 +26,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectModule
private ParamsExtractor paramsExtractor;
@InjectModule
@@ -356,7 +356,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
MetaActionInfo metaActionInfo = actionCapability.loadMetaActionInfo(action.getKey());
input.setHistoryActionResults(historyActionsResults);
input.setParams(metaActionInfo.getParams());
input.setRecentMessages(cognationCapability.getChatMessages());
input.setRecentMessages(cognitionCapability.getChatMessages());
input.setActionDescription(metaActionInfo.getDescription());
input.setUserId(userId);
return input;
@@ -366,7 +366,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
List<String> additionalContext) {
ExtractorInput input = new ExtractorInput();
input.setActivatedMemorySlices(memoryCapability.getActivatedSlices());
input.setRecentMessages(cognationCapability.getChatMessages());
input.setRecentMessages(cognitionCapability.getChatMessages());
input.setMetaActionInfo(actionCapability.loadMetaActionInfo(action.getKey()));
input.setHistoryActionResults(historyActionResults);
input.setAdditionalContext(additionalContext);
@@ -381,7 +381,7 @@ public class ActionExecutor extends AbstractAgentModule.Standalone {
.description(executableAction.getDescription())
.history(executableAction.getHistory().get(executableAction.getExecutingStage()))
.status(executableAction.getStatus())
.recentMessages(cognationCapability.getChatMessages())
.recentMessages(cognitionCapability.getChatMessages())
.activatedSlices(memoryCapability.getActivatedSlices())
.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.Result;
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.GeneratorResult;
import work.slhaf.partner.module.modules.action.executor.entity.RepairerInput;
@@ -46,7 +46,7 @@ public class ActionRepairer extends AbstractAgentModule.Sub<RepairerInput, Repai
@InjectCapability
private ActionCapability actionCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectModule
private DynamicActionGenerator dynamicActionGenerator;
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.cache.CacheAdjustData;
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.perceive.PerceiveCapability;
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();
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectCapability
private ActionCapability actionCapability;
@InjectCapability
@@ -228,7 +228,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
}
try {
// TODO target 指定行为待补充; 主动回复链路待补充
cognationCapability.initiateTurn("系统提醒存在待确认行动即将过期请确认是否继续执行。pendingId=" + pendingId, userId);
cognitionCapability.initiateTurn("系统提醒存在待确认行动即将过期请确认是否继续执行。pendingId=" + pendingId, userId);
} catch (Exception e) {
log.warn("触发待确认行动提醒失败, pendingId: {}", pendingId, e);
}
@@ -294,7 +294,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
result == null ? "" : result //将会在 ActionExecutor
);
try {
cognationCapability.initiateTurn(structuredSignal, action.getSource());
cognitionCapability.initiateTurn(structuredSignal, action.getSource());
} catch (Exception e) {
log.warn("触发 immediate 行动完成自对话失败, actionUuid: {}", action.getUuid(), e);
}
@@ -312,7 +312,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
private ExtractorInput buildExtractorInput(PartnerRunningFlowContext context) {
ExtractorInput input = new ExtractorInput();
input.setInput(context.getInput());
List<Message> chatMessages = cognationCapability.snapshotChatMessages();
List<Message> chatMessages = cognitionCapability.snapshotChatMessages();
List<Message> recentMessages = new ArrayList<>();
if (chatMessages.size() > 5) {
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) {
EvaluatorInput input = new EvaluatorInput();
input.setTendencies(extractorResult.getTendencies());
input.setRecentMessages(cognationCapability.snapshotChatMessages());
input.setRecentMessages(cognitionCapability.snapshotChatMessages());
input.setActivatedSlices(memoryCapability.getActivatedSlices());
return input;
}
@@ -432,7 +432,7 @@ public class ActionPlanner extends AbstractAgentModule.Running<PartnerRunningFlo
ConfirmerInput confirmerInput = new ConfirmerInput();
confirmerInput.setInput(context.getInput());
List<PendingActionRecord> pendingActions = actionCapability.listActivePendingActions(context.getSource());
confirmerInput.setRecentMessages(cognationCapability.snapshotChatMessages());
confirmerInput.setRecentMessages(cognitionCapability.snapshotChatMessages());
confirmerInput.setPendingActions(pendingActions);
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.runtime.interaction.flow.ContextBlock;
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 javax.xml.parsers.DocumentBuilderFactory;
@@ -42,7 +42,7 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
""";
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@Init
public void init() {
@@ -112,9 +112,9 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
}
private void updateModuleContextAndChatMessages(PartnerRunningFlowContext runningFlowContext, String response) {
cognationCapability.getMessageLock().lock();
cognitionCapability.getMessageLock().lock();
try {
List<Message> chatMessages = cognationCapability.getChatMessages();
List<Message> chatMessages = cognitionCapability.getChatMessages();
chatMessages.removeIf(this::isStructuredUserMessage);
Message primaryUserMessage = new Message(
Message.Character.USER,
@@ -124,12 +124,12 @@ public class CommunicationProducer extends AbstractAgentModule.Running<PartnerRu
Message assistantMessage = new Message(Message.Character.ASSISTANT, response);
chatMessages.add(assistantMessage);
} finally {
cognationCapability.getMessageLock().unlock();
cognitionCapability.getMessageLock().unlock();
}
}
private List<Message> snapshotConversationMessages() {
List<Message> snapshot = new ArrayList<>(cognationCapability.snapshotChatMessages());
List<Message> snapshot = new ArrayList<>(cognitionCapability.snapshotChatMessages());
snapshot.removeIf(this::isStructuredUserMessage);
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.common.entity.PersistableObject;
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.exception.UnExistedDateIndexException;
import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
@@ -41,7 +41,7 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone {
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
private final ReentrantLock runtimeLock = new ReentrantLock();
private Map<String, CopyOnWriteArrayList<SliceRef>> topicSlices = new HashMap<>();
@@ -57,7 +57,7 @@ public class MemoryRuntime extends AbstractAgentModule.Standalone {
private void checkAndSetMemoryId() {
String currentMemoryId = memoryCapability.getMemorySessionId();
if (currentMemoryId == null || cognationCapability.getChatMessages().isEmpty()) {
if (currentMemoryId == null || cognitionCapability.getChatMessages().isEmpty()) {
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.component.abstracts.AbstractAgentModule;
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.exception.UnExistedDateIndexException;
import work.slhaf.partner.core.memory.exception.UnExistedTopicException;
@@ -31,7 +31,7 @@ public class MemorySelector extends AbstractAgentModule.Running<PartnerRunningFl
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectModule
private MemoryRuntime memoryRuntime;
@InjectModule
@@ -58,7 +58,7 @@ public class MemorySelector extends AbstractAgentModule.Running<PartnerRunningFl
EvaluatorInput evaluatorInput = EvaluatorInput.builder()
.input(runningFlowContext.getInput())
.memorySlices(new ArrayList<>(candidates.values()))
.messages(cognationCapability.getChatMessages())
.messages(cognitionCapability.getChatMessages())
.build();
log.debug("[MemorySelector] 切片评估输入: {}", JSONObject.toJSONString(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.annotation.InjectModule;
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.pojo.ActivatedMemorySlice;
import work.slhaf.partner.module.modules.memory.runtime.MemoryRuntime;
@@ -28,14 +28,14 @@ public class MemorySelectExtractor extends AbstractAgentModule.Sub<PartnerRunnin
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectModule
private MemoryRuntime memoryRuntime;
@Override
public ExtractorResult execute(PartnerRunningFlowContext context) {
log.debug("[MemorySelectExtractor] 主题提取模块开始...");
List<Message> chatMessages = cognationCapability.snapshotChatMessages();
List<Message> chatMessages = cognitionCapability.snapshotChatMessages();
ExtractorResult extractorResult;
try {
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.core.action.entity.Schedulable;
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.pojo.MemorySlice;
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;
@InjectCapability
private CognationCapability cognationCapability;
private CognitionCapability cognitionCapability;
@InjectCapability
private MemoryCapability memoryCapability;
@InjectCapability
@@ -82,7 +82,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
@Override
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) {
return;
}
@@ -94,7 +94,7 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
private void tryAutoUpdate() {
long currentTime = System.currentTimeMillis();
int chatCount = cognationCapability.snapshotChatMessages().size();
int chatCount = cognitionCapability.snapshotChatMessages().size();
if (currentTime - perceiveCapability.showLastInteract().toEpochMilli() > UPDATE_TRIGGER_INTERVAL && chatCount > 1) {
triggerMemoryUpdate(true);
log.info("[MemoryUpdater] 记忆更新: 自动触发");
@@ -107,12 +107,12 @@ public class MemoryUpdater extends AbstractAgentModule.Running<PartnerRunningFlo
return;
}
try {
List<Message> chatSnapshot = cognationCapability.snapshotChatMessages();
List<Message> chatSnapshot = cognitionCapability.snapshotChatMessages();
if (chatSnapshot.size() <= 1) {
return;
}
updateMemory(chatSnapshot);
cognationCapability.rollChatMessagesWithSnapshot(chatSnapshot.size(), CONTEXT_RETAIN_DIVISOR);
cognitionCapability.rollChatMessagesWithSnapshot(chatSnapshot.size(), CONTEXT_RETAIN_DIVISOR);
if (refreshMemoryId) {
memoryCapability.refreshMemorySession();
}