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

要让Gemini生成符合Linux/Unix风格的命令行帮助文案(如man page或--help输出),且严格按“概要→描述→选项→示例→退出码”五级逻辑组织,不能靠模糊指令碰运气——它会跳过子项、合并层级、甚至把示例塞进描述段。
用XML锚点强制声明层级结构
第一步:在提示词开头插入标准XML结构模板,明确每个层级的语义边界与嵌套关系。
第二步:将角色设定、原始命令说明、格式要求全部封装进对应标签,例如:
<role>你是一名GNU项目文档工程师,专写POSIX兼容命令的手册页</role>
<input>命令名:git-cleanup;功能:批量删除本地已合并分支和失效远程追踪分支</input>
<output>必须严格按以下XML结构输出,不得增删标签,不得合并内容:
<synopsis>git-cleanup [-f] [-r <remote>] [--dry-run]</synopsis>
<description>...</description>
<options>...</options>
<examples>...</examples>
<exitcodes>...</exitcodes></output>
第三步:在末尾追加刚性约束——【禁止将<options>中的参数说明写进<description>,禁止用‘详见’‘参见’等跳转表述,每个<xxx>标签内必须为独立完整段落】。
用Markdown标题模拟man page层级
方法一:直接指定GitHub Flavored Markdown标题层级映射关系
在提示末尾写:“请用标准GFM输出,# 对应NAME章节,## 对应SYNOPSIS,### 对应DESCRIPTION,#### 对应OPTIONS,##### 对应EXAMPLES,###### 对应EXIT STATUS。所有标题后必须空一行,OPTIONS下每个参数必须用- -flag: 开头,后跟缩进两格的说明。”
使用固定的 Next.js/Tailwind/Prisma 技术栈构建并记录独立 SaaS 项目,仅将 FastAPI 用于 Python 工作负载,并遵循严格的架构规范。
方法二:混入真实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 <remote>] [--dry-run],请单独生成DESCRIPTION章节,要求用被动语态,不超过3句话,首句定义命令本质,后两句说明适用场景。”
第三步:继续新对话,输入:“基于前述NAME、SYNOPSIS、DESCRIPTION,现在生成OPTIONS章节。每个参数占一行,格式为‘-f, --force’后接冒号+空格+说明,说明中禁止出现‘该选项’‘此参数’等指代词,直接说作用。”
第四步:最后生成EXAMPLES和EXIT STATUS,指令中明确写:“EXAMPLES必须含两条命令行实例,一条带--dry-run,一条带-r origin;EXIT STATUS只列0、1、128三个值,每值后用制表符缩进说明。”

















