Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 80 additions & 14 deletions docs/comparison/qwen-code-improvement-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,23 @@

| 优先级 | 改进点 | Qwen Code 现状 | 难度 | 进展 |
|:------:|--------|----------------|:----:|------|
| **P0** | Mid-Turn Queue Drain(工具批次间注入用户输入) | 推理循环内无队列检查 | 中 | PR [#2854](https://github.com/QwenLM/qwen-code/pull/2854) open |
| **P0** | 多层上下文压缩(4 层 vs 单一 70% 阈值) | 仅 ChatCompressionService | 中 | — |
| **P0** | Fork 子代理(隐式 fork + 上下文继承 + prompt cache 共享) | 仅预定义 subagent_type | 中 | — |
| **P1** | Speculation 默认启用 | v0.15.0 已实现,默认关闭 | 小 | PR [#2525](https://github.com/QwenLM/qwen-code/pull/2525) merged |
| **P1** | 会话记忆(SessionMemory + memdir 跨 session 检索) | 仅简单笔记工具 | 大 | — |
| **P0** | [Mid-Turn Queue Drain](./input-queue-deep-dive.md)(工具批次间注入用户输入) | 推理循环内无队列检查 | 中 | PR [#2854](https://github.com/QwenLM/qwen-code/pull/2854) open |
| **P0** | [多层上下文压缩](./context-compression-deep-dive.md)(4 层 vs 单一 70% 阈值) | 仅 ChatCompressionService | 中 | — |
| **P0** | [Fork 子代理](./fork-subagent-deep-dive.md)(隐式 fork + 上下文继承 + prompt cache 共享) | 仅预定义 subagent_type | 中 | — |
| **P1** | [Speculation](../tools/claude-code/10-prompt-suggestions.md) 默认启用 | v0.15.0 已实现,默认关闭 | 小 | PR [#2525](https://github.com/QwenLM/qwen-code/pull/2525) merged |
| **P1** | [会话记忆](./memory-system-deep-dive.md)(SessionMemory + memdir 跨 session 检索) | 仅简单笔记工具 | 大 | — |
| **P1** | Auto Dream(自动记忆整理,24h + 5 session 门控) | 缺失 | 中 | — |
| **P1** | 上下文折叠(History Snip,span 级摘要) | 缺失 | 大 | — |
| **P1** | 工具动态发现(ToolSearchTool,延迟加载 + 搜索) | 缺失 | 小 | — |
| **P1** | 智能工具并行(Kind-based Batching,默认 10 并发) | Agent 并发 / 其他顺序 | 小 | PR [#2864](https://github.com/QwenLM/qwen-code/pull/2864) open |
| **P1** | 启动优化(API Preconnect + Early Input Capture) | 完全缺失 | 小 | — |
| **P1** | 指令条件规则(frontmatter `paths:` + 惰加载) | 无 frontmatter / 条件加载 | 中 | — |
| **P2** | Shell 安全增强(25+ 检查 vs AST-only 读写分类) | 不覆盖 IFS/Unicode/Zsh | 中 | — |
| **P2** | MDM 企业策略(plist + Registry + 远程 API) | 无 OS 级策略 | 大 | — |
| **P2** | API 实时 Token 计数(vs 静态 82 模式匹配) | 静态模式匹配 | 中 | — |
| **P1** | [智能工具并行](./tool-parallelism-deep-dive.md)(Kind-based Batching,默认 10 并发) | Agent 并发 / 其他顺序 | 小 | PR [#2864](https://github.com/QwenLM/qwen-code/pull/2864) open |
| **P1** | [启动优化](./startup-optimization-deep-dive.md)(API Preconnect + Early Input Capture) | 完全缺失 | 小 | — |
| **P1** | [指令条件规则](./instruction-loading-deep-dive.md)(frontmatter `paths:` + 惰加载) | 无 frontmatter / 条件加载 | 中 | — |
| **P2** | [Shell 安全增强](./shell-security-deep-dive.md)(25+ 检查 vs AST-only 读写分类) | 不覆盖 IFS/Unicode/Zsh | 中 | — |
| **P2** | [MDM 企业策略](./mdm-enterprise-deep-dive.md)(plist + Registry + 远程 API) | 无 OS 级策略 | 大 | — |
| **P2** | [API 实时 Token 计数](./token-estimation-deep-dive.md)(vs 静态 82 模式匹配) | 静态模式匹配 | 中 | — |
| **P2** | Plan 模式 Interview Phase | 无 interview 阶段 | 中 | — |
| **P2** | BriefTool(异步消息 + 附件) | 缺失 | 中 | — |
| **P2** | SendMessageTool(多代理通信) | 缺失 | 中 | — |
| **P2** | [SendMessageTool](./multi-agent-deep-dive.md)(多代理通信) | 缺失 | 中 | — |
| **P2** | FileIndex(fzf 风格模糊搜索) | 依赖 rg/glob | 中 | — |
| **P2** | ConfigTool(工具化设置读写) | 仅 /settings 命令 | 小 | — |
| **P2** | 自动后台化 Agent(超时转后台) | 需显式指定 | 小 | — |
Expand All @@ -62,7 +62,7 @@
| **P3** | Advisor 顾问模型 | 缺失 | 中 | — |
| **P3** | Vim 完整实现(motions/operators/textObjects) | 基础 vim.ts | 中 | — |
| **P3** | 语音模式 | 缺失 | 大 | — |
| **P3** | 插件市场 | 缺失 | 大 | — |
| **P3** | [插件市场](./hook-plugin-extension-deep-dive.md) | 缺失 | 大 | — |

> 详细的 Claude Code 实现机制和建议方案见下文 Top 5 详细说明及各 [Deep-Dive 文章](#五相关-deep-dive-文章)。

Expand All @@ -87,6 +87,16 @@
- 源码: `packages/core/src/services/chatCompressionService.ts`(369 行),基于固定 token 阈值(70%)的单一压缩策略
- 无 micro-compact、无 memory-aware compact、无 API 原生上下文管理

**缺失后果**:
- 长会话中工具结果(大文件内容、长命令输出)持续累积,用户必须手动执行 `/compress`,否则上下文溢出报错
- 压缩时一次性丢弃所有历史,丢失已提取的会话记忆——压缩后模型"失忆",需重新描述上下文
- 无 `cache_edits` API 支持——每次压缩重建整个 prompt cache,浪费 cache write tokens

**改进收益**:
- **MicroCompact**:自动在 turn 间裁剪旧工具结果,长会话可无限延续而无需手动干预
- **Session-Memory Compact**:压缩时保留关键记忆 + 最近 5 个文件重注入——压缩后模型仍能"接着干"
- **多级阈值**:~93% 自动触发(Claude Code 默认)vs 70% 手动触发——用户感知不到压缩发生

**相关文章**:
- [上下文压缩深度对比](./context-compression-deep-dive.md)

Expand Down Expand Up @@ -116,6 +126,16 @@
- 源码: `packages/core/src/subagents/` — 子代理管理器,但仅支持预定义类型
- 无法 fork 当前会话上下文,无法继承对话历史

**缺失后果**:
- 子代理无法获得父代理的对话上下文——每次委派任务都需要在 prompt 中重复描述背景,增加 token 消耗和信息丢失风险
- 每个子代理的 API 请求前缀完全不同——无法共享 prompt cache,5 个子代理 = 5× 完整 prompt 费用(100K context 下约 500K tokens vs fork 模式 ~105K)
- 用户必须显式指定 `subagent_type`——模型无法自然地"分叉去做",降低了自主性

**改进收益**:
- **上下文零成本传递**:子代理继承完整对话历史,无需重复描述——任务理解准确率提升
- **Prompt Cache 共享**:N 个 fork 子代理共享一份缓存,成本从 N× 降为 ~1×——典型场景节省 80%+ token 费用
- **隐式调用**:省略 `subagent_type` 即 fork——降低模型认知负担,让委派更自然

**相关文章**:
- [Fork 子代理 Deep-Dive](./fork-subagent-deep-dive.md)
- [Claude Code 多代理系统](../tools/claude-code/09-multi-agent.md)
Expand Down Expand Up @@ -149,6 +169,15 @@
- 已实现 `acceptSpeculation()` + `generatePipelinedSuggestion()` + 边界检测
- **当前限制**:`enableSpeculation` 默认关闭,需用户手动开启

**缺失后果(默认关闭)**:
- 用户每次按 Tab 接受建议后,仍需等待完整的 API 调用 + 工具执行——典型等待 2-10 秒
- 无法实现"Tab-Tab-Tab"连续操作模式——每次接受后都有延迟中断

**改进收益(默认开启后)**:
- **零感知延迟**:建议展示时 speculation 已在后台预执行,Tab 接受后结果立即呈现
- **Pipelined Suggestion**:speculation 完成后自动预生成下一个建议——用户可连续 Tab 操作
- 预计首次交互延迟改善 2-5 秒(取决于工具执行时间)

**相关文章**:
- [Claude Code 提示建议](../tools/claude-code/10-prompt-suggestions.md)
- [启动阶段优化深度对比](./startup-optimization-deep-dive.md)
Expand Down Expand Up @@ -183,6 +212,16 @@
- 无记忆 (Memory) 提取/检索机制
- 无记忆 (Memory) 生命周期管理

**缺失后果**:
- 每次新 session 从零开始——用户需反复告知项目背景、编码规范、已踩过的坑
- 复杂项目中同一问题被多次排查——前次 session 的发现未持久化
- 与 `/compact` 冲突——压缩后丢失的上下文无法从记忆中恢复

**改进收益**:
- **跨 session 连续性**:关键决策、文件结构、技术栈信息自动提取并持久化——新 session 自动注入相关记忆
- **压缩后恢复**:记忆在 compact 时被保留(session-memory compact),模型不会因压缩而"失忆"
- **项目级知识积累**:多人/多 session 的发现汇聚为项目知识库——团队共享学习曲线

**相关文章**:
- [记忆系统深度对比](./memory-system-deep-dive.md)

Expand Down Expand Up @@ -215,6 +254,16 @@
**Qwen Code 现状**:
- 完全缺失此功能

**缺失后果**:
- 记忆文件(QWEN.md / MEMORY.md)随使用增长无限膨胀——token 预算被陈旧记忆占满
- 相互矛盾的记忆(旧决策 vs 新决策)共存——模型收到冲突指令
- 用户需手动清理过时记忆——违背"AI 代理应自治"原则

**改进收益**:
- **自动整合**:后台 agent 定期合并、去重、删除过时记忆——记忆始终精简且一致
- **门控保护**:仅在 24h + 5 session 门控同时满足时触发——避免频繁整理干扰正常使用
- **并发安全**:文件锁防止多进程同时整理——适合多终端/CI 场景

**建议方案**:
1. 实现 DreamConfig:定义时间门控和 session 数量门控参数
2. 实现 DreamScheduler:在 post-sampling hook 中检查门控条件
Expand Down Expand Up @@ -247,6 +296,8 @@

## 五、相关 Deep-Dive 文章

### 对比分析(Claude Code vs Qwen Code)

| 改进领域 | 文章 |
|----------|------|
| Mid-Turn Queue Drain | [输入队列与中断机制](./input-queue-deep-dive.md) |
Expand All @@ -259,5 +310,20 @@
| MDM 企业配置 | [MDM 企业配置管理](./mdm-enterprise-deep-dive.md) |
| 遥测架构 | [遥测架构](./telemetry-architecture-deep-dive.md) |
| Token 估算 | [Token 估算与 Thinking](./token-estimation-deep-dive.md) |
| Speculation | [Prompt Suggestions](../tools/claude-code/10-prompt-suggestions.md) |
| 会话记忆 | [记忆系统](./memory-system-deep-dive.md) |
| 多代理通信 | [多代理系统](./multi-agent-deep-dive.md) |
| 插件/Hook 扩展 | [Hook 与插件扩展](./hook-plugin-extension-deep-dive.md) |
| MCP 集成 | [MCP 集成](./mcp-integration-deep-dive.md) |
| 功能矩阵 | [功能对比矩阵](./features.md) |

### Claude Code 源码文档

| 领域 | 文章 |
|------|------|
| 架构总览 | [技术架构(22 节)](../tools/claude-code/03-architecture.md) |
| 工具系统 | [工具系统](../tools/claude-code/04-tools.md) |
| 多代理 / Swarm | [多代理系统](../tools/claude-code/09-multi-agent.md) |
| Prompt Suggestions | [Prompt Suggestions + Speculation](../tools/claude-code/10-prompt-suggestions.md) |
| 终端渲染 | [终端渲染与防闪烁](../tools/claude-code/11-terminal-rendering.md) |
| 设置与安全 | [设置与安全](../tools/claude-code/06-settings.md) |
| 会话与记忆 | [会话与记忆](../tools/claude-code/07-session.md) |