Claude Code 话太多?这个开关能把回答砍掉一半
Addy Osmani 推荐了一个设置:把 Claude Code 的输出风格切到 Concise。首句给结果,去掉铺垫和总结,代码质量不变。有人试了说滚动条终于不像在读小说。
Claude Code 默认的输出风格话多。一个简单问题,它先复述你的需求,再分步骤讲思路,最后来个总结。滚动条拖半天,代码改动没几行。
Addy Osmani 在 X 上发了一条推文,说可以把输出风格切到 Concise。方式很简单:运行 /config 选 Output style,或者直接在 settings.json 里加一行:
{
"outputStyle": "Concise"
}
Concise 模式的行为在官方文档里写得很清楚:第一句话直接说结果或答案,去掉开场白、逐步骤叙述和结尾总结。简单问题一两句话答完。工程实现的质量和默认模式一样。需要细节的时候,你问它,它还是会展开。错误报告、测试失败输出、安全警告这些内容不会压缩,完整保留。
有网友问,Concise 会不会把每次回答前的道歉和小铺垫也砍掉。从文档描述看,开场白正是它要删的东西。另一个网友问得更具体:改文件之前的计划说明会不会变短,还是只有最后的总结变短。这个问题没人直接回答,但根据 Concise 的定义,计划阶段的叙述属于 preamble,应该会被砍。实际效果得自己试。
也有人嫌不够短。Daniel Stefan 在全局 CLAUDE.md 里加了一行:"When reporting information to me, be extremely concise and sacrifice grammar for sake of concision." 他说这比内置的 Concise 还管用。另一个网友 cj 自己写了个叫 Procedural 的风格,要求 Claude 用 ASD-STE100 简化技术英语说话,遇到状态机就画状态图。他还试过 ICAO 无线电用语,结果 Claude 变得太机器人,放弃了。
有个细节值得注意:settings.json 里的值大小写敏感。写 "outputStyle": "Concise" 是对的,写成 "concise" 会落到 Default。/output-style 命令本身不区分大小写,但配置文件里必须精确。另外 /config 保存的是当前项目的设置,要全局生效得改 ~/.claude/settings.json。项目级设置优先级更高,这能解释为什么某个仓库里怎么切都不起作用。
Mister SnowCrash 在回复里把这件事讲清楚了:/config 写入 .claude/settings.local.json,只对当前项目有效。要跨仓库默认生效,得在用户级 settings.json 里设 outputStyle。项目自己的设置会覆盖全局值。
版本方面,Concise 需要 Claude Code v2.1.237 或更高。早期版本切换风格后要 /clear 或开新会话才生效,v2.1.251 之后下一条消息就会用新风格。
有人问 token 用量会不会变少。官方文档的说法是:风格指令本身会增加输入 token,但 prompt 缓存能摊薄这部分成本。Concise 减少的是输出 token。至于能不能省钱,回复里有网友说这只是一个附带效果,核心是让输出更容易读。
还有人在意 diff 的可读性。Chalitha Widusahan 问 Concise 会不会把 diff 也压短。文档没说 diff 会变,Concise 改的是对话里的叙述,不是代码本身。Jess 的用法更直接:bug 变奇怪的时候就把风格切回去。
Mikhail Rogov 的评论点到了要害:Concise 应该做成默认。长输出让实际的代码改动更难审查。这句话有道理。默认风格写出来像教程,而多数时候你只想知道改了什么、为什么改。需要教程的时候再问。
如果你还没试过,花十秒改一下 settings.json。代价是输入 token 多一点,收益是滚动条短一截。
参考来源:
- Addy Osmani 推文:https://x.com/addyosmani/status/2118958843501920268
- Claude Code 输出风格官方文档:https://code.claude.com/docs/en/output-styles
- Attention Span 自定义风格项目:https://github.com/alexgreensh/attention-span
发布时间: 2026-11-07 23:29