022、Slash Command 完全指南:model、clear、compact 等内置命令详解
022、Slash Command 完全指南:model、clear、compact 等内置命令详解
上周帮团队排查一个诡异的CodeX会话问题——同事在调试一个React组件时,连续问了十几个问题后,模型突然开始“胡言乱语”,把之前正确的代码改得面目全非。我第一反应是:“你清过上下文吗?”他一脸茫然。这就是典型的上下文污染,而Slash Command里的/clear和/compact就是专门治这个的。
先搞懂Slash Command的触发逻辑
在CodeX里输入/,你会看到一列命令。很多人以为这只是个快捷菜单,其实它背后是CodeX对当前会话状态的“快照”操作。每个命令本质上都在修改会话的元数据或上下文窗口,而不是简单发一条消息。
踩坑提醒:别在代码块内部打/,编辑器会把它当成普通字符。我见过有人把/model写在注释里,然后抱怨命令没反应——兄弟,那是在代码里,不是在输入框。
/model:动态切换模型,别重启会话
最常用的命令之一。当你发现当前模型回答质量下降,或者想临时换一个更强的模型做深度分析时,/model直接搞定。
/model gpt-4-turbo关键点:这个切换是热替换,不会清空当前会话历史。也就是说,你之前用Claude聊了20轮,突然切到GPT-4,新模型能看到全部历史。这既是优势也是坑——如果你之前问的都是JavaScript问题,切到GPT-4后它可能会延续之前的思维惯性。
实战技巧:我通常会在切换模型后,紧接着发一条“请忽略之前的对话风格,用更严谨的技术文档风格回答”。这能重置模型的“人格”,避免新旧模型风格打架。
别这样写:/model gpt-4不带版本号。CodeX默认会选最新稳定版,但如果你需要特定版本(比如gpt-4-0613),必须写全。我吃过亏,写/model gpt-4结果被分配了gpt-4-0314,某些API行为不一样。
/clear:暴力清空,但别乱用
/clear会删除当前会话的所有历史消息,相当于新建了一个空白会话。但注意:它不会删除会话本身,只是清空内容。
适用场景:
- 模型开始重复之前的错误答案(上下文污染)
- 你切换了完全不同的技术栈(比如从Python后端突然要写Swift UI)
- 调试时发现模型引用了几轮前的错误假设
血泪教训:有一次我调试一个Kubernetes YAML问题,连续问了10轮,模型始终在同一个错误配置上打转。我用了/clear,重新描述问题,模型立刻给出了正确方案。为什么?因为之前的错误上下文像“毒药”一样污染了模型的推理路径。
别这样写:在/clear之后立刻问一个和之前高度相似的问题。模型没有记忆了,但你的问题描述方式会暗示它“你之前问过类似问题”,它反而可能猜测你想要的答案。正确做法是:清空后,用全新的措辞描述问题。
/compact:优雅压缩,保留精华
这是我最喜欢的命令,比/clear温和得多。/compact会分析当前会话,把历史对话压缩成一段摘要,然后删除原始消息。模型看到的上下文变成了“用户之前问了X,我回答了Y,然后用户追问了Z”这样的精简版。
什么时候用:
- 会话超过50轮,模型开始“健忘”
- 你发现模型回答变慢(上下文窗口快满了)
- 想保留关键信息但减少token消耗
实战案例:我在写一个微服务架构文档时,和CodeX聊了80多轮,涉及API设计、数据库选型、部署策略。模型开始把不同服务的配置搞混。执行/compact后,模型把之前的讨论压缩成3段摘要,后续回答立刻精准了。
注意:压缩会丢失细节。如果你之前讨论过某个具体函数的实现细节,压缩后模型可能只记得“用户讨论了函数A的实现”,但记不住具体代码。所以,在关键决策点之前,先手动保存重要代码片段。
/help:别小看它,能救命
很多人觉得/help是新手才用的。但作为老手,我经常用它来查某个命令的精确语法。比如/compact的参数格式我记不清了,直接/help compact就能看到文档。
隐藏功能:/help后面可以跟具体命令名,比如/help model,会显示该命令的所有可用参数和示例。这比翻官方文档快多了。
/fork:分支会话,实验利器
这个命令不常用,但关键时刻能救命。/fork会基于当前会话创建一个副本,你可以在副本上继续实验,不影响原会话。
我的用法:当模型给出一个看起来有道理但我存疑的方案时,我会/fork一个新会话,在副本里追问“这个方案有什么潜在风险?”如果副本里的回答让我觉得不靠谱,直接关掉,回到原会话继续。这比手动复制粘贴历史方便十倍。
组合拳:实战中的命令链
场景:调试一个复杂的Node.js内存泄漏问题。
- 先用
/model gpt-4-turbo切换到最强模型 - 聊了20轮后,模型开始重复建议,执行
/compact - 压缩后模型给出了新思路,但我想验证另一个方向,执行
/fork创建分支 - 分支里实验失败,关掉分支回到主会话
- 继续聊了30轮,发现模型又跑偏了,执行
/clear重新开始
这套组合拳下来,我通常能在3-4次/clear内解决问题,而不是在一个被污染的会话里死磕50轮。
个人经验:什么时候别用Slash Command
- 别在模型正在生成回答时输入命令:CodeX会先完成当前回答,再处理命令。你输入
/clear后,模型可能先输出一段废话,然后才清空。正确做法:等回答结束,再输入命令。 - 别频繁切换模型:每次切换都会消耗一次API调用配额,而且模型切换后需要“热身”。我一般一个会话最多切换2次模型。
- 别依赖
/compact做永久存档:压缩后的摘要不可逆,如果你需要完整历史,先手动导出再压缩。
最后说一句:Slash Command不是魔法,它只是帮你管理上下文窗口的工具。真正的高手,是在模型开始“胡言乱语”之前,就主动用/compact或/clear重置状态。别等到模型把错误代码重复三遍才想起来清空——那时候,错误已经刻进你的思维里了。