Qwen Code 改进建议
April 13, 2026 · View on GitHub
核心洞察:当开发者在复杂项目中多次调用特定的代码助手(比如一个被配置为
Code Reviewer或DB Expert的特定子 Agent)时,往往需要一遍遍地告诉它:“本项目缩进为 4 空格”、“不要使用 any”、“数据库用的是 Postgres 不是 MySQL”。一旦终端会话结束,Agent 刚刚学到的宝贵经验瞬间灰飞烟灭。Claude Code 为衍生 Agent 独创了 3 级(User / Project / Local)分离式持久化记忆体系,让 Agent 拥有了跨会话的记忆进化能力;而 Qwen Code 目前所有的 Agent 每次启动均是“失忆”状态。返回 改进建议总览
一、为什么 Agent 会“反复失忆”?
1. Qwen Code 现状:短暂的上下文生命周期
Qwen Code 的所有上下文状态(除了用户硬编码的 System Prompt 字符串外)都只存在于当前的 Session 内存或长对话历史中。
- 痛点:对于通用 Agent,你可以每次手动传入一条长长的 Prompt。但如果你创建了十个特定职能的 Agent,它们在执行不同任务时踩了坑(比如发现某个库的版本不兼容,或者某种编译参数在这个项目跑不通),这些用 Token 和时间换来的血泪教训,在
AgentTerminateMode.SUCCESS后就被丢弃了。
2. Claude Code 解决方案:3 级独立挂载体系
在 Claude Code 的 tools/AgentTool/agentMemory.ts 中,为 Agent 引入了独立于核心历史文件的“独立脑区”。
如果在创建一个 Agent 时,在它的配置中指定了 memory 级别,系统会自动在磁盘上为它开辟存储区,并默认为它授权一组针对该存储区的 Read/Write/Edit 工具,让大模型可以通过操作工具自己写笔记!
级别 1:User Memory (全局通用)
存储在操作系统的 Home 目录下(例如 ~/.claude/agent-memory/[agent-id].md)。
Agent 在任何项目下启动,都会自动包含这份记忆。适合记录开发者个人的通用偏好。
级别 2:Project Memory (项目通用)
存储在项目代码库中(例如 .claude/agent-memory/[agent-id].md)。
设计用于团队共享。这部分记忆会被提交进 git 仓库。比如“前端代码审查 Agent”在里面记下了整个团队约定的 React Hooks 闭坑指南,所有 pull 代码的新人都能直接享受到一个“老练”的 Agent。
级别 3:Local Memory (项目私有)
存储在项目的忽略目录下(例如 .claude/agent-memory-local/),并自动加入 .gitignore。
用于记录只针对当前环境的机器差异(比如这个开发者的本地 MySQL 端口是 3307)。
二、Qwen Code 的改进路径 (P1 优先级)
赋予多 Agent 真正自我进化的知识积累能力。
阶段 1:设计 Memory 层级与生命周期
- 在
packages/core/src/agents/下新增agentMemoryService.ts。 - 定义 3 级路径解析逻辑,根据当前执行的
agentId(如果是子代理) 或者是Main(主交互代理),定位到对应的三个.md记忆文件。
阶段 2:系统提示注入 (Context Injection)
在 agent-core.ts 组装 System Prompt 时:
- 提取上述 3 级文件内容。
- 附加一段明确的系统指令:
"Here are your persisted memories from previous sessions. These are critical rules and past learnings. You MUST abide by them."
- (为节省 Token,可配合 Token Budget 拦截,截断超过 4KB 的部分)。
阶段 3:赋予 Agent 自我编辑能力
针对带有记忆能力启动的 Agent,向它的工具列表中动态注入一套“记忆读写微型工具集”:
WriteMemoryTool: 追加一行新学习到的规则。EditMemoryTool: 清除或修改过时的规则。 这样大模型就能在执行任务结束前(或者发现踩坑时),自己把知识沉淀到硬盘中,留给明天的自己!
阶段 4(可选):参考 Hermes Agent 闭环学习设计
Hermes Agent 提供了一个更完整的参考:它不仅有 3 级记忆层级,还实现了"冻结快照 + 双计数器 Nudge + 后台 review 子代理 + 自修补"的完整闭环。关键经验:
- 冻结快照模式(
tools/memory_tool.py:11-14):会话开始时拍 memory 快照注入 system prompt,会话内 disk 写入不改 system prompt —— 保护整个会话的 prefix cache 命中率 - 双独立计数器:
_turns_since_memory(10 用户回合)+_iters_since_skill(10 次工具调用),分开管理 memory 和 skill 学习 - Post-response Review 子代理:绝不与主任务抢模型注意力(
run_agent.py:10183-10191) EditMemoryTool进阶到patch自修补:发现过时立即就地修补,不等用户指示
这些可直接 backport 到 qwen-code 的 agentMemoryService.ts 设计中。详见 闭环学习系统深度对比。
三、改进收益评估
- 实现成本:中等。核心是管理文件路径注入,并提供安全受限的配套改写工具。
- 直接收益:
- 复用增效:彻底消灭“重复调教 AI”的挫败感,极大提升高频用户的黏性。
- 知识资产化:将资深员工在大模型交互中纠正的经验固化到了
Project Memory中,实现代码库与“大模型审查规则库”同生同长。