要让DeepSeek精确解析命令行工具的每个参数,关键在于提示词中明确设定规则。不能指望模型自行“理解”——必须清晰告知它输出什么结构、覆盖哪些参数、解释到何种深度。结合角色设定、格式指令、真实命令锚定、防幻觉约束以及纯文本对齐规则,才能确保输出完整且不虚构。

直接询问“请解释一下curl的参数”往往会得到通用的HTTP原理介绍,而非具体的参数解析。因此,以“你是一个资深CLI工具文档工程师”开头赋予角色身份,远比“请帮我…”更有效。
基础提示词结构
角色设定之后,必须指定硬性输出格式:“请严格按照以下格式解释每个参数:命令名 + 短选项(如 -h)+ 长选项(如 --help)+ 参数类型(必填/可选)+ 作用说明(不超过25字)+ 示例值(如有)。” 这一指令迫使模型放弃段落式描述,转向表格化思维——即使不生成实际表格,也能自动分项对齐,清晰列出每个参数。
关键参数锚定法
切勿只提及“某个工具”,必须将实际使用的完整命令粘贴进来。例如:
【必须粘贴真实命令全貌,包括空格和常见组合】:curl -X POST -H "Content-Type: application/json" -d @payload.json https://api.example.com/v1/submit
模型识别到 -X、-H、-d 等典型参数符号后,会自动理解CLI上下文;若仅写“curl命令”,则可能返回通用HTTP原理。此外,若参数包含特殊字符(如 $、`、),需使用反斜杠转义或包裹在代码块中,否则DeepSeek可能误判为变量替换指令。
防止幻觉的约束条件
方法一:禁止编造未出现的参数
在提示词末尾添加:“仅解释上述命令中实际出现的参数,不得添加任何未列出的选项(如 --verbose、-f),也不得推测默认行为。”
方法二:要求标注来源依据
追加一条:“若某参数的作用无法从命令字符串本身推断(如 -d 后接 @payload.json 的文件读取机制),请注明‘需参考工具最新文档’,不可自行解释。”
这一步能有效阻止模型用curl通用知识补全专有工具逻辑——例如将jq的 -r 参数误解为curl的选项。
输出格式强制校验
输出格式同样需要明确指定:
第一步:用纯文本制表符对齐(非Markdown表格),列顺序固定为:参数标识|类型|说明|示例
第二步:每个参数单独一行,短选项和长选项分行写(比如 -X 和 --request 分别两行),避免合并成“-X/--request”这种模糊写法。
第三步:遇到布尔型开关参数(如 --dry-run),必须标注“无值”并说明是否默认启用,【不写默认值即视为未启用】。
第四步:路径类参数(如 -f config.yaml)需额外说明路径解析规则:“相对路径基于当前工作目录,不支持波浪号 ~ 展开。”
