一条命令导出 Agent 轨迹:witty-insight 的 ATIF v1.6 数据格式完整实践

发布时间:2026/10/28 3:47:45

一条命令导出 Agent 轨迹:witty-insight 的 ATIF v1.6 数据格式完整实践 一条命令导出 Agent 轨迹witty-insight 的 ATIF v1.6 数据格式完整实践【免费下载链接】witty-insightThe witty-insight is an eBPF-based observability framework for tracing agent execution pipelines.项目地址: https://gitcode.com/openeuler/witty-insightwitty-insight 基于 eBPF 采集 Agent 的 LLM 调用并把完整运行轨迹按 ATIF v1.6 标准一键导出为 JSON——一份文件就能还原 Agent 的全部决策过程、工具调用与 token 消耗。Agent 排查最费时的环节行为散落在三处复盘一次 Agent 行为最难的从来不是拿到日志而是把日志对齐。系统提示词藏在请求体开头工具返回埋在消息历史中间token 统计躲在响应的计费字段里三块数据分属不同协议帧手工拼一次调用链要翻几十分钟。更麻烦的是格式不互通Claude Code 导出的轨迹和 OpenAI 风格的记录字段名完全不同分析脚本在 A 框架上写好换 B 框架就要重写。witty-insight 把 LLM 调用先还原成语义事件、持久化到本地 SQLite再提供一组 ATIF 导出端点让你直接拿到标准化 JSON跳过所有对齐工作。先认识 ATIF v1.6给 Agent 轨迹盖一个标准面单ATIFAgent Trajectory Interchange Format代理轨迹交换格式就像快递面单无论哪家快递公司揽收面单上发件人、收件人、重量的位置都一样分拣设备照单干活。ATIF 固定了字段位置让任何团队的解析工具都能读懂不同 Agent 系统产出的轨迹。witty-insight 当前实现的是 ATIF v1.6 版本四个核心结构如下结构作用AtifDocument轨迹根文档schema_version固定为ATIF-v1.6含session_id、agent配置、steps步骤数组与final_metrics汇总AtifStep单个交互步骤source取值system/user/agent可携带消息文本、工具调用与观测结果AtifToolCall/AtifObservation前者记录调了哪个工具、传了什么参数后者记录工具执行后环境返回的反馈AtifStepMetrics/AtifFinalMetrics前者是单步的prompt_tokens、completion_tokens、cached_tokens后者是整条轨迹的 token 总量与步骤数所有字段定义与序列化逻辑都在 src/atif/schema.rsNone字段导出时会自动省略所以 JSON 里不会有一堆空值。三步导出你的第一份轨迹 JSON先启动采集与服务agentsight二进制需要trace与serve两个子进程前者用 eBPF 抓事件后者把 SQLite 里的数据通过 HTTP 暴露出来。sudo ./target/release/agentsight trace --config agentsight.json ./target/release/agentsight serve --db genai_events.db --port 7396⚠️serve默认只监听127.0.0.1:7396跨机器访问需显式传--host。三个导出端点覆盖不同粒度按需选择端点导出范围GET /api/export/atif/trace/{trace_id}单个 trace即一次用户查询对应的完整 LLM 调用链GET /api/export/atif/session/{session_id}整个会话包含该 session 下所有 traceGET /api/export/atif/conversation/{conversation_id}单条对话内的全部 LLM 调用实际操作上先查会话列表拿到 ID再请求导出curl http://127.0.0.1:7396/api/sessions curl http://127.0.0.1:7396/api/export/atif/session/session_id第二个请求返回的 JSON 就是一份完整轨迹文档可直接喂给任何 ATIF 解析工具。深挖一条 LLM 调用记录如何变成标准轨迹转换逻辑集中在 src/atif/converter.rs核心是五个动作取数从 genai SQLite 表中按 trace / session / conversation 拉出TraceEventDetail事件序列每条对应一次 LLM 调用。补头trace 内第一次调用的请求上下文里提取系统提示词与用户提问生成source为system和user的前置步骤。拆步每次 LLM 调用映射为一个agent步骤——响应消息文本进message推理文本进reasoning_contentToolCall 部分进tool_callstoken 字段进metrics。关联观测这是最关键也最微妙的一步。Agent 调工具后工具结果并不会独立落库而是作为tool角色消息出现在下一次LLM 请求的历史里。转换器因此向前多看一条事件定位到最后一个带 ToolCall 的 assistant 消息之后收集其后的 tool 角色响应优先按tool_call_id精确匹配匹配不上再按位置对齐。汇总final_metrics直接累加所有步骤的input_tokens、output_tokens与缓存命中数。每个字段都有两级取值来源先尝试反序列化事件里的完整LLMCall语义结构失败则回退到output_messages、input_messages等数据库列保证部分损坏的记录也能导出。完整的语义模型说明见 genai-semantic.md。下一步做什么✅ 先用/session端点导出一份真实会话和数据库里的原始 LLM 调用记录逐字段对一遍理解一条记录拆成几步。 端点实现在 src/server/handlers.rs整体数据链路参考 docs/ARCHITECTURE.md。 免费发行版下载入口项目官网源码构建只需一行git clone https://gitcode.com/openeuler/witty-insight【免费下载链接】witty-insightThe witty-insight is an eBPF-based observability framework for tracing agent execution pipelines.项目地址: https://gitcode.com/openeuler/witty-insight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/23 21:01:04

Grok Voice规模化服务Starlink:语音网关与会话编排实战

Grok Voice 规模化服务 Starlink 客服与销售:从语音网关到会话编排的完整实践如果你做过跨国业务,一定体会过“客服团队跟不上时区”和“销售线索回复太慢”的双重压力。Starlink 这类卫星互联网服务商,用户分布在全球各个时区,偏…

2026/10/24 22:58:34

基于CNN-Transformer的轴承故障智能诊断:从振动信号到工业预测性维护

简介:时间序列分类是工业智能运维中的核心任务,旨在从连续的传感器数据中识别出特定的模式或状态。其原理在于通过算法模型自动学习数据中的时序依赖与特征表示,从而替代传统依赖人工经验的分析方法。这一技术的核心价值在于能够实现设备状态…

2026/10/26 23:28:44

告别 stash 切换:Git 工作树 3 步搞定多分支并行开发

告别 stash 切换:Git 工作树 3 步搞定多分支并行开发 【免费下载链接】superpowers An agentic skills framework & software development methodology that works. 项目地址: https://gitcode.com/GitHub_Trending/su/superpowers 在 feature 分支写到一…

2026/10/28 3:42:50

神通数据库OSCAR安装部署全流程:从环境准备到实例初始化

国产数据库这两年在信创项目里落地得越来越密集,神通数据库(OSCAR)作为其中比较有代表性的一款,很多团队第一次接触它,往往卡在最不起眼的环节——安装包部署。我前后在几套不同的服务器环境里做过神通数据库的部署&am…

2026/10/28 3:42:50

Agent-Reach:从harness到沙箱,一个轻量级AI Agent运行时的设计实践

Agent-Reach 这个项目,起因是我在一次深夜调试里差点把电脑砸了。当时我在做一个多 Agent 协作实验,图省事直接上了某全家桶框架,结果白天装依赖,晚上查报错,半夜还得跟版本兼容性搏斗。最后我实在忍不了,推…

2026/10/28 3:42:50

Flutter与OpenHarmony的违禁词过滤实战

1. 项目概述:当Flutter遇上OpenHarmony的违禁词过滤需求在移动应用开发领域,内容安全始终是不可忽视的重要环节。最近我在为一个OpenHarmony平台的社交类应用集成Flutter框架时,遇到了一个典型的内容过滤需求——如何高效识别并处理用户生成的…

2026/10/28 3:42:50

智慧农业AI系统架构设计与实践指南

1. 智慧农业AI系统的核心架构设计在田间地头摸爬滚打十几年后,我深刻体会到传统农业面临的三大痛点:资源浪费严重(水肥利用率不足40%)、生产环节割裂(从种植到销售信息断层)、经验依赖性强(老农…

2026/10/28 3:42:50

impeccable用法深度拆解:从词源、搭配到常见错误避坑

1. 为什么值得花十分钟搞懂 impeccable最近一段时间,impeccable 被搜得很凶。我最早注意到这个词,是在一份雅思高分作文的考官批注里:考生用 The waiter had impeccable manners 形容一个服务员,考官不仅没扣分,还专门…

2026/10/28 3:37:50

三步解码法:高效理解PRD文档的技术实践

1. 需求文档阅读困境与破局之道每次打开产品经理发来的PRD文档,你是不是也有这样的体验:密密麻麻的文字堆砌了十几页,专业术语和抽象描述让人摸不着头脑,看完前两页就已经头晕目眩?作为曾经被需求文档折磨得死去活来的…

2026/10/27 14:24:03

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/27 9:34:54

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑