AI Agent 落地公文排版场景,我终于迈出了「AI赋能」的第一步
体制内内一个很痛的场景
如果你在体制内工作过,你一定经历过这个场景。要出一份正式公文。通知也好,请示也好,函也好。
你打开 Word,选好字体,调好行距,排好版,检查了两遍,发给领导。领导回了一句:「行距不对,回去重排。」
你改了行距,又发。又发现:「页边距不对,上边距要 37 毫米。」
你再改,再发。再发现:「页码格式不对,首页不能有页码,奇偶页要分开。」
一份几百字的公文,排版得折腾一下午。交上去还可能被上级单位打回来。
第一次经历这个的时候,坐在工位上发愣。一份公文而已,哪来这么多规矩?
后来我才知道,这些规矩不是谁定的,是有一个国家标准的——GB/T 9704-2012及2022。党政机关公文格式。并且还有很多地方、单位和机构,还有很多自己的标准或者习惯。
即便是国标的最低要求,37 毫米的上边距,28 磅的行距,二号方正小标宋简体做标题,三号仿宋做正文,「— N —」格式的页码,奇数页居右偶数页居左,首页不显示页码,成文日期要右空四字。条条框框,几十条细则。
这不是我一个人的痛点。
相信,每天,全国有多少体制内的同事在跟这些word或者WPS中的格式较劲?有多少份公文因为页码不对、行距不对、字体不对被反复退回?有多少时间被花在了这些毫无创造性的重复劳动上?
如果,这些规矩能不能让 Agent 来搞定?
不是那种很宏大的 AI,不是那种"赋能千行百业"的 AI。就是那种,能帮我把一个 Word 排版排对了的 AI,直接把一个排好版的word给我。
于是有了今天要聊的东西。
一个叫「公文排版」的 Skill。这是我做的第一个 Skill。也是我第一次意识到,AI 离真实的工作,原来可以这么近。
「熊出没」Agent团队
我搞了个叫「熊出没」的Agent团队,目前有熊大、熊二、光头强、梅西、星月和火娃六只Agent ,他们有的是OpenClaw 、有的是Hermes 和workbuddy,还有几个是一直在换的角色。这次让我拉出来的是,「Hermes 梅西」和「WorkBuddy 熊大 」。梅西这次担任vertifier,由熊大担任worker,让它帮我把 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 里的示例代码还是错的。
run._r.append(fldChar) # ❌ 这个 _r 根本不存在
这个 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技能。”
基于GB/T 9704-2012/2022公文格式及JG报送规范的专业公文排版工具。当用户需要生成正式公文(方案、报告、通知、请示)、制作Word文档、排版材料、调整公文格式、设置页面边距/字体/行距/页码时触发。支持AI自动排版,一键生成符合国标的公文Word文档。 https://skillhub.cn/skills/gov-doc-format
六次版本迭代,改了几十个 bug,写了上千行代码。最终的结果是,一个让熊大说「帮我排一份公文」就能搞定的事。
这个Skill具体能做什么:
页面设置,A4 纸,上下左右边距全部按国标来,不用你操心 字体字号,公文标题用方正小标宋简体二号,一级标题黑体三号,正文仿宋三号,全部自动匹配 行距和缩进,固定值 28 磅行距,首行缩进 2 字符 页码,— N — 格式,奇数页居右偶数页居左,首页不显示。域代码自动插入,打开 Word 自动算 落款和日期,成文日期右空四字,发文单位和日期之间空一行 发文字号和签发人,请示和报告自动带签发人 版记,抄送机关、印发机关、印发日期,末页偶数页 15 种文种,通知、请示、报告、函、纪要、批复、通报、决定,每种都有对应的模板 跨平台,Windows 和 Mac 都能用,字体自动映射 辅助函数,能自动识别段落类型,判断是标题还是正文,然后用对应的格式来排版
而且这还只是一个开始。我还手搓的一个企业工会经费预决算审核的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 就是为你做的。
评论区见。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~
谢谢你看我的文章,我们,下次再见。
夜雨聆风