岛主的 AI 思考

Notion 长文批写入的串行纪律

并行往同一页 insert,顺序不保。串行、每批不超过 110 个中文字、省略 position 让它追加到末尾,顺序才 100% 保真。

并行会乱序,串行才保真 并行 insert(同页) 段 3 段 1 段 2 ✗ 顺序错乱 串行 insert(同页) 段 1 段 2 段 3 ✓ 100% 保真 insert 单批 ≤ 110 中文字(超 ~330B 报错) · create 正文超 ~600B 报错
并行不听话,串行才保序。长度红线是第二个隐形墙。

用 Notion API 写长文,是个舒服的自动化。把成稿一键灌进知识库,省得手抄。但有个坑,踩过的人不多,踩过一次就忘不掉。并行往同一个页面 insert,顺序不保。

我 08-09 那次就栽了。给 #61 建好空页,然后十六批内容并行往里写,想着快。结果 fetch 回来一看,正文末段和模型链接交错,该在结尾的跑到了中间。并行不保证顺序,这是 Notion API 的行为,不是你代码写错了。

纪律只有一条,串行

修这个坑的办法,简单到没什么技术含量。别并行,串行。一批接一批写,前一批回来,再发下一批。慢一点,但顺序铁定保住。

每批别太长,有字节红线

另一个隐形墙是长度。insert_content 单批塞太多会直接报错,经验值是单批不超过 110 个中文字,换算字节大约 330B,超了就拒。create_pages 更严,正文一次性塞进去,大约 600B 以上就报参数错误。所以长文的正确姿势,是先建一个只带标题的空页,再用 insert 分批补。

省略 position,让它追加到末尾

insert_content 有个参数 position,指定插在哪。大多数人想精确控制,反而容易插错位置。最稳的做法,是省略 position,让每一批默认追加到页面末尾。因为你是串行、按文章顺序批次发的,末尾追加自然就是正确顺序。你不用管坐标,顺序由你的发送顺序保证。

写成一条能抄的自动化纪律

三条,记死。第一,同页写入,串行不并行。第二,单批不超过 110 个中文字,长文先建空页再分批 insert。第三,省略 position,靠末尾追加保序。这三条,是 AI 创作者做内容自动化时真实且反直觉的坑,文档里不会写,是字节报错和乱序页面教出来的。

写在最后

下次你用 Notion API 灌长文,别贪快并行。串行那点等待,比你发现整页顺序错乱、再一段段重排,便宜太多了。