返回首页
最新
标题:JSE – 一种基于JSON的S表达式格式,用于结构化AI输出
大家好,
我一直在尝试一个关于AI系统结构化输出的小想法,想分享一个早期的规范以获取反馈。
*JSE(JSON结构表达式)* 是一种轻量级约定,允许 *S表达式风格的逻辑嵌入有效的JSON中*。
动机很简单:
现代AI模型能够可靠地生成JSON。然而,JSON通常被视为*数据*,而许多AI交互实际上需要表达*结构化意图或计算*(类似于Lisp表达式、DSL或AST)。
工具调用和MCP解决了一部分问题,但它们往往是*特定于API的协议*,而不是*通用的结构表示*。
JSE试图用最小的规则集填补这一空白。
---
### 核心思想
在JSE中:
* 以`$`开头的字符串被视为*符号*
* JSON数组或对象可以表示*S表达式*
* 格式保持*100%有效的JSON*
* 元数据可以与表达式共存
* `$quote`允许原始数据部分
从概念上讲:
> 就像一个*组*由*集合加上定义在其上的操作*组成,
> *JSE是应用于JSON数据的S表达式系统。*
示例:
```json
["$add", 1, 2]
```
或者带有元数据:
```json
{
"$call": "$search",
"query": "JSON S-expression",
"top_k": 5
}
```
理解JSE的系统可以将这些视为结构化操作,而不理解的系统仍然可以将其视为普通的JSON。
---
### 这对AI可能有用的原因
许多AI系统需要传达诸如:
* 推理计划
* 工具管道
* 结构化转换
* 查询语言
* 类DSL指令
如今,这些通常实现为:
* 特定的JSON模式
* 工具特定格式
* 嵌入的代码字符串
JSE试图提供一种*结构化意图的统一表示*,其特点是:
* 确定性
* 机器可解释
* 易于LLM生成
* 易于人类阅读
重要的是,*JSE并不旨在成为一个完整的Lisp或图灵完备的系统*。每个实现可以选择支持多少表达空间。
---
### 设计约束
该格式试图满足一些实际目标:
* 始终有效的JSON
* 易于LLM生成
* 接近S表达式语义
* 可扩展的元数据
* 足够轻量以嵌入提示或API响应中
---
### 示例用例
一些可能有用的领域:
* AI编排系统
* 代理通信协议
* 结构化推理跟踪
* 嵌入式DSL提示
* 跨模型通信格式
---
### 规范和代码库
早期规范和示例在这里:
https://github.com/MarchLiu/jse
该规范有意设计为可以*直接嵌入提示中*,允许模型一致地生成JSE结构。
---
### 我希望获得反馈的问题
* 是否有我应该研究的先前作品?
* 与JSON Schema / 工具调用相比,这是否有用?
* `$symbol`的设计是否合理?
* 在语义上是否存在明显的边缘案例?
期待听到大家的想法。
我收到了这封邮件(不过他们的网站上没有相关信息):<p>嗨 XX,<p>我们有一些艰难的消息要分享:StatHat将在2026年4月4日的30天内关闭。<p>在此之前,您可以导出您的所有数据。具体说明请访问 https://www.stathat.com/manual/export<p>重要日期:<p>• 数据导出可用时间:现在至2026年4月3日
• 服务关闭日期:2026年4月4日<p>如果您有任何问题,请通过 contact@stathat.com 联系我们。<p>感谢您这些年来使用StatHat。<p>- StatHat
演示:
<a href="https://tubersalltheway.top/zz/pages/auth/login" rel="nofollow">https://tubersalltheway.top/zz/pages/auth/login</a>
嗨,HN,
我是 News Wise 的独立开发者。
我创建这个应用主要是为了满足自己的需求。每个早晨,我发现自己在五个不同的网站上浪费了太多时间,只为查看当地天气、查找昨晚的体育比分,以及在开车上班前阅读主要新闻头条。
我希望能在一个快速、轻量级的仪表板上集中所有信息,更重要的是,我希望在开车时能够安全地获取这些信息。
它的功能:
- 汇总6个类别(世界、科技、商业、科学、娱乐等)中15个最热门的新闻故事,并每4小时更新一次。
- 根据您的坐标获取超本地天气信息。
- 跟踪实时的体育比分、排名和阵容(每10分钟更新一次),而不受大型体育网络的干扰。
- 每日通勤:这是核心功能。它提取7个最重要的摘要故事,通过AI处理,并生成一个音频文件,您可以在开车时直接从浏览器播放。
技术栈:
这是一个Angular前端,连接到Node.js/Express后端,使用PostgreSQL数据库,并部署在Digital Ocean的虚拟机上,使用Nginx作为反向代理。
请求:
我目前处于测试阶段,想要对后端架构进行压力测试。我已经设置了14天的免费试用,您可以完全绕过付费墙进行测试。
我希望能得到一些严厉而诚实的反馈,具体包括:
- “每日通勤”功能中AI音频生成的自然度。
- 体育数据的用户界面布局——与主要体育应用相比,它是否足够简洁?
- 您在地理位置天气获取中发现的任何边缘案例错误。
感谢您查看这个应用,我会在评论区待一整天,回答任何问题!