每天在终端里敲敲打打的开发者近期在使用各路 AI CLI 工具如 Gemini CLI、Claude Code时可能会遇到一个非常反直觉的场景明明某个 Agent Skill 文件里堂而皇之地写着“你可以输入/generate-article来触发我”但如果你真的在命令行里敲下这个命令CLI 框架却有可能直接拦截它或者告诉你这是一个未注册的命令。然而当你把这串带有斜杠的文本强行发给大模型时它居然真的触发了对应的动作。这究竟是大模型产生的“幻觉”以为自己有这个命令还是AI创建skill时搞错了如图所示未被强类型注册的指令在gemini cli中可以通过。但要理解它在 Agent 语境下是否有效有效我们需要先破除一个旧时代的执念。一个反直觉的类比硬开关 vs 对暗号在传统的 CLI 程序里命令解析器就像一台带有实体物理按键的自动售货机硬指令。你按下/build机器内部的路由表Registry找到了对应的方法并执行你按下未注册的/generate-article机器发现没有这个按键直接抛出Command not found的错误并罢工。它的容错率是零。但在 Agent 时代交互的主体变成了一个坐在服务台前的人类大堂经理大语言模型。当你想让这位大堂经理帮你转交一份特殊文件时你可以用一长串自然语言解释你的意图“请帮我把这篇笔记转成技术博客”。但对于高频动作每次都这么说太啰嗦了。于是你们约定了一个“暗号”——只要看到/generate-article这个词就去走自动发布流程。这个“暗号”就是所谓不存在的软指令Soft Commands。拆开看它到底怎么工作在现代的 Agent 框架中为什么没有注册在系统底层的斜杠指令也能大行其道这归功于大模型的意图路由Intent Routing机制。以 Gemini CLI 加载外部 Skill 为例其内部执行链路其实非常巧妙CLI 前端降级放行当用户输入/generate-article时CLI 源码确实没有注册这个原生命令。普通的程序会直接报错终止但 Agent CLI 通常有一种 Fallback 机制如果不是内置系统命令就把它当成一段纯文本原封不动地抛给底层的大模型。高密度特征命中大模型收到了这段看起来像命令的字符串。此时它的上下文中正挂载着所有的外挂能力Skills。例如在blogger-agent的描述文件里可能明确写着Trigger phrases include /generate-article...。工具调用Tool Calling大模型通过语义比对发现你发来的文本与该 Skill 的描述高度契合。/generate-article这个特殊的文本串在这里起到的作用并非代码层面的函数路由而是极高信噪比的意图特征词。模型心领神会直接通过activate_skill工具唤起了对应的底层逻辑。在这个过程中斜杠/完全失去了它在传统终端里的“控制符”特权退化成了一个普通的标点符号。但正是这种伪装成命令的形式为用户提供了一个极低输入成本的意图锚点。它不解决什么既然软指令这么好用那我们以后干脆不要硬编码任何 CLI 命令了并不是。事实上Agent 时代的交互媒介正在形成一条光谱这种基于大模型意图识别的“软指令”机制并非万能它的边界极其清晰它不解决确定性Determinism如果系统的某项操作需要 100% 的确定性执行比如清理缓存/clear-cache或者不可逆的销毁动作/delete-all绝对不能依赖软指令。软指令经过大模型的语义理解层永远存在微小的概率被模型“忽视”或误解为普通陈述。它不解决低延迟与免 Token 场景硬指令在本地系统直接执行响应时间为微秒级且完全免费而软指令必须走一次大模型推理不仅耗时以秒计还需要消耗实际的 Token 额度。总而言之Skill 文件里的斜杠指令既不是幻觉也不是框架层面的漏洞。它是 Agent 开发者们在“自然语言太啰嗦”和“硬编码写死太僵化”之间找到的一种极具实用主义色彩的工程平衡借用传统 CLI 的肌肉记忆跑在大语言模型的意图引擎上。