6. 可迁移的方法论
5. 案例四:渐进披露与 Guide Subagent
4. 案例三:搜索接口与上下文构建
3. 案例二:Todos -> Tasks
2. 案例一:AskUserQuestion
1. 总问题与主论点

文章在回答什么

  • Agent Harness 的 action space 应该怎么设计
  • 只给一个通用工具够不够
  • 给很多专用工具会不会让模型更乱
  • 什么能力该做成 tool,什么能力不该

主论点

工具要匹配模型能力形状。

设计动作空间时,不能只看工程实现,要看:

  • 模型会不会用
  • 会不会稳定地用
  • 用完后结果是否比 plain text 更可靠

数学题类比

  • 纸:最低配,通用,但慢
  • 计算器:更强,但要会操作
  • 电脑:最强,但前提是模型会写代码并执行

结论:不是工具越强越好,而是越适配越好。

设计动作空间时真正要观察什么

  • 模型擅长什么
  • 模型在哪类结构上容易漂移
  • 模型是否理解某个工具的调用时机
  • 模型是否愿意主动调用它
  • 调用它是否真的降低了失败率

这也是作者说的:see like an agent

目标

提升 elicitation:让 Claude 更高效地向用户要关键信息。

尝试 1

把问题数组塞进 ExitPlanTool。

问题:

  • 计划和提问混在一起
  • 语义冲突
  • 用户回答若推翻计划,状态很难收敛

尝试 2

修改输出格式,让模型用 markdown 问问题。

问题:

  • 不稳定
  • 会多说或漏项
  • 一旦要解析输出驱动 UI,就会变成产品问题

尝试 3

单独做 AskUserQuestion tool。

优点:

  • 可随时调用,尤其适合 plan mode
  • 结构受控
  • UI 可弹窗并阻塞 agent loop
  • 支持多选项
  • 用户交互成本更低

这一段的真正启发

  • plain text 不稳定时,才值得做 tool
  • 好工具不仅能用,还要让模型愿意用
  • tool 的价值常常在结构保证、交互降摩擦和运行时控制

早期做法

  • TodoWrite 工具写待办
  • 每 5 turn 插 reminder

目标:让模型别忘了自己要做什么

为什么后来成了限制

  • 模型把 todo 当硬约束
  • reminder 让它更不敢改计划
  • 能力变强后,todo list 反而压制了自主组织能力

新替代:Task Tool

  • 支持依赖
  • 支持跨 subagent 通信
  • 支持增删改
  • 更像协作协议,而不是提醒器

这一段的真正结论

模型升级以后,旧工具可能从“脚手架”变成“束缚”。

所以 action space 设计不是一次性的接口设计,而是要随着模型能力一起重估。

旧做法

RAG / 向量库给 Claude 找上下文。

问题:

  • 要预先索引
  • 环境脆弱
  • 更关键的是:上下文是喂给模型的,不是模型自己找到的

新做法

给 Claude Grep 一类搜索工具,让它自己搜代码库。

变化:

  • 从被动接收上下文
  • 变成主动构建上下文
  • 更接近真实工程师的探索流程

Skills 把什么形式化了

progressive disclosure:

  • 先只暴露入口
  • 需要时再读 skill 文件
  • skill 文件再指向更细的文档、脚本、API 或数据库查询方式

这一段的结论

如果模型足够强,应该优先给它“找上下文的能力”,而不是一上来塞满上下文。

重点从“给多少上下文”转向“让它如何自己建上下文”。

新问题

Claude 不够懂 Claude Code 自己怎么用。

直觉方案:

  • 把文档塞进 system prompt
  • 或者再加一个新 tool

为什么不把 docs 全塞进 prompt

  • 大多数用户不问这件事
  • 会加重上下文腐烂
  • 会干扰主任务:写代码

实际做法

  • 给 Claude docs 入口
  • 再做 Claude Code Guide subagent
  • 这个 subagent 专门学会查文档、压缩结果、只返回答案

真正启发

这是在扩展 action space,而不增加 tool 数量

能靠 progressive disclosure 解决,就别加 tool。 能靠专门 subagent 解决,也别把主 agent 的菜单越堆越长。

什么时候值得新增一个 tool

  • plain text 老是漂移
  • 需要结构保证
  • 需要 UI 配合
  • 需要阻塞式交互
  • 需要隐藏复杂实现
  • 需要跨 agent 的共享协议

什么时候不该急着加 tool

  • 其实只是 prompt 还没打磨好
  • 模型已经能靠搜索自己找上下文
  • 一个 skill 文件就能解决
  • 用专门 subagent 更合适
  • 只是工程师自己觉得“有个按钮更漂亮”

一套很实用的最小底座

  1. 执行:bash / code execution
  2. 搜索:代码搜索、文档搜索、web search
  3. 读写:文件读写
  4. 询问用户:AskUserQuestion 一类能力
  5. 协作:task / subagent handoff

先用少量高杠杆原语跑起来,再根据真实失败模式加东西。

回到最初那个问题

要 1 个工具,还是 50 个工具?

作者的隐含答案是:都不是。

更合理的方案:

  • 少量通用底座
  • 少量真正必要的结构化工具
  • 用 skills、progressive disclosure、subagents 补能力

设计 action space 的 5 个检查问题

  1. 模型会不会主动调用它?
  2. 调用结果稳定吗?
  3. 它比 plain text 明显更好吗?
  4. 模型升级后它会不会反而变成束缚?
  5. 这个能力能不能先用 skill / docs / subagent 实现?

如果你只记住 3 句话

  1. 先看模型会不会稳定地用,再决定要不要做 tool。
  2. 模型越强,越该让它自己建上下文。
  3. 扩能力不一定靠加工具,很多时候靠渐进披露和 subagent 更优。

up:: AI Code 编程 - moc up:: ∑ MCP与AI工具链 related:: claude code 配置, claude code plugins 插件, claude code 第三方中转站

指定模型名

/model  o1

cc mate claude code plugins 插件

安装

macos linux通用

curl -fsSL https://claude.ai/install.sh | bash
brew install --cask claude-code

旧的依赖于npm命令, 已经被官方废弃。

npm install -g @anthropic-ai/claude-code

别人的配置参考

claude code 配置

各种第三方插件

塞尔达音效

npm install -g zelda-claude-code@latest

用量监控claude code monitor

状态栏

GitHub - Haleclipse/CCometixLine: Claude Code statusline tool written in Rust

CleanShot 2025-09-01 at 18.53.10@2x.png

在多个子环境中使用

orb -m ubuntu -u root

如果使用非root模式,则安装有点麻烦。如果使用root,则无法使用 claude 的疯狂模式。

curl https://mise.run | sh
 
echo "eval \"\$(/root/.local/bin/mise activate bash)\"" >> ~/.bashrc
 
source ~/.bashrc
 
mise trust
 
mise use node
 
npm install -g @anthropic-ai/claude-code
 
npm install -g @musistudio/claude-code-router

npm install -g @anthropic-ai/claude-code

使用claude-code-router绕过官方限制。或者使用各种第三方的中转站: claude code 第三方中转站

claude code windows

常用快捷键

control + r展开被收缩的文本,以查看详情。

常用命令

如果命令不适应,使用开源的可视化界面也不错Claudia

/init命令

先创建claude说明文件。本仓库的范例:CLAUDE

/compact 把信息用简单的语法总结一下

压缩上下文,但总觉得会失真,不一定好用,倒不如另起一个对话呢

/clear

清空上下文

控制模型思考强度

官方说明的,在对话前面加think,让其思考强度更高

think
think hard
think harder

ultrathink

ultrawork 也行

记忆模式

输入#号触发

和ide联动编辑

/ide

好处:

vscode中选中代码,则cc里面能感知
cc改的代码,ide里面能看到diff

一次性对话

但其实不如直接用warp的ai命令了。

claude -p “今天您吃了吗”

ccr也是支持的,命令就是ccr code -p "今天您吃了吗"

前面加!,临时用于执行命令,而不是自然语言提问。

权限控制

危险模式,让其全自动驾驶

也叫yolo模式?

claude --dangerously-skip-permissions

精细化控制

/permissions

规则文档:Identity and Access Management - Anthropic

可以直接把文档丢给ai,让ai生成规则行。

自定义命令

不通用,考虑直接使用系统级别的比如raycast 的snippet更好。

Create custom slash commands by adding .md files to .claude/commands/ in your project or ~/.claude/commands/ for commands that work

in any project

导出内容

/export

  1. 复杂问题,使用 plan mode ,切换快捷键 shift + tab
  2. 连接到ide,比如cursor。
    1. cursor中安装claude code。
    2. cc中输入/ide进行连接。
  3. 输入\ + 回车 可以换行
    1. 有些软件里的命令行,支持 shift + 回车 换行,如果不行,就用 \+回车 换行
  4. 使用 shift + tab 切换到 plan mode
    1. 这样 claude 会先与你过一下开发计划,然后再去开发,结果更可控

hook配置

Get started with Claude Code hooks - Anthropic

Hooks reference - Anthropic

写完后自动进行lint检查等

通知音效

telegram 和folo频道推荐

找到让 Claude Code 完成时提醒我的办法了,最优雅的方式是配置 Claude Code 的 hooks,让它每次完成时播放音效。

编辑设置文件 ~/.claude/settings.json

 
{
  "model": "Qwen/Qwen3-235B-A22B-Thinking-2507",
  "hooks": {
        "Stop": [
            {
                "hooks": [
                    {
                        "type": "command",
                        "command": "afplay ~/Sounds/notification.mp3"
                    }
                ]
            }
        ],
        "Notification": [
            {
                "hooks": [
                    {
                        "type": "command",
                        "command": "afplay ~/Sounds/notification.mp3"
                    }
                ]
            }
        ]
  },
  "permissions": { "allow": [ "Bash(ls:*)", "ReadFile:*", "Edit" ], "deny": [ "Bash(rm:*)", "Bash(sudo:*)" ] }
}
 

sub agent

map reduce, 子agent是并行执行的,会获取精简的上下文。 /agent

其他常用参数

使用其他模型

kimi v2用于claude code-官方token-不用ccr的情况下

参考教学视频

AI编程工具Claude Code详细攻略,一期视频精通 - YouTube

Claude Code Agent Harness 的 Action Space 设计拆解

核心问题:Agent 的工具到底该给 1 个通用原语,还是 50 个专用工具?

核心答案:都不是。更好的做法是用少量高杠杆原语做底座,再用 progressive disclosure、skills、subagent 和少量真正必要的结构化工具补能力。

结构化工具何时值得做能力升级要重估工具让模型自建上下文不一定靠加 tool详细笔记相关主题