上篇我们拆解了 WorkBuddy 的技术细节,本篇把镜头对准阿里云的 QoderWork——一款把 AI 从“聊天问答”升级为“说需求、交结果”的桌面智能体。我们延续“从安装包与运行机制看实现”的路线,对它最有趣的几个子系统做代码级拆解:意识(记忆)系统、会话工程管理、Skill 技能引擎,以及常被忽视却决定“能不能真干活”的 Shell 环境一致性。
2026 年 5 月 20 日,阿里云把“通义灵码”升级为 Qoder CN,标志着其从“AI 编程助手”迈向“AI 智能体家族”。这个家族包含四类形态:面向编码的 Qoder CN(IDE / JetBrains / VS Code 插件)、面向办公的桌面应用 QoderWork CN、终端原生的 Qoder CN CLI,以及面向企业的云端平台 Qoder Cloud Agents。
本篇的主角 QoderWork 定位为“本地运行的 AI 智能体工作台”。它的核心承诺不是给你建议,而是直接产出可用成果:整理文件、分析数据、生成 PPT/Word/Excel/PDF、跑浏览器自动化,乃至指挥一支多 Agent 团队完成完整项目。
与聊天工具的本质区别 ① 运行位置:纯本地,数据不出电脑;② 组织方式:以“任务”为单位,可回溯、可继续、可监控;③ 能力边界:可操作本地文件、连接 MCP 工具;④ 扩展性:专家套件 + 技能广场 + 自定义 Skills;⑤ 协作:多 Agent 员工编排,模拟真实团队。
在隐私与可控上,QoderWork 走“本地优先”路线:文件操作在本地完成,仅访问用户明确授权的工作目录;删除文件先进入“保护区”安全回收而非直接抹除;权限可随时撤销。需要强调:为了实现理解与分析,相关文本内容仍会发给大模型 API,但原始文件不离开本机。
把 QoderWork 的工程实现抽象出来,是一个松耦合的交互层 / 决策层 / 执行层结构,外套一层“安全边界”——仅访问授权目录、权限沙箱、操作审计。

图 1 · QoderWork 本地优先总体架构:交互层三模式、决策层规划/记忆/MCP、执行层本地沙盒
QoderWork 继承了 Qoder IDE 的“三模态”思路,用分级自主性来平衡“AI 能干活”与“用户不失控”:
维度 | Ask 模式 | Agent 模式 | Quest 模式 |
|---|---|---|---|
交互方式 | 即时问答 | 多轮对话迭代 | 一次性委托 |
执行权限 | 只读 | 读写(需确认) | 全权限(预设边界) |
上下文 | 单轮对话 | 多轮会话 | 全项目上下文 |
技术内核 | RAG + 检索 | ReAct / CoT 推理 | 自主规划 + 工具链编排 |
适用场景 | 查 API 用法 | 解释/重构代码 | 端到端报告、复杂数据处理 |
在 Quest 之上还有两个进阶形态:Quest 2.0 会自动拆解复杂需求,结合 Repowiki(项目知识库)与 Subagent(子智能体)做端到端交付;专家团模式(Experts) 则模拟真实开发团队,自动组建前/后端、数据库、运维、测试等专家智能体并行协作。
模型路由:成本与性能的平衡 底层支持 Qwen(3.7 Max 限时免费)、GLM、DeepSeek、Kimi、MiniMax 等国内主流大模型自由切换——简单任务走轻量模型,复杂推理切更强模型。另有 2026 年 5 月上线的设计工作台(Design Desk):用 Questions / Design Plan / Nudge 三段机制,把自然语言或语音直接变成“可运行、可编辑、可交付”的设计产物,并一键回流到 Qoder IDE,实现“设计即代码”。
2026 年 6 月,QoderWork 上线“意识功能”,把记忆、反思、技能进化三大模块整合为一个子系统(代码层称 Awareness)。它最值得拆解的,是记忆不是简单地把 Markdown 读进 Prompt,而是一套带索引、有分层、能自我反思的工程化管道。
记忆分两层:短期记忆承载临时对话;长期记忆把具备复用价值的信息自动升级沉淀。所有记忆以标准 Markdown 本地存储,用户可随时查看、编辑、删除。在其之下,awareness/main/ 目录配套了 .index.sqlite、memory_meta.json(记忆分级 normal / critical)、hash-state.json(增量检测)——也就是说,它不是一个轻量读取器,而是一个带索引的记忆引擎。
检索链路如图 2:源文件先做分块(chunk),写入 chunks 表;同时建立 FTS5 全文索引。这里有个巧思——分词器选了 trigram 而非 porter / unicode61 / simple,因为 trigram 对中文天然友好:“上下文管理”会被切成“上下/下文/文管/管理”,无需额外中文分词器,英文也能正常工作。

图 2 · 记忆 RAG 管道:分块 → FTS5(trigram) 索引 → JIT 双路检索 → 按重要性注入(Project 40K 预算)
关键设计点:
files 表只存 hash + mtime,不存内容;chunks 表存分块文本,理论上可从 Markdown 完整重建。即使 .index.sqlite 损坏,删后重新索引即可恢复,记忆不丢。chunks_fts → 按 memory_meta.json 的重要性排序(critical > normal)→ 在 Project 层 40K token 预算内注入。searchKeyword() 先用 FTS5 MATCH + BM25 排名(候选量 = maxResults × 4 = 24),失败则回退到 LIKE '%term%';两边去重合并、按 BM25 排序取 top-6,最低分 0.1,全文片段截 700 字符。意识系统最独特的一层是“反思”。它让记忆能在使用中持续变好,且及时生效:

图 3 · 反思进化闭环:每日日志 → 24h 蒸馏 → 反思 MEMORY.md/USER.md → 备份 → 更新 → 重索引 → 下次会话生效
完整循环:每日日志累积 → 24h 后蒸馏到 MEMORY.md → Agent 定期反思 MEMORY.md 与 USER.md → 修改前备份为 .reflection-bak → 更新内容 → hash 变化触发重索引 → 下次会话生效。反思时若发现旧表述需修正,会追加更新、旧版存入备份。
防崩溃护栏(这套设计最见功力) ① 修改前自动备份 .reflection-bak,回滚前做并发冲突检测(当前文件有新条目不在备份中 → 放弃回滚);② token 保留率校验:低于 65% 说明反思模型大规模删内容 → 放弃;③ 被驱逐条目不真正删除,写入 .memory_evicted.log 永久留存;④ maintenancemode="manual" 时整个反射引擎静默。
Agent 跑长任务最怕两件事:进程崩了进度没了、文件泄露了。QoderWork 对会话状态用“三重冗余”分别应对:

图 4 · 会话状态三重冗余(流式 / 压缩 / 加密)+ 目录名结构化路径编码实现隔离与多租户
另一个巧妙点是目录名的结构化路径编码:项目目录形如 projects/-Users-liuhuanyong--qoderworkcn-workspace-mrahhyknmz2w5xtk,编码出 home(/Users/liuhuanyong)与 workspace(mrahhyknmz2w5xtk)。它不是 base64,而是可解析的结构化编码——这意味着同一用户在同一 workspace 下的所有会话自动聚合,不同用户天然隔离;若做团队版,只需在路径中插入 team_id 即可实现多租户。
每个 QoderWork 技能不只是 SKILL.md,还带一个 .skill-metadata.yaml。后者预定义了多个示例任务,每个含中英文双语标题、描述和完整 prompt 模板,模板里用 {{变量名}} 占位符。

图 5 · Skill = SKILL.md + .skill-metadata.yaml;后者把技能变成“Prompt 模板引擎”(对比 Claude Code)
这本质上是一个 Prompt 模板引擎:用户不需要写任何 prompt,选择示例 + 填入参数即可。以 docx 技能为例,它定义了 5 个示例任务——md-to-docx(自动 CJK 排版)、fill-template(用结构化数据填 {{token}})、extract-content(提取文本/标题/表格/图片)、ooxml-patch(底层 OOXML 修订、批注)、convert-to-pdf(LibreOffice headless 转 PDF)。
内置 10 个技能 create-skill · docx · find-skills · install-skill-dependency · pdf · plugin-creator · pptx · qoderwork-guidance · vm-error-recovery · xlsx
这也是它区别于 Claude Code 的关键创新:Claude Code 的 SKILL.md 只是指令文本,而 QoderWork 增加了参数化示例,让非技术用户也能“选模板即用”,把技能沉淀成了可复用的能力卡片。
绝大多数 AI Coding 工具都踩过同一个坑:Agent 跑 Shell 时,环境与用户在终端不一致(PATH 不同、alias 不生效、conda 环境不对),于是“找不到命令”“python 路径不对”。QoderWork 的解法是在每次会话启动时抓取完整的 zsh 环境快照。

图 6 · Shell 快照保障 Agent 环境与用户终端一致;tool-outputs 做会话级隔离
shell-snapshots/snapshot-zsh-{timestamp}-{random}.sh 捕获会话启动时刻的完整 zsh 环境,包括所有 alias、function 定义、环境变量(含 conda 配置)。Agent 执行 Shell 命令时引用该快照,行为与用户在终端完全一致。作为本系列的延续,这里自然要和“上篇”的 WorkBuddy 放在一起看。两者在设计理念上高度一致——都采用注入文件 + 哈希追踪 + 分层记忆的模式;差异主要在工程化的深度。
维度 | QoderWork | WorkBuddy | Claude Code / Cursor |
|---|---|---|---|
运行位置 | 本地优先(数据不出电脑) | 本地 + 云端双模式 | 本地 / 编辑器内 |
记忆系统 | Markdown 源 + FTS5 索引 + 反思蒸馏 | 分层(CloudMemory + User/Workspace MEMORY.md + 日志),无 FTS5、无自动反思 | SKILL.md / 上下文为主 |
技能系统 | SKILL.md + .skill-metadata.yaml(参数化示例) | SKILL.md 指令 + 自动加载 | SKILL.md 指令文本 |
工作模式 | Ask / Agent / Quest(+Quest 2.0 / 专家团) | Craft / Plan / Ask | Agent / Plan 等 |
多 Agent | 专家团 / 多 Agent 协作 | 支持(子代理) | 子代理 |
安全 | 本地沙箱 + 保护区 + 审计日志 | 本地 + 权限控制 | 权限 / 沙箱 |

图 7 · 记忆系统对比:两者理念一致,差异在“索引层(FTS5)”与“自动反思蒸馏”的工程化深度
一句话总结差异:WorkBuddy 的记忆质量依赖 Agent 在每个 session 里的自主判断;QoderWork 用 .index.sqlite + memory_meta.json 提供了更精细的记忆条目管理与自动反思蒸馏,把“记忆”真正做成了可持续演进的子系统。
“把记忆做成可检索、可反思、可恢复的子系统,是桌面 Agent 从‘能聊’走向‘能干活’的分水岭。”
本文分享自 Agent 政企应用研习社 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!