在Cursor中借助AI编写命令行工具时,仅凭“写个CLI”这类模糊指令远远不够。你需要将功能、参数、错误处理机制以及用户交互方式等细节全部融入提示词。简单来说,提示词必须包含明确的动词指令,并附上一段你认可的help文本,用以限定语气和粒度。最后,还需在工程标准下进行验证,确保生成的代码具备可用性。

要让AI准确理解你的意图,你必须先让它清楚你想要的CLI工具是什么形态——功能、输入输出、错误处理、交互方式,每一方面都不能模糊。如果给出过于笼统的描述,生成的结果往往无法直接使用。
先明确命令行工具的核心要素
在Cursor中新建文件后,将以下提示词直接粘贴进去:
“你是一位资深CLI工具开发者,请使用Python + argparse编写一个命令行工具,实现【将指定目录下所有.md文件转换为HTML并保存到output/子目录】。要求:1)必须支持--input-dir和--output-dir两个必选参数;2)自动创建output目录(若不存在);3)转换失败时打印具体错误文件名及原因,不中断后续处理;4)最后输出成功转换的文件数量。”
这一步的关键是——把“做什么”“怎么用”“边界情况怎么处理”全部塞进提示词里,杜绝AI自由发挥的空间。
参考风格怎么给才有效
方法一:贴一段你认可的真实CLI帮助文本
在提示词末尾,加上这样一句话:
“请严格参照以下风格输出help信息(注意缩进、标点、大小写):”
“usage: md2html [-h] --input-dir INPUT_DIR --output-dir OUTPUT_DIR”
“Convert markdown files to HTML.”
“optional arguments:”
“ -h, --help show this help message and exit”
“ --input-dir INPUT_DIR source directory containing .md files”
“ --output-dir OUTPUT_DIR destination directory for generated HTML files”
不要只说“按标准argparse风格”——AI对“标准”的理解往往与你不同。你提供的“参考风格”文本就是它最直接的参照。
方法二:用自然语言限定语气和粒度
在提示词中插入这句话:
“生成的帮助文本要像click或typer文档那样简洁直接,不解释原理,不出现‘本工具用于’这类冗余主语,每个参数说明控制在12个字以内。”
三步验证提示词是否合格
写好提示词后,不要急于运行,先完成三步检查:
第一步,检查是否包含明确的动词指令。例如“生成”“实现”“确保”“禁止”这类词才有效。如果看到“可以”“建议”“考虑”,请立即修改。
第二步,确认是否遗漏关键约束条件。例如,是否需要兼容Windows路径?是否要处理中文文件名?是否需要支持--verbose开关?漏掉这些细节,AI会默认按Linux加纯英文环境处理,等上线时才会发现隐患。
第三步,将提示词放入Cursor的Agent模式,观察第一轮生成的代码中是否出现sys.argv硬编码、print替代logging、或者将所有逻辑塞入main()函数而不做模块拆分。如果出现这些情况,说明需要补充一条工程实践要求:“代码需拆分为parse_args()、convert_file()、main()三个函数,main仅负责调用。”
