[控场AI]
概念JSON Lines / JSON Lines格式

JSONL

一种每行存储一个独立JSON对象的文本格式,常用于日志记录、流式数据传输和大规模数据处理场景,支持逐行追加和流式解析

核心事实

时间轴 (近 90 天)

10月27日

Pi Durable 目前支持 SQLite、JSONL 文件存储和内存存储三种存储后端,其中内存存储关闭进程后数据即丢失。

待验证50%
10月19日

在 Pi Durable 中,SQLite 适合需要按条件查询状态和保证事务原子性的场景,JSONL 适合日志式追加、事后审计和快速人工检查。

待验证50%
10月19日

Pi Durable 将每个 task 和每次 tool call 的状态检查点写入 SQLite 或 JSONL 持久化存储。

待验证50%
10月19日

Pi Durable 对每次工具调用都写入持久化存储,会带来额外 I/O 开销和存储增长;对于高频调用的 Agent,JSONL 文件会快速膨胀,SQLite 也会面临写入压力。

待验证50%
10月19日

存储格式选择追加式JSONL,比反复重写JSON文件更能扛住硬停机,也方便grep和diff。

待验证50%
10月19日

运行账本(run ledger)是一种按时间顺序追加、每次模型调用写一行记录的日志文件,固定记录模型标识、端点、时间戳、token用量与延迟,以支持事后审计。

待验证50%
10月17日

账本脚本ledger.py只依赖Python标准库(Python 3.11+),为每次尝试追加一行JSON,因此重试天然计费。

待验证50%
10月17日

示例将接受的事件写入 JSONL 审计日志,但刻意不存储发送方和接收方的电话号码,只记录事件类型、消息 ID、来源检查结果以及是否可能产生费用。

待验证50%
10月16日

JSONL 日志场景隐含契约:每行自包含、字段可缺省,解析方必须对未知 type 或新增字段保持容忍,不能因未知记录整段失败

待验证50%
10月16日

harness 每次起草尝试写一行 JSONL,包含 task_id, placement, attempt_no, prompt_tokens, completion_tokens, wall_ms, ok, error_class, sql_sha256 等字段。

待验证50%

还有 16 条时间轴事件

全部知识事实 (20)

已验证

JSONL(JSON Lines)格式每行是一个独立 JSON 对象,支持流式追加写入而无需重新解析整个文件,写入为 O(1) 操作

75%
已验证

JSONL格式每行是一个独立的完整JSON对象,支持流式读取、并行处理和增量追加,Hugging Face的Datasets库原生支持其加载

75%
待验证

Pi Durable 目前支持 SQLite、JSONL 文件存储和内存存储三种存储后端,其中内存存储关闭进程后数据即丢失。

50%
待验证

在 Pi Durable 中,SQLite 适合需要按条件查询状态和保证事务原子性的场景,JSONL 适合日志式追加、事后审计和快速人工检查。

50%
待验证

Pi Durable 对每次工具调用都写入持久化存储,会带来额外 I/O 开销和存储增长;对于高频调用的 Agent,JSONL 文件会快速膨胀,SQLite 也会面临写入压力。

50%
待验证

Pi Durable 将每个 task 和每次 tool call 的状态检查点写入 SQLite 或 JSONL 持久化存储。

50%
待验证

存储格式选择追加式JSONL,比反复重写JSON文件更能扛住硬停机,也方便grep和diff。

50%
待验证

运行账本(run ledger)是一种按时间顺序追加、每次模型调用写一行记录的日志文件,固定记录模型标识、端点、时间戳、token用量与延迟,以支持事后审计。

50%
待验证

账本脚本ledger.py只依赖Python标准库(Python 3.11+),为每次尝试追加一行JSON,因此重试天然计费。

50%
待验证

示例将接受的事件写入 JSONL 审计日志,但刻意不存储发送方和接收方的电话号码,只记录事件类型、消息 ID、来源检查结果以及是否可能产生费用。

50%
待验证

JSONL 日志场景隐含契约:每行自包含、字段可缺省,解析方必须对未知 type 或新增字段保持容忍,不能因未知记录整段失败

50%
待验证

harness 每次起草尝试写一行 JSONL,包含 task_id, placement, attempt_no, prompt_tokens, completion_tokens, wall_ms, ok, error_class, sql_sha256 等字段。

50%
待验证

使用JSONL追加写而非JSON覆盖写是幂等任务的标准做法:JSONL每行独立,写入中断只丢最后一行;覆盖式JSON写入中断则整个文件损坏,进度归零。

50%
待验证

JSONL追加写入几乎没有性能负担,不需要复杂数据库事务,也不会阻塞智能体主流程

50%
待验证

JSONL以追加写入(append-only)方式记录状态变更日志,适合审计和顺序回放

50%
待验证

该系统根据访问模式选择不同的持久化技术,采用ChromaDB、JSONL和SQLite的混合存储方案

50%
待验证

每个状态转换留痕的做法能获得完整的审计轨迹,便于回溯任意Agent在任意时刻的状态变化

50%
待验证

核心持久化模式为:每一次状态转换写入一行JSONL审计记录,每一次重启读取日志的尾部

50%
待验证

Agent Standup 直接读取 Claude Code 写入 ~/.claude/projects 目录的 JSONL 格式会话文件,并实时跟踪当前会话

50%
待验证

JSONL 相比标准 JSON 数组的优势在于追加写入和逐行处理高效,劣势是人工阅读时可读性差

50%

来源文章