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;
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.MemoryUnit;
import java.util.Collection;
import java.util.List;
@Capability(value = "memory")
public interface MemoryCapability {
void clearActivatedSlices();
void updateActivatedSlices(List<ActivatedMemorySlice> memorySlices);
List<ActivatedMemorySlice> getActivatedSlices();
void saveMemoryUnit(MemoryUnit memoryUnit);
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.CapabilityMethod;
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.MemoryUnit;
import java.io.IOException;
import java.io.Serial;
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.CopyOnWriteArrayList;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -32,7 +33,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
private final Lock memoryLock = new ReentrantLock();
private ConcurrentHashMap<String, MemoryUnit> memoryUnits = new ConcurrentHashMap<>();
private List<ActivatedMemorySlice> activatedSlices = new CopyOnWriteArrayList<>();
// 默认值一般只存在于智能体初次启动时
private String memorySessionId = UUID.randomUUID().toString();
@@ -41,21 +41,6 @@ public class MemoryCore extends PartnerCore<MemoryCore> {
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
public void saveMemoryUnit(MemoryUnit memoryUnit) {
memoryLock.lock();

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.action.planner.evaluator.entity;
import lombok.Data;
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.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.exception.UnExistedDateIndexException;
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.MemoryUnit;
import work.slhaf.partner.core.memory.pojo.SliceRef;
import work.slhaf.partner.module.memory.selector.ActivatedMemorySlice;
import java.io.*;
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.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.memory.exception.UnExistedDateIndexException;
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.selector.evaluator.SliceSelectEvaluator;
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.cognition.CognitionCapability;
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.memory.selector.ActivatedMemorySlice;
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.EvaluatorInput;

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
import lombok.AllArgsConstructor;
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.util.Map;

View File

@@ -2,7 +2,7 @@ package work.slhaf.partner.module.memory.selector.evaluator.entity;
import lombok.Builder;
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.util.List;