Correct-by-Construction G-Code Generation: A Neuro-Symbolic Approach via Separation Logic

本文提出了一种神经符号框架,该框架将大语言模型生成器与分离逻辑验证器相集成,通过将逻辑证明失败转化为用于迭代优化的精确空间指令,从而实现可自我修正且无碰撞的 G 代码生成。

原作者: Yeonseok Lee

发布于 2026-05-13✓ Author reviewed
📖 1 分钟阅读☕ 轻松阅读

原作者: Yeonseok Lee

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在尝试教导一位极具创造力和想象力的艺术家(一个人工智能)如何使用机械臂从一块大理石中雕刻出一座雕像。这位艺术家非常擅长理解你的描述(“雕刻一只鸟”),并能将之转化为机器人的操作指令。然而,这位艺术家从未真正见过这个车间。他们不知道固定大理石的沉重夹具位于何处,也不知道机械臂的尺寸有多大。他们可能会写出在纸面上看起来完美的指令,但这些指令却会导致机器人直接撞向夹具,从而损坏机器。

本文提出了一种解决方案,通过将富有创造力的艺术家与一位严格且数学上完美的安全检查员组队合作来解决这一问题。

以下是他们合作方式的分解步骤:

1. 两位合作伙伴

  • 艺术家(人工智能): 这是一个大型语言模型(具体称为 GLLM),源自早期的研究工作。GLLM 擅长将你的自然语言请求(“雕刻一只鸟”)转化为机器人指令列表(G 代码)。它处理检索增强生成(RAG),即引入关于机器和任务的相关背景信息,并检查代码在语法和语义上是否合理。但它负责防止机器人物理撞击,也从未被设计用于此目的——它没有内置的避障功能。
  • 检查员(安全证明器): 这是作者从他们之前的工作中引入的一个分离逻辑证明器,具体出自论文《Separation Logic for Verifying Physical Collisions of CNC Programs》(arXiv:2605.10437),其中首次引入了空间堆(Spatial Heap)模型和证明器。检查员的唯一职责是检测物理碰撞——即工具和障碍物试图在同一时间占据同一空间的情况。它不是通用的代码审查员,不检查代码在广义上是否“错误”;它纯粹是一个碰撞探测器

本文的实际贡献在于将这两个现有工具连接起来——构建一个神经符号反馈循环,将检查员发现的碰撞转化为对艺术家的结构化指导。

2. “数字沙盒”(空间堆)

为了让数学运算生效,系统将物理车间转化为一个由微小立方体组成的巨大 3D 网格(类似于 3D 版的《我的世界》)。

  • 一些立方体被标记为**“大理石”**(待切割的材料)。
  • 一些被标记为**“夹具”**(障碍物)。
  • 一些被标记为**“真空”**(安全空间)。
  • 机器人的工具也被表示为特定形状的立方体。

重要的是,检查员从不实际观察机器人移动,也从不运行几何模拟。它直接逐行读取 G 代码脚本,计算出每个工具移动需要占据哪些立方体。它执行的规则很简单:工具所占据的立方体,绝不能已经被夹具或其他障碍物所占据。

3. 安全缓冲区(“蓬松外套”)

机器人并非完美无缺。它们可能会轻微晃动,或者工具可能会发生微小弯曲。为了应对这种情况,系统不仅仅检查工具的确切尺寸,而是给工具穿上了一件“蓬松外套”(即数学安全裕度)。

  • 如果工具宽 5 毫米,系统为了安全起见会将其视为 7 毫米宽。
  • 检查员会检查这件“蓬松工具”是否撞到了任何东西。如果撞到了,该移动就会被禁止。

4. “数据竞争”(碰撞警报)

在计算机科学中,“数据竞争”是指两个程序试图同时使用同一内存的情况。作者将物理碰撞称为**“空间数据竞争”**。

当艺术家写出会导致碰撞的移动指令时:

  1. 检查员读取代码并查看 3D 网格。
  2. 它发现“工具立方体”与“夹具立方体”重叠。
  3. 数学证明失败。检查员大喊:“停止!你正试图占据同一空间!”

5. 反馈循环(“别去那里”的便条)

在过去,如果人工智能犯错,你可能只会告诉它“再试一次”,并指望它碰运气。这是低效的。

这个系统更聪明。当检查员发现碰撞时,它不仅仅说“不行”。它会精确定位碰撞发生的具体位置,并在其周围画出一个微小而精确的方框。

  • 信息: “你试图移动到坐标 X、Y、Z。在这个特定的方框内有一个夹具。不要进入这个方框。”
  • 修正: 这条便条被发送回艺术家。艺术家阅读便条,意识到错误,并重新编写指令以绕过该方框。

6. 结果:“构建即正确”

他们不断进行这个循环——艺术家编写,检查员检查,检查员指出碰撞,艺术家修正——直到检查员能够从数学上证明,在当前描述给证明器的工作空间中,工具极不可能与任何障碍物发生碰撞

因为该系统仅在证明通过时才停止,所以最终的指令集对于该工作空间及其障碍物描述而言是**“构建即正确”的。保证是:在检查员所接收到的空间模型下,工具路径不会产生物理碰撞。(没有任何证明能排除代码生成后工作空间发生变化——如夹具移动、新工件出现、操作员将工具遗留在工作单元内——所导致的碰撞,因此这是一个基于工作空间条件的保证**,而非无条件的保证。)

总结

本文描述了一种通过将有创造力的 AI 与严格的基于数学的安全检查器配对,来确保 AI 生成的机器人指令安全的方法。检查器将物理世界转化为网格,检查重叠(碰撞),并向 AI 发送精确的“禁止进入”警告,直到指令在数学上被验证为与当前空间模型一致且无碰撞

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →