evolve-agent[本地多层记忆化存储管理的评估反思AGENT]

项目定位

Evolve Agent 是一个本地优先、可扩展的智能 Agent 项目。

它把长期记忆、MCP 工具调用、本地 SKILL.md 能力注入、评估反馈和自我反思放在同一个运行框架里,目标是让 Agent 不只是一次性问答模型,而是一个能长期协作、能接工具、能被持续评估和演进的个人智能助手底座。

对话流程

  1. CLI 用户输入 2. 进入大类evolveagent 3.分配给manager agent 4. 搜索长期记忆 5.长期记忆和用户需求封装进prompt,规划是否使用工具 5.检查工具权限 6.执行MCP工具 7.匹配本地skill 8.生成回答 9.保存记忆 10.评估回答 11.必要时候反思

manager Agent

1.work flow

1
会话管理 -> 看是否有因为权限而阻塞的工具调用任务(用户给权限->执行、加入会话消息列表,用户不给,加入会话消息列表,用户不确定,再次弹窗需要用户回答) ->若无/已完成工具调用任务,就开始记忆搜索
记忆搜索

用用户输入作为querry,最多寻找10条相关记忆,将Querry和记忆内容分词,然后检索分词overlap F1 分数,超过0.7,会把记忆加入prompt,最多加入10条

工具agent

判断这一轮对话是否需要调用工具,(是否,什么,如何),如果需要,返回json列表,调用工具名称和相关参数。

然后检查工具是否需要用户授权。

授权维护一个工具白名单:只读、公开数据访问(web搜索工具),不修改本地或者外部状态的工具,可以执行。

传入prompt让小参数模型自动对工具进行分类,L3及以上需要用户确认,二次确认等

L0 不调用工具 直接让模型回答 普通知识问答、写作、解释代码
L1 公开只读工具 默认自动执行 天气查询、网页搜索、查公开文档
L2 受限只读工具 可自动执行,但要限制资源范围 读取项目内文件、查看本地状态、查询数据库只读接口
L3 有副作用但可逆 用户确认后执行 创建文件、修改草稿、打开浏览器、发送测试请求
L4 高风险或外部可见 二次确认 发邮件、发消息、提交表单、改数据库、推送代码
L5 危险或不可接受 默认禁止 经典命令rm -rf ,删除大量文件、执行任意 shell、泄露密钥、绕过权限、访问未授权路径

如果因为权限问题,询问用户,就把这个需要调用的工具加入session列表,然后等待下一个循环。

如果工具正常秩序,就把数据结果返回保存进会话列表,在下一个循环传入给LLM

问答
存储记忆

把整个对话包装成为一个memoryentry字典,然后记忆全量写入一个json

优化点:借入LLM抽取稳定事实、去重/合并相似记忆、压缩对话摘要、淘汰策略

评估整体回复质量

调用评估agent,对生成的回复进行打分,获得evaluation_score用于agent判断是否需要反思。

反思

1.对话轮次到达一定数目 2.evaluation_score分数低 3.用户要求

调用反思agent,基于当前输入、回复和记忆上下文生成一段 reflection,并且存入记忆JSON

更新会话消息

生成回复之后,再更新会话消息。回复包括:llm回复、会话ID、记忆、工具执行数量、反思内容、回复质量。

2.组装prompt

加载skill

在与llm会话前,先根据用户输入,扫描一下skill文件夹skill.md的所有前面的skill摘要,选择是否需要使用skill

正常对话

1.agent角色 + 长期记忆 + 匹配到的skill摘要 + 工具执行结果 + 当前任务要求 传入子agent进行工作

不用agent 异步调用async

记忆

工作流写了,直接存储所有对话 + 中文分词 和用户输入计算分词匹配度

MCP

用户可以通过cli /MCP 命令配置mcp服务器,然后agent会在需要调用工具的时候通过mcp server获取工具列表,让工具agent判断是否调用,调用后将调用过的工具维护在当前会话工具agent的工具白名单。

Agent设计

基类 AGENT

维护agent id ,名字 ,功能描述,异步锁

AGENT共有方法:初始化,执行,关闭

managerAgent

整体工作流,分析任务并行给到不同的agent,异步等待结果,并且最终调用llm做出总结

menory agent

具体负责记忆存储,把manager给的记忆列表保存在JSOn里面,更新记忆、删除记忆,overlap搜索记忆、清空记忆等等

工作流一般是用到搜索记忆,和存储记忆

tool Agent

工具agent,方法:

plan:是否需要调用工具

permission:检查工具权限

execute:执行工具

list_tool:plan之前列出mcp所有工具列表

get_tool:获取单个工具的具体调用信息

evaluate Agent

主要负责评估agent返回质量:获得evaluation_score

评估策略:

高分回答触发风格学习,把反思提炼成风格建议,写入独立的风格记忆文件,再在生成回复时注入 prompt;同时给风格记忆加长度上限和裁剪规则。

Reflection Agent

反思,学习,获得改进意见,周期执行(manager agent获得10轮次以上对话记录之后)