gemini需用xml锚点或gfm标题强制分层生成man page:先声明结构,再分步填充各段,禁用跨层级引用与指代词,确保posix兼容性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让Gemini生成符合Linux/Unix风格的命令行帮助文案(如man page或--help输出),且严格按“概要→描述→选项→示例→退出码”五级逻辑组织,不能靠模糊指令碰运气——它会跳过子项、合并层级、甚至把示例塞进描述段。
用XML锚点强制声明层级结构
第一步:在提示词开头插入标准XML结构模板,明确每个层级的语义边界与嵌套关系。
第二步:将角色设定、原始命令说明、格式要求全部封装进对应标签,例如:
命令名:git-cleanup;功能:批量删除本地已合并分支和失效远程追踪分支
第三步:在末尾追加刚性约束——【禁止将
用Markdown标题模拟man page层级
方法一:直接指定GitHub Flavored Markdown标题层级映射关系
在提示末尾写:“请用标准GFM输出,# 对应NAME章节,## 对应SYNOPSIS,### 对应DESCRIPTION,#### 对应OPTIONS,##### 对应EXAMPLES,###### 对应EXIT STATUS。所有标题后必须空一行,OPTIONS下每个参数必须用- -flag: 开头,后跟缩进两格的说明。”
方法二:混入真实man page片段作锚定
粘贴一段标准git-log的MAN PAGE开头(含NAME、SYNOPSIS、DESCRIPTION三级),并在其后写:“请按完全相同的标题层级、缩进规则、标点习惯,为git-cleanup生成对应内容。”
这一步操作起来很简单,直接把参考片段复制进去就行。但注意:必须用真实man page文本,不能自己概括重写——Gemini对排版范例的模仿精度远高于文字描述。
分步调用填充每一级内容
第一步:先只让Gemini输出NAME和SYNOPSIS两部分,指令为:“仅输出NAME和SYNOPSIS章节,NAME格式为‘git-cleanup — 删除已合并分支’,SYNOPSIS必须包含-f、-r、--dry-run三个参数及其简写形式,不解释含义。”
第二步:拿到上一步结果后,新起对话,输入:“基于以下SYNOPSIS:git-cleanup [-f] [-r
第三步:继续新对话,输入:“基于前述NAME、SYNOPSIS、DESCRIPTION,现在生成OPTIONS章节。每个参数占一行,格式为‘-f, --force’后接冒号+空格+说明,说明中禁止出现‘该选项’‘此参数’等指代词,直接说作用。”
第四步:最后生成EXAMPLES和EXIT STATUS,指令中明确写:“EXAMPLES必须含两条命令行实例,一条带--dry-run,一条带-r origin;EXIT STATUS只列0、1、128三个值,每值后用制表符缩进说明。”











