标签

用AI Agent搞定公文排版:我的第一次实践

发布时间:2026-05-25 13:37来源:微信阅读:5

在体制内工作过的朋友,应该都遇到过这种情况。需要出具一份正式公文,无论是通知、请示还是函件。

打开Word,选定字体,调整行距,完成排版,反复检查后提交给领导。领导却回复:"行距不对,重新排版。"

修改行距后再次提交。领导又说:"页边距不对,上边距应该是37毫米。"

继续修改,再次提交。又发现问题:"页码格式不对,首页不能有页码,奇偶页要区分。"

一份几百字的公文,排版就要折腾大半天。提交后还可能被上级单位退回。

第一次遇到这种情况时,我在工位上愣住了。一份公文而已,怎么会有这么多讲究?

后来我才明白,这些规定并非人为随意制定,而是有国家标准的——GB/T 9704-2012及2022党政机关公文格式。此外,各地、各单位和各机构还有许多自己的标准或惯例。

仅国标的最低要求就包括:37毫米上边距、28磅行距、二号方正小标宋简体标题、三号仿宋正文、"— N —"格式页码、奇数页居右偶数页居左、首页不显示页码、成文日期右空四字。条款繁多,细则达几十条。

这并非我一个人的困扰。

试想,每天全国有多少体制内同仁在与Word或WPS的格式纠缠?有多少公文因页码、行距、字体问题被反复退回?有多少时间被消耗在这些缺乏创造性的重复劳动上?

那么,能否让Agent来处理这些规范呢?

不是那种宏大的AI,不是那种"赋能千行百业"的AI。只是那种能帮我正确排版Word文档的AI,直接生成一份排好版的文件。

于是,便有了今天要分享的内容。

一个名为"公文排版"的Skill。这是我开发的第一个Skill,也是我第一次真切感受到,AI与实际工作的距离可以如此之近。

我组建了一个名为"熊出没"的Agent团队,目前拥有熊大、熊二、光头强、梅西、星月和火娃六位Agent。他们分别基于OpenClaw、Hermes和WorkBuddy等平台,这次我启用的是"Hermes 梅西"和"WorkBuddy 熊大"。梅西担任验证者,熊大担任执行者,帮我生成Word文档。

试试看吧,不行就算了。

然而打开python-docx文档后,我发现事情远比想象中复杂。

python-docx是一个用于操作Word文档的Python库,但其设计初衷是处理简单文档。而公文这类文档,页码需插入域代码、字体需精确到run级别、页边距要用厘米而非英寸。每一项国家标准背后,都对应着一行甚至十几行代码。

我就是这么一步一步踩坑走过来的。

最初只有一个create_doc.py,能生成A4纸张并设置页边距。试了试,页面尺寸对了,但字体不对。于是添加了set_font.py。

再试,标题和正文格式不同。于是添加了add_heading.py和format_body.py。

继续尝试,公文还需要落款、发文字号、签发人、版记……

等我回过神来,已经写了七个Python脚本。

V1版本跑通时我很兴奋。赶紧让熊大生成一份通知。打开Word一看——标题字体不对,页码显示的是"— PAGE —"无法自动更新,段落间距也不对。

那种心情,怎么说呢,就像装机装了半天却点不亮一样。

试了,不行。但没有放弃。

第一版失败后,我开始认真对待。

让熊大熟读GB/T 9704-2012等参考文件的格式要求,然后突然发现GB/T 9704-2012竟然不是最新版本,最新的是GB/T 9704-2022。傻眼了,推倒重来。

然后一轮又一轮修改,一轮又一轮发版。

v2.2.0是第一个真正拿得出手的版本。页面设置完善了,字体映射有了,15种公文文种模板有了,版记有了,落款有了。熊大跑了一遍,输出的文档已经相当像样了。

但问题隐藏在细节中。

例如"右空四字"。国家标准明确规定,成文日期要右空四字——向右缩进四个字宽度。听起来简单对吧?但第一版我只是做了右对齐,完全不对。后来改成right_indent=Pt(64),才终于正确。

再比如字体。公文正文要求仿宋_GB2312,Windows上安装了这个字体没问题。但Mac上没有。如果在Mac上打开这个文档,仿宋_GB2312会回退成一个奇怪的字体。这又逼我做了一套跨平台字体映射逻辑。

最离谱的是页码。

公文页码使用的是域代码,不是直接输入的文字。需要插入一个PAGE域,Word打开时自动计算当前页码。python-docx对域代码的支持,坦率地讲,一言难尽。网上能找到的写法千奇百怪,试了好多种。

你猜怎么着?v2.2.3版本,SKILL.md里的示例代码还是错的。

这个bug藏了两三版才被发现。脚本里其实已经修好了,但SKILL.md里的示例代码忘了同步。谁要是看着文档照抄,一运行就报错。

这让我意识到一件事:当你让AI帮你做工具时,代码本身好修,但"让AI知道怎么用"这件事比写代码还难。SKILL.md里写的是AI会读的指令和示例,代码改了但指令没同步,AI还是按老的方式运行。这算是我踩过的最大的坑之一了。

经过六个版本迭代,从试试看,到v2.2.6的体系化。代码在变,文档在变,思路也在变——从"能不能跑"到"能不能用",从"能不能用"到"能不能让别人也用上"。

到目前为止,这个Skill迭代到了v2.2.6。我已经上传到clawhub上,欢迎大家试用。用这段咒语即可安装skill:

"请先检查是否已安装SkillHub商店,若未安装,请根据https://skillhub.cn/install/skillhub.md安装Skillhub商店,但是只安装CLI,然后安装gov-doc-format技能。若已安装,则直接安装gov-doc-format技能。"

https://skillhub.cn/skills/gov-doc-format

六次版本迭代,修复了几十个bug,写了上千行代码。最终的成果是,一个让熊大说"帮我排一份公文"就能搞定的事情。

这个Skill具体能做什么:

而且这还只是一个开始。我还手搓的一个企业工会经费预决算审核的skill,也一同发布——我也正在把越来越多的体制内具体工作场景"Skill化"。让AI去处理那些规则明确、重复性高、但又不能出错的事情。

做这个Skill的过程中,有几个感触特别深。

第一个是,标准的魅力在于细节。

GB/T 9704这个标准我以前听过但没仔细看过。真正一条一条读下来,才发现它为什么存在。37毫米上边距是为了给装订留空间,28磅行距是为了阅读舒适度,奇偶页不同页码是因为你在翻页时页码应该在同一个位置。这些规则每一个都有它的理由,是几十年的公文实践沉淀出来的。

第二个是,做成一个"能用"的东西,和做成一个"好用"的东西,中间隔了一百次迭代。

V1版本我也觉得"能用"。但真正用了才发现不对。每发现一个问题就修一次,修着修着就到了v2.2.6。没有前面那几次的"不行",就没有第六次的"行"。

第三个是,AI的价值不在宏大叙事里,在具体的场景里。

这一年AI很热。各种发布会、各种愿景、各种"赋能"。但我越来越觉得,AI真正的价值不在那些宏大叙事里,就在这种具体的、琐碎的、每天都在发生的场景里。

一个能帮你把公文排对版的AI,比一百个只会画饼的AI有用。

公文排版只是第一个尝试。它证明了AI可以做好一件具体的、规则明确的、重复性高的工作。那下一个呢?

合同审核?政策合规检查?报告自动生成?很多都已经有现成的解决方案了,我也不准备重复造轮子,推荐大家分享你觉得好用的skill。

这些事每天都在消耗大量的人力。如果都能像公文排版一样,被做成Skill,让机器去做那些重复劳动,让人去做真正需要判断和创造的事情——这个画面,我想想就觉得很兴奋。

做这个Skill的起因其实很简单:就是我自己排公文排烦了。

试试看的心态,一步一坑地踩过来,从V1到v2.2.6,从七个Python脚本到一个体系化的Skill。

现在熊大帮我干活,我说"出一份正式通知",它十几秒就把Word文档吐给我。页边距对的,字体对的,页码对的,发给领导直接能用。那个被退回三次的下午,再也不会发生了。

这只是一个Skill。但这可能是第一次,让AI真正接入了一个体制内的具体工作场景。

AI不应该只在云端做那些高大上的事情。它应该走进办公室,走进工位,帮每一个具体的人解决具体的问题。

从神坛到现实,从概念到实践。这是我的一小步,但可能是迈向超级个体、甚至是超级组织的一大步。

如果你也在跟公文排版较劲——或者你在任何一个具体的工作场景里,觉得AI应该能做点什么——希望这篇文章能给你一个开始。

去试试看。

📢 一个征集

你工作中是不是也有这样的场景——规则明确、重复性高、每次都一样,但就是特别耗时间?

留言区告诉我,你工作中最希望AI帮你优化的场景是什么。

只要这篇文章点赞、在看、转发够多,我就一个一个安排,把你说的工作场景做成Skill。

当然我得坦白,我还是个菜鸟新手,太复杂的不一定能搞定。但在能力范围内的,我一定安排上。

——把你在和格式、数据、表格、报告较劲的故事写在评论区,说不定下一篇Skill就是为你做的。

评论区见。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~

谢谢你看我的文章,我们,下次再见。