refactor(memory): remove legacy activated memory slice records in memory core

This commit is contained in:
2026-03-29 16:08:29 +08:00
parent c2fbfe751f
commit eb1723de97
9 changed files with 10 additions and 34 deletions

View File

@@ -1,22 +1,14 @@
package work.slhaf.partner.core.memory; package work.slhaf.partner.core.memory;
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability; import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
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;
import java.util.Collection; import java.util.Collection;
import java.util.List;
@Capability(value = "memory") @Capability(value = "memory")
public interface MemoryCapability { public interface MemoryCapability {
void clearActivatedSlices();
void updateActivatedSlices(List<ActivatedMemorySlice> memorySlices);
List<ActivatedMemorySlice> getActivatedSlices();
void saveMemoryUnit(MemoryUnit memoryUnit); void saveMemoryUnit(MemoryUnit memoryUnit);
MemoryUnit getMemoryUnit(String unitId); MemoryUnit getMemoryUnit(String unitId);

View File

@@ -7,16 +7,17 @@ import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
import work.slhaf.partner.core.PartnerCore; import work.slhaf.partner.core.PartnerCore;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
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;
import java.io.IOException; import java.io.IOException;
import java.io.Serial; import java.io.Serial;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
@@ -32,7 +33,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
private final Lock memoryLock = new ReentrantLock(); private final Lock memoryLock = new ReentrantLock();
private ConcurrentHashMap<String, MemoryUnit> memoryUnits = new ConcurrentHashMap<>(); private ConcurrentHashMap<String, MemoryUnit> memoryUnits = new ConcurrentHashMap<>();
private List<ActivatedMemorySlice> activatedSlices = new CopyOnWriteArrayList<>();
// 默认值一般只存在于智能体初次启动时 // 默认值一般只存在于智能体初次启动时
private String memorySessionId = UUID.randomUUID().toString(); private String memorySessionId = UUID.randomUUID().toString();
@@ -41,21 +41,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
public MemoryCore() throws IOException, ClassNotFoundException { public MemoryCore() throws IOException, ClassNotFoundException {
} }
@CapabilityMethod
public void clearActivatedSlices() {
activatedSlices.clear();
}
@CapabilityMethod
public void updateActivatedSlices(List<ActivatedMemorySlice> memorySlices) {
activatedSlices = new CopyOnWriteArrayList<>(memorySlices);
}
@CapabilityMethod
public List<ActivatedMemorySlice> getActivatedSlices() {
return new ArrayList<>(activatedSlices);
}
@CapabilityMethod @CapabilityMethod
public void saveMemoryUnit(MemoryUnit memoryUnit) { public void saveMemoryUnit(MemoryUnit memoryUnit) {
memoryLock.lock(); memoryLock.lock();

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.action.planner.evaluator.entity;
import lombok.Data; import lombok.Data;
import work.slhaf.partner.api.chat.pojo.Message; import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice; import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@@ -13,10 +13,10 @@ 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;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
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;
import work.slhaf.partner.core.memory.pojo.SliceRef; import work.slhaf.partner.core.memory.pojo.SliceRef;
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import java.io.*; import java.io.*;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -1,4 +1,4 @@
package work.slhaf.partner.core.memory.pojo; package work.slhaf.partner.module.memory.selector;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@@ -17,7 +17,6 @@ import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.cognition.ContextBlock; import work.slhaf.partner.core.cognition.ContextBlock;
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;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
import work.slhaf.partner.module.memory.runtime.MemoryRuntime; import work.slhaf.partner.module.memory.runtime.MemoryRuntime;
import work.slhaf.partner.module.memory.selector.evaluator.SliceSelectEvaluator; import work.slhaf.partner.module.memory.selector.evaluator.SliceSelectEvaluator;
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput; import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput;

View File

@@ -15,8 +15,8 @@ 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.cognition.CognitionCapability; import work.slhaf.partner.core.cognition.CognitionCapability;
import work.slhaf.partner.core.cognition.ContextBlock; import work.slhaf.partner.core.cognition.ContextBlock;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice;
import work.slhaf.partner.module.TaskBlock; import work.slhaf.partner.module.TaskBlock;
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchInput; import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchInput;
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchResult; import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorBatchResult;
import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput; import work.slhaf.partner.module.memory.selector.evaluator.entity.EvaluatorInput;

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice; import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import work.slhaf.partner.core.memory.pojo.ActivatedMemorySlice; import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;