公文写作对格式的敏感程度远超一般文档。一个页边距差两毫米,或者发文字号括号用成圆括号,都可能被判定为不规范文件。阶跃AI在内容生成上能提供帮助,但如果直接把生成结果复制进Word,默认字体、字号、行距几乎不会自动符合GB/T 9704-2012。要发挥AI价值,需要把格式规则前置到提示词里,并用脚本来做最后把关。

一、国家标准锁死了哪些不能让步的格式参数
《党政机关公文格式》国家标准,也就是常说的GB/T 9704-2012,对版心、字体、字号、装订线、页码位置等都有明确数值。很多人只关注标题和正文的字体,却忽略了页面设置这个基础层。按照标准,公文用纸是A4,版心尺寸为156毫米乘225毫米,上边距37毫米,下边距35毫米,左边距28毫米,右边距26毫米。日常使用Word默认的页边距是上下各25.4毫米、左右各31.8毫米,与国标完全不一致。如果直接在默认文档上排版,后面所有格式调整都会在错误的地基上叠加。
字体方面,正文一般用三号仿宋体,常用仿宋_GB2312或方正仿宋简体;一级标题用二号小标宋体,不加粗;二级标题用三号黑体;三级标题用三号仿宋体加粗或三号楷体。行距普遍设置为固定值28磅,每页排22行,每行排28个字。发文字号中的年份必须用六角括号〔〕,不能用圆括号或方括号。成文日期使用阿拉伯数字,月和日不编虚位,比如写2025年3月5日,而不是2025年03月05日。附件在正文之后另起一页,左上角顶格写附件二字,后面跟全角冒号和附件名称。页码是四号半角宋体阿拉伯数字,置于版心下边缘之下,单页码居右空一字,双页码居左空一字。
这些参数并不是可有可无的装饰,而是保证公文严肃性和识别度的最低要求。阶跃AI生成的文本通常只能保证内容通顺、结构完整,不会主动处理字体嵌入、段落固定值、版心偏移等问题。如果把AI当作普通聊天工具,只要求它写一篇通知或者请示,输出结果大概率是默认的宋体五号字,段落间距不一,发文字号也是错误括号。所以第一步是搞清楚哪些格式指标必须由人工或脚本控制,哪些可以通过提示词约束AI提前规避。
二、把格式规则翻译成阶跃AI能执行的提示词
让阶跃AI生成符合国标的公文,核心思路不是期待它直接产出带格式的文档文件,而是让它在纯文本阶段就把内容结构、序号层级、特殊符号用对。提示词要明确四件事:角色设定、任务类型、格式禁区、输出结构。角色设定可以帮助模型切换到正式文风,比如要求它扮演机关办公室负责文稿起草的工作人员。任务类型要说清楚是通知、请示、报告还是函,不同文种在标题、主送机关、结语上差异很大。格式禁区是最容易被忽略的部分,需要把圆括号、方括号、全角半角混用、年份简写等错误逐条列出。
下面是一个可复用的提示词模板,适合在阶跃AI中直接粘贴使用。它把格式要求压缩成清单,模型在执行时更容易遵守。
你是一名机关办公室公文起草人员,请根据以下材料撰写一份正式的党政机关公文。 文种:通知 标题格式:发文机关全称+事由+通知,例如XX市人民政府办公室关于做好2025年春季安全生产工作的通知 发文字号:使用六角括号,格式为XX发〔2025〕1号,年份必须写全称 主送机关:顶格书写,多个机关之间用顿号隔开 正文结构:先写背景依据,再写具体事项,最后写执行要求 一级标题:一、二、三,使用黑体三号不加粗 二级标题:(一)(二)(三),使用楷体三号加粗 正文语言:使用三号仿宋体,不改变字体设置 成文日期:使用阿拉伯数字,不编虚位,例如2025年3月5日 禁止事项:不要使用圆括号包裹发文字号年份,不要出现多余空行,不要使用感叹号 请直接输出公文正文,不需要解释。
这段提示词的价值在于把Word里才能做的字体设置,转化为文字层面的结构约束。比如要求一级标题用一、二、三,模型就会按中文序号规则生成,避免出现1.1、1.2这类英式编号。要求发文字号使用六角括号,可以显著减少后续替换括号的工作量。但要注意,阶跃AI对行距、页边距、字体嵌入等排版属性没有实际控制能力,这些必须留给后面的Word模板或脚本处理。所以更合理的流程是:先用上述提示词生成内容初稿,再粘贴到已经设置好页边距和样式的Word模板中,最后用宏或Python脚本检查关键格式项。
另一个容易被忽略的环节是附件说明的生成。按照国标,正文中涉及附件时,要在正文下空一行,左空二字写附件二字,后标全角冒号和附件名称。附件名称后不加标点。AI如果不知道这条规则,往往会把附件说明写成“附件1:关于XX的说明”并加上句号。因此在提示词中可以追加一条:附件说明单独成段,使用仿宋三号,附件名称后不加标点。这种精确到标点的指令,比简单说一句符合公文格式有效得多。
三、生成后如何用Python脚本做格式抽检
内容初稿再规范,也只是文本层面的正确。落到Word文档后,字体、字号、行距、对齐方式仍然需要校验。手动逐个段落检查效率太低,可以借助Python的python-docx库读取docx文件,自动提取段落的字体名称、字号、对齐方式和行距。下面这段脚本会遍历所有段落,找出不符合正文三号仿宋、标题二号小标宋、行距28磅的段落,并打印段落编号和问题类型。
from docx import Document
from docx.shared import Pt
doc = Document(r'C:\Users\Admin\Desktop\公文初稿.docx')
# 定义关键格式标准
BODY_FONT = '仿宋_GB2312'
BODY_SIZE = Pt(16) # 三号字对应16磅
HEADING_FONT = '方正小标宋简体'
HEADING_SIZE = Pt(22) # 二号字对应22磅
LINE_SPACING = Pt(28) # 固定值28磅
for i, para in enumerate(doc.paragraphs):
text = para.text.strip()
if not text:
continue
style_name = para.style.name if para.style else ''
# 跳过标题类样式,只检查正文段落
if '标题' in style_name or 'Heading' in style_name:
continue
for run in para.runs:
font_name = run.font.name
font_size = run.font.size
if font_name and font_name != BODY_FONT:
print(f'第{i}段:字体异常,使用{font_name}')
if font_size and font_size != BODY_SIZE:
print(f'第{i}段:字号异常,使用{font_size.pt}磅')
# 检查行距
pf = para.paragraph_format
if pf.line_spacing and pf.line_spacing != LINE_SPACING:
print(f'第{i}段:行距异常,当前值{pf.line_spacing.pt}磅')
# 检查对齐方式
if pf.alignment is not None and pf.alignment != 3:
print(f'第{i}段:对齐方式异常,当前值{pf.alignment}')脚本里把文档路径写成C:\Users\Admin\Desktop\公文初稿.docx,你需要替换成自己的实际文件路径。运行后会输出类似“第12段:字体异常,使用宋体”、“第18段:行距异常,当前值12磅”这样的提示。这样比肉眼翻几十页快得多,也避免漏掉中段某个被误设为宋体的句子。需要注意的是,python-docx读取行距时有浮点误差,28磅可能读成27.95磅,因此实际项目中可以在比较时加一个0.5磅的容差范围,这里为了演示保持精确比较。
脚本只能检查段落级格式,对于页边距、版心、页码位置这些节级别设置,需要用python-docx的section对象进一步读取。比如可以通过doc.sections[0].top_margin、left_margin等属性,检查上边距是否为37毫米,左边距是否为28毫米。如果发现页边距不对,直接修改模板比逐个文件调整更可靠。理想做法是制作一个空白公文模板,把页边距、样式、页眉页脚全部预设好,后续所有初稿都复制到这个模板里再粘贴内容。脚本的作用不是修复格式,而是定位格式问题,真正的修复应该在模板阶段一次性完成。
四、常见格式翻车点与修正清单
AI生成的公文内容,最容易在以下几个位置出现格式错误。第一个是发文字号的六角括号,模型有时会输出〔2025〕,有时会退化成(2025)或[2025],即使提示词里写了六角括号,也可能因为训练数据中混用了不同括号而反复出现。第二个是成文日期,AI习惯写成2025年03月05日,或者在日期后面加句号。第三个是附件说明,附件名称后面多加句号,或者附件一词没有单独成段。第四个是正文层次序数,AI可能写出1.1、1.2这类非国标序号,或者跳级使用一、1、(1)的层次。第五个是引文和标题中的标点,比如标题中多了书名号或顿号。
更隐蔽的问题是字体和字号的混用。AI生成纯文本时不会区分仿宋、楷体、黑体,但粘贴到Word后,如果模板样式没有绑定快捷键,用户很容易在手动调整中把某一段落设成宋体或等线。尤其是从网页复制内容时,会带入隐藏的字符格式和段落间距。解决办法是在Word中启用显示所有格式标记,或者直接用脚本统一清除字体格式,再重新套用模板样式。这比逐段手动设置更干净。
可以把这些易错点做成一张核对清单,每次生成后对照检查:页边距是否符合上37下35左28右26;正文是否全部三号仿宋;一级标题是否二号小标宋且不加粗;发文字号年份是否用六角括号;成文日期是否使用阿拉伯数字且不编虚位;附件说明是否单独成段且名称后无标点;页码是否四号宋体半角数字且位置正确。这份清单不需要特别复杂,但必须覆盖国标中最容易出错的参数。阶跃AI负责把文字内容写对,模板和脚本负责把排版稳定下来,人工最后再过一遍清单,效率会远高于从空白文档开始手动排版。
把AI纳入公文写作流程,不是要让机器替代格式认知,而是把重复性的格式约束变成可复用的提示词和可执行的检查逻辑。做到这一点后,阶跃AI才能真正成为公文起草环节里省时省力的工具,而不是制造更多格式返工的源头。