相同的提示词,相同的图表

Prateek Rai 发布了 tldraw-canvas-kit,这是一套包含 19 种“智能体技能 (Agent Skills)”的集合,能够让 Claude Code 或 Cursor 等本地 AI 助手驱动离线 tldraw 桌面应用,并每次都生成完全相同的工程图表。该工具包无需任何云端连接或遥测,这意味着团队可以将视觉资产完全保留在本地。

为什么本地、确定性的图表工具至关重要

工程团队花费大量时间在幻灯片、文档网站和设计工具之间移动流程图、类图和架构图。每一次复制粘贴都会引入细微的变化——线条样式发生偏移、ID 被重新生成、布局发生漂移。当使用 LLM 重新生成图表时,即使文本提示词保持不变,结果往往也会呈现出不同的排列方式。对于需要符合审计要求的文档或可复现设计产物的组织来说,这种不确定性是一种负担。

Prateek 开发 tldraw-canvas-kit 是为了解决两个痛点:(1) 工具完全在用户机器上运行,以及 (2) 保证相同的提示词能产生相同的图表。通过提供一个 AI 智能体可以调用的本地 HTTP API,该工具包消除了网络延迟、数据外泄风险以及对 SaaS 订阅的需求。

工具包的工作原理

  • 离线核心 – tldraw 桌面应用运行一个接受 JSON 编码命令的本地服务器。不会进行任何外部调用,也不会有任何使用数据离开机器。
  • 智能体技能 (Agent Skills) – 每种技能都编码了固定的结构规范:布局数学计算、模板选择和稳定的 ID。当智能体调用技能时,它会收到一组确定性的绘图指令。
  • 幂等更新 – 如果技能针对现有图表运行,它会就地更新形状、删除过时元素并重新锚定边缘。其结果是一个可以刷新且不会堆积重复对象的画布。
  • 文件格式 – 图表以纯 .tldraw 文件形式存储。由于布局逻辑包含在文件内部,共享幻灯片会自动包含重现视图所需的导航规则。

该工具包支持 13 种图表类别,涵盖了从时序图、流程图到 ER 图、状态机、泳道图、用例图、组件图、包图、部署图、架构图、思维导图以及代码库地图等。用户只需描述所需的图表,技能便会处理底层的结构。

开发过程中的经验教训

  1. 箭头样式默认为手绘风格 – 即使请求的是干净的线条,API 最初也会创建一个草图风格的箭头。技能必须发出后续命令来切换样式。
  2. 箭头可能会在无提示的情况下穿过形状 – 如果连接线穿过节点,API 不会报错。需要通过视觉检查生成的截图来发现此类碰撞。
  3. 短箭头会导致边缘标签换行异常 – 如果连接线太短,标签可能会出现糟糕的换行,因此技能必须强制执行最小长度或调整标签位置。

这些小问题说明了为什么技能是基于 API 的实际行为而非基于对其行为的假设来构建的。

安装与使用工具包

npx skills add prateek11rai/tldraw-canvas-kit

该命令适用于 macOS 和 Linux。安装完成后,同一工作站上的 AI 智能体可以查询本地文档、生成代码,并将绘图命令发送到正在运行的 tldraw 服务器。其结果是生成一个可复现的图表,可以进一步编辑或导出到演示文稿中,且无需离开主机。

谁能从中受益,以及有哪些权衡

  • 注重安全性的团队 – 拥有严格数据处理政策的公司可以将所有设计产物保留在防火墙之后。
  • 文档工程师 – 需要将图表嵌入版本控制仓库的人员将获得一个确定性的事实来源。
  • 个人贡献者 – 厌倦了在每次 LLM 运行后手动调整布局的开发人员可以实现流程自动化。

主要的局限性在于对本地运行的 tldraw 实例的依赖。已经依赖云端图表服务的组织需要采用桌面应用并调整工作流程。此外,目前的技能集还不涵盖自定义模板库;用户必须在预定义的形状范围内进行操作。

下一步计划

Prateek 计划根据社区反馈扩展技能库,并增加对 Windows 的支持,从而扩大潜在用户群。他还希望看到第三方智能体集成该工具包,从而创建一个由专业化图表生成器组成的市场,而这些生成器都共享同一个确定性核心。

核心结论

tldraw-canvas-kit 证明了 AI 驱动的图表创建不必是一个仅限云端的、概率性的过程。通过将绘图逻辑锚定在本地 API 中并强制使用稳定的标识符,它让工程师能够在不牺牲隐私或控制权的情况下,生成可重复且可供审计的视觉图表。