30 秒看懂
尽管对 Claude Code 有其他批评,Theo 回顾了自己看重的功能。他演示技能脚本、指令文件导入、会话控制和多智能体 PR 审查,并讨论安全、可靠性和用量成本。
- 1动态技能上下文脚本可以在加载技能时提供有用上下文,但任意代码执行也带来风险。
- 2导入共享指令CLAUDE.md 可以导入 AGENTS.md 等文件,同时保留工具专属指令。
- 3旁支提问和工作树Theo 介绍旁支提问命令和临时隔离的工作目录。
- 4代码生成的工作流对 15 个 PR 的审查分为只读审计、裁定和验证阶段。
- 5用量与代码有效性Theo 的工作流消耗了大量推理用量,生成的脚本也可能无效。
- 6分支与远程控制回退、分支和远程访问为管理或继续会话提供了方式。
要点建议
- 脚本可以在技能加载时提供动态上下文,但执行不可信代码有风险。
- 文件导入可以复用共享指令,同时保留工具专属说明。
- 旁支提问和工作树可以让并行工作更容易管理。
- 生成的工作流可以协调多个智能体,执行针对任务定制的审查。
- 并行工作流可能消耗大量用量,生成的代码需要审查。
按章节阅读整理后的全文
为什么谈优点
尽管有批评,Theo 希望其他工具借鉴他喜欢的功能。他从技能脚本开始。
我对 Claude Code 有不少抱怨,尤其是桌面应用,但最近大量使用后,我发现了一些喜欢的功能。Anthropic 不是这次讨论的赞助商。我的目标是让其他智能体工具借鉴这些好想法,这样我在别处也能使用。
技能主要是 Markdown,但 Claude Code 可以在加载技能时运行脚本。这样有用的信息可以立即进入模型上下文,不必另做一次工具调用。例如,我的 Repo Explorer 技能帮助智能体在本地仓库缓存中检查依赖的实现。
这个技能检查哪些仓库已经缓存;如果需要的仓库不在,智能体就可以克隆并在当前工作区之外探索。加载时注入缓存列表可以简化指令。其他工具可能需要显式步骤或扩展才能提供类似行为。
这里存在真实的安全权衡:能执行任意代码的技能可能运行有害内容。我愿意使用这个功能,也认为一些批评反应过度,但这是我的判断,不能保证安装的技能安全。代码及其来源仍然重要。
指令与会话链接
他演示文件导入、本地偏好和启动会话的链接,帮助组织上下文和访问。
我也觉得 CLAUDE.md 和 AGENTS.md 是不同约定很麻烦,尽管针对 Claude 的指令可能有用。Claude Code 支持在 CLAUDE.md 中使用 @path/to/import 导入文件。引用内容在启动时加载,相对路径以导入文件的位置为基准。

我可以导入 AGENTS.md,再在 CLAUDE.md 里添加针对 Claude 的指令,避免重复维护共享说明。README 或包元数据等文件也可以引入。单独的本地指令文件可以保存个人偏好,而不影响其他团队成员。
另一个发现是用于启动会话的 claude-cli:// 链接协议。我可以想象一份 HTML 计划中放一个链接,用来打开相应任务和工作目录。Theo 指出,当智能体运行在另一台机器上时,这种方式不那么方便;他也注意到 Codex 有深层链接。
旁支提问与工作流
Theo 展示旁支提问和隔离工作树,然后让智能体审查未合并的 PR。工作流使用生成的代码和并行智能体。
在 Claude Code 内,我喜欢用 /btw 在主任务继续时快速提出旁支问题。我让智能体处理一个 PR 的同时询问了备份性能。我也注意到其他工具开始提供类似的旁支对话。

我发现 worktree 选项对临时任务很有用:创建隔离的工作目录、完成工作、提交 PR,之后再丢弃。总体而言我并不最喜欢 worktree 这种抽象,但它让短期实验变得方便。
我最想展示的是工作流。我要求它审查 15 个未合并的 PR:识别被取代的工作、可以合并的项目和仍需处理的项目。我还要求智能体在运行工作流前先展示它准备使用的代码。
有趣的想法是代码模式。智能体不必把每一个工具结果都留在模型上下文中,可以编写代码调用工具,再通过程序筛选结果。这样它可以构造适合任务的流程,而不必局限于固定的调用顺序。
另一个我喜欢的小界面细节是全屏终端渲染。它使用备用屏幕,退出时恢复原来的终端视图,不过对正常滚动历史的访问会改变。我让智能体帮我修好了 SSH 和 tmux 环境下的滚动问题。
PR 审查形成了包含审计、裁定和验证阶段的工作流。在我演示的设置中,最多有八个智能体并行运行,之前的工作完成后会启动更多智能体。流程可以决定哪些结果需要额外阶段,而不是对每个 PR 一视同仁。

成本与工作流内部
他提醒用量成本,并讲解生成的审查流水线。生成的代码也可能失败。
这种灵活性代价不低。在一次使用 Fable 的测试中,我估计八智能体工作流每十分钟消耗约 100 美元的推理用量。这只是当时特定设置下的估计,并非通用价格;不同模型、套餐和工作负载会改变成本。
生成的代码可以让每个工作流适应具体任务,但也可能无效或不兼容。我见过模型在尝试突破功能限制时生成错误的 JavaScript。生成的流程仍需要检查和验证。

在这次审查中,脚本定义了三个阶段:对每个 PR 进行只读审查、对重叠变更作出裁定,以及由对抗性验证者核对处理结论。它收集 PR 标题、分支、草稿和可合并状态、先前发现以及主分支近期历史,然后将相关工作分组。
代码根据每个 PR 动态生成提示,并在有先前信息时加入上下文。验证提示要求智能体检查实际仓库状态,且不要修改它。随后流水线利用这些输入和函数分派子任务。
模型为一个预期只运行一次的工作流编写了约 240 行代码。在我看来,这说明了一个转变:代码可以成为模型运行之间的中间步骤,而不只是最终产物。它也消耗了我用量窗口中的相当一部分,因此使用时要考虑成本。
会话控制
Theo 讨论切换账号、回退、分支和远程控制,最后说明本视频暂时搁置了工具的缺点。
我还根据自己的经历介绍了工作流运行时切换账号的情况。这种行为及适用的账号规则可能变化,我的演示不应被视为普遍适用的权限,也不应视为运行触及限额后的可靠恢复策略。
另外两个有用的控制功能是 rewind 和 branch。提示发错时,我会用 rewind 回退,但如果误操作,向前恢复可能很困难。想带着现有历史转向另一个方向时,branch 很有用。
最后,我试用了远程控制:通过网页或手机访问运行在自己电脑上的 Claude Code 会话。演示中出现了 JSON 解码错误,但我喜欢外出时也能看到同一次运行。我这次有意聚焦优点,今后可能另谈缺点。
同频道的其他文章
38:47EN → 简体中文
36:07EN → 简体中文
30:37EN → 简体中文
0:43EN → 简体中文
29:22EN → 简体中文
31:13EN → 简体中文