跳到主要内容
AI News HubLIVE
站内改写1 分钟阅读

Jacquard:一种由AI编写、人类审核的编程语言

文章摘要

Jacquard是一种研究原型编程语言,专为AI编写、人类审核的代码设计。它通过语言内置的效果跟踪、概率编程和结构化身份,让人类审核者无需逐行阅读代码即可理解程序的影响范围与确定性。

来源Hacker News AI作者: jbwinters
Jacquard:一种由AI编写、人类审核的编程语言
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

Jacquard 是一种面向 AI 编写、人类审核的代码的编程语言研究原型。它旨在解决一个关键问题:当大多数代码由机器生成时,人类审阅者需要一种方式,在不逐行阅读的前提下,快速判断程序能做什么、会接触哪些资源,以及结果的确定性如何。

Jacquard 的核心设计围绕三个特性:显式效果跟踪、概率编程和内容寻址标识。语言内置了代数效果(algebraic effects)和效果行系统,每个函数签名都标注了它可能执行的副作用(如网络请求)。运行时默认拒绝未显式授予的全局效果(通过 --allow 参数授权),从而在语言层面实现了权限控制。

概率编程方面,Jacquard 将采样和观测作为效果操作,通过处理器(handler)实现推理算法。开发者可以编写一个在有限离散世界中枚举所有可能结果的程序,并计算每个结果的精确概率。一个示例是代码修复演示:它把失败的测试视为证据,计算哪些补丁仍然可能以及每种补丁的概率。

内容寻址标识则基于规范化的解析结构(而非源代码字节)计算哈希。注释、格式化、本地重命名等都不会改变程序的标识,因此纯测试仅在代码或依赖内容变化时重新运行。

Jacquard 当前版本 0.1 为候选版,支持端到端工作流:一个紧凑的 .jac 语法、OCaml 编写的检查器和 CPS 解释器、一个将内核编译为 C 的 AOT 后端,以及 Warp 测试框架。它还包含命令行工具、标准库和案例研究。安装程序支持 Linux x86-64、macOS Intel 和 Apple Silicon 二进制文件。

Jacquard 的设计哲学是:语言本身应该回答“这段代码能接触什么?我们有多确定?”而不需要人类审阅每行代码。它为 AI 代理编写的代码提供了一层可审核的确定性保障。

展开要点与分析

文章情报

工程师中级

要点

  • Jacquard通过代数效果和显式权限授予,使程序副作用可追踪、可控制。
  • 支持概率编程和穷举搜索,可直接计算有限离散模型的精确概率。
  • 基于规范化结构的哈希提供内容寻址标识,重命名或格式化不影响身份。
  • 已发布0.1候选版,包含完整工具链和原生AOT编译。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。