1 分钟阅读
为什么 Claude Code 放弃了 Todos 和斜杠命令
Anthropic 在两天内同时用 Tasks 替换了 TodoWrite,用 Skills 替换了斜杠命令。两个变化指向同一个方向 - 给模型松绑。
在两天时间里,Anthropic 同时对 Claude Code 做了两项改动。Todos 变成了 Tasks,斜杠命令变成了 Skills。两者都被表述为”现有功能,行为不变” - 很容易被忽视。但这两个变化指向的方向完全一致。
为什么 TodoWrite 消失了
Anthropic 的解释很有启发性:“Opus 4.5 能够自主运行更长时间,并且能够更有效地追踪状态。对于小任务来说,TodoWrite 已经不再必要。”
- 模型已经能够自己弄清楚需要做什么
- 单独的待办事项列表成了负担而不是帮助
- 核心动作是松绑 - 移除限制模型能力的约束
模型本来就有这个能力。是工具在拖后腿。
为什么斜杠命令变成了 Skills
同样的逻辑也适用于此。斜杠命令的设计理念是渐进式披露 - 只在需要时加载上下文。随着模型变得更智能,这种方法不再是最优的。
- Skills 自动读取相关文件来组装上下文
- SKILL.MD 文件可以引用其他文件,实现多步骤的上下文链
- 从模型的角度看,没有理由把这个拆分成单独的工具
共同点:移除简单工作的脚手架
这两个变化的模式如下:
- Todos:模型自己就能处理,所以工具没必要
- 斜杠命令:模型自己就能加载上下文,所以特殊语法没必要
两者遵循同样的哲学:随着模型能力提升,移除那些用来弥补其局限性的脚手架。Anthropic 把这叫做”松绑” - 解开枷锁。
然而 Tasks 和 Skills 变得更强大了
这里有个悖论。简单工作的工具消失了,但复杂工作的抽象却变得明显更复杂了。
Tasks 新增的能力:
- 任务之间的依赖和阻塞关系作为元数据存储
- 基于文件系统的协调,让多个会话和子代理可以协作
- 一个会话中的更新自动反映到共享同一任务列表的所有会话
Skills 新增的能力:
agent:设置可以创建一个加载了技能的子代理context: fork选项可以将当前完整上下文克隆到单独的子代理- 细粒度控制谁可以调用技能 - 用户、模型,或两者都可以
代理设计的新原则
我从这两个变化中读出的原则是:
- 简单任务:交给模型,移除工具
- 复杂协作:为共享状态和上下文隔离构建结构
像 CLAUDE_CODE_TASK_LIST_ID=groceries claude 这样的环境变量可以让多个会话共享同一个任务列表。结合 Skills 的子代理集成来分割上下文,你可以同时运行多个工作流。这就是 Claude Code 提出的多代理协作的基本骨架。
随着模型变得更智能,简单的脚手架会消失,只剩下协作层。
代理系统的未来不是赌注押在单个代理的能力上。而是设计多个代理如何分割和合并状态。这才是未来最重要的事情。
订阅通讯
获取关于我最新项目、文章以及 AI 和 Web 开发实验的更新。