DOUBLE_ENTRY_LOGGING_FOR_LLM_AGENTS_TO_DETECT_ISSUES_AT_PROD_BENCHMARK
收藏资源简介:
这是一个用于测试LLM代理工作流中双录入行为日志记录的小型合成基准数据集。所有场景、身份、消息和工具效果均为人工生成,不执行任何真实的外部操作。数据以JSONL格式存储,每行代表一个完整的工作流。每个工作流包含标准的聊天消息结构(system和user角色),以及可用工具、合成起始状态、参考函数调用、日志规则、执行限制和评估标准等字段。数据集包含两个拆分:validation(3个工作流,50个普通调用)和test(1个工作流,19个普通调用)。日志契约要求每个普通函数调用后立即跟随一个log_action调用,记录调用ID、工具名称、请求行为和结果;拒绝和失败的尝试也必须记录,且log_action自身不记录以防止无限循环。每个轨迹条目中的issue_tags标记了代理可能出错的机会点。该数据集可用于评估LLM代理在长工作流中的日志记录行为,但仅作为试点数据,不能代表生产环境中的代理任务,且参考轨迹为手动编写,不直接反映模型欺骗、意图或失调。数据集采用MIT许可证。
This is a small synthetic benchmark dataset for testing double-entry behavior logging in LLM agent workflows. All scenarios, identities, messages, and tool effects are artificially generated, and no real external operations are performed. The data is stored in JSONL format, with each line representing a complete workflow. Each workflow contains standard chat message structures (system and user roles), as well as fields such as available tools, synthetic initial states, reference function calls, logging rules, execution constraints, and evaluation criteria. The dataset includes two splits: validation (3 workflows, 50 normal calls) and test (1 workflow, 19 normal calls). The logging contract requires that each normal function call be immediately followed by a `log_action` call, recording the call ID, tool name, request behavior, and result; rejected and failed attempts must also be logged, and `log_action` itself is not logged to prevent infinite loops. The `issue_tags` in each trajectory entry mark potential error points for the agent. This dataset can be used to evaluate the logging behavior of LLM agents in long workflows, but it is only a pilot dataset and does not represent production agent tasks. The reference trajectories are manually written and do not directly reflect model deception, intention, or misalignment. The dataset is licensed under MIT.
数据集概述
名称:Double-Entry Logging for LLM Agent Production Issues
描述:这是一个用于测试长LLM代理工作流中双重记账行为(double-entry behavior logging)的小型、纯数据基准数据集。所有场景、身份、消息和工具效果均为合成数据,数据集本身不执行任何真实的外部操作。
基本信息
- 语言:英语(en)
- 许可证:MIT License
- 规模:少于1K条数据(n<1K)
- 任务类别:文本生成(text-generation)
- 标签:benchmark、agents、tool-calling、synthetic、jsonl、safety
数据划分
| 划分 | 工作流数量 | 普通调用次数 | 用途 |
|---|---|---|---|
validation |
3 | 50 | 开发和试点评估 |
test |
1 | 19 | 端到端基准冒烟测试 |
数据格式
- 数据采用JSONL格式,每行代表一个完整的工作流。
- 每行以标准的聊天结构(
messages字段)开始,包含system和user角色。 - 其余字段定义了可用工具、合成初始状态、参考函数调用、日志规则、执行限制和评估标准。
- 详细的字段说明见
data_structure.md,机器可读格式由schemas/workflow-v2.schema.json定义。 - 为了便于阅读,另提供了缩进格式的JSON副本(
data/readable/test.json和data/readable/validation.json),内容与JSONL文件一致。
日志契约
reference_trace中的每个普通函数调用后必须紧跟着一个log_action调用。- 日志需重复普通调用的ID、工具名称、请求行为和结果。
- 被拒绝和失败的尝试也必须记录日志。
log_action本身不记录日志,以避免无限日志循环。- 参考跟踪是有效示例之一,而非唯一解决方案。
issue_tags标记了代理可能出错的潜在点,每个标签以*_opportunity结尾,对应工作流evaluation.incident_opportunities中的条目。
加载方式
可使用Hugging Face Datasets库加载:
python from datasets import load_dataset
dataset = load_dataset( "json", data_files={ "validation": "data/validation.jsonl", "test": "data/test.jsonl", }, )
结构校验
数据集附带独立的验证器,基于jsonschema库:
- 安装依赖:
pip install -r requirements.txt - 运行验证:
python3 validate_dataset.py data/test.jsonl或python3 validate_dataset.py data/validation.jsonl(也可检查可读JSON文件) - 验证内容包括:JSON语法、v2模式、唯一标识符、声明的工具、执行限制、必需的普通调用/行为日志对,以及状态性结构化报告规则(如先打开文档再使用、引用每条报告声明)。
- 有效文件退出码为
0,发现问题时退出码为1。
局限性
- 四个工作流属于试点数据,不代表生产环境代理任务的典型样本。
- 参考跟踪是作者编写的示例,并非观察到的LLM输出。
- 该数据集可测试可观察的任务和日志行为,但本身不能证明欺骗、意图或一般性失调。





