news 2026/10/11 20:06:06

让AI替你写日志:evlog Agent Skills实战,AI助手自动落地日志规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
让AI替你写日志:evlog Agent Skills实战,AI助手自动落地日志规范

【免费下载链接】evlog

Digging through logs is not observability. It's hope — wide events, structured errors, TypeScript-first, every runtime.

项目地址:https://gitcode.com/gh_mirrors/ev/evlog
点击查看免费下载

evlog 是一个覆盖全部 TypeScript 运行时的结构化日志库,核心思想是"宽事件(Wide Events)"与自解释的结构化错误。而 evlog Agent Skills 更进一步:它把日志规范打包成 AI 编程助手可直接安装的技能包,让 AI 自动审查、重构并守护你的日志质量。本文将带你在 1 分钟完成安装,并看清 3 个 AI 替你写日志、查日志的实战场景。

🤖 为什么 AI 写的日志总是一盘散沙

让 AI 助手写一个 API,它十有八九会写出这种"野生"风格:

console.log('Request received') console.log('User:', user.id) console.log('Payment failed') // 凌晨三点很难找到这一行 throw new Error('Something went wrong')

三个隐形代价:

  • 日志碎片化:一个请求产生 10 行以上日志,故障时只能靠祈祷去关联
  • 错误无信息量:"Something went wrong" 对值班的人毫无帮助
  • AI 无人约束:助手默认习惯console.log和new Error(...),除非仓库里有东西明确告诉它"别这么写"

evlog 的理念恰好相反:一次请求 = 一条宽事件,所有上下文合并进一条 JSON;错误自带why/fix字段自我解释。Agent Skills 就是让 AI 自动按这套方式写代码的"规范大脑"。

📦 什么是 evlog Agent Skills

Agent Skills 是一种把领域知识打包成可安装技能包的开放规范,AI 助手安装后即可按包内的知识工作。evlog 的技能包就存放在仓库根目录的skills/中,由官方文档与审查清单直接转化而来:

技能教 AI 做什么文件位置
review-logging-patterns识别console.log、泛化错误等反模式,指导迁移到宽事件与结构化错误SKILL.md
analyze-logs读取本地.evlog/logs/的 NDJSON 日志,做错误排障、慢请求分析、请求追踪SKILL.md

review-logging-patterns技能还内置了 3 份 AI 工作时会引用的参考清单:宽事件模式(wide-events.md)、结构化错误(structured-errors.md)、代码审查清单(code-review.md)。

⚡ 1 分钟安装:一条命令教会 AI 日志规范

在项目根目录执行:

npx evlog agents

输出类似:

✓ created AGENTS.md ✓ created CLAUDE.md ✓ installed the evlog skills

背后是 3 件事(实现见 commands/agents.ts):

  1. 在AGENTS.md写入约定块:声明规则——一次操作一条宽事件、分组上下文、结构化错误、敏感操作要审计、什么永远不能进日志。这个块刻意保持简短,因为它会被加载进 AI 的每一轮对话
  2. 生成CLAUDE.md:一行指向 AGENTS.md,让不同 AI 助手读到同一套规则
  3. 安装技能包:委托 skills CLI 自动解析各助手的技能目录(如.claude/skills、.agents/skills),保证只有一份可更新的副本

该命令幂等、可安全重复执行:再次运行只会报告"已是最新",工作区保持干净。建议升级 evlog 后重跑一次。

🛠️ 实战场景 1:让 AI 审查并重构你的日志代码

安装完成后,对 AI 说一句:

Review this file for logging anti-patterns(审查这个文件的日志反模式)

AI 会按清单开工:找出console.log调用、泛化throw new Error(...)、"日志+抛错"反模式、缺少请求上下文的 handler,并给出重构建议。重构后的形态大致是:

const log = useLogger(event) log.set({ user: { id: user.id, plan: 'premium' } }) log.set({ cart: { items: 3, total: 9999 } }) throw createError({ message: 'Payment failed', why: 'Card declined', fix: 'Try a different payment method', })

请求结束时,框架自动发出一条宽事件:method、path、耗时、所有log.set的上下文都在一条 JSON 里,why/fix也会随错误进入日志——人和 AI 都能直接读懂。完整模式见宽事件文档与结构化错误文档。

🔍 实战场景 2:AI 直接读日志帮你排障

开启文件系统 drain 后,宽事件会被写入.evlog/logs/*.jsonl:每个请求一行、每天一个文件。analyze-logs技能教 AI 直接使用这些文件,你只需要自然语言提问:

  • "Why is the checkout endpoint failing?"→ AI 定位level: error的事件,读出error.data.why直接告诉你根因
  • "Show me the slowest requests from today"→ 按durationMs排序,列出最慢的接口
  • "追踪某个 requestId"→ 一行日志取出该请求的全部上下文

因为每行都是自包含的宽事件,AI 不需要在碎片行之间来回关联——这正是 evlog 的设计初衷。

📈 给规范"打分":让 AI 循环改进日志覆盖

如果你的项目使用 Nuxt、Next.js、Hono、Express、Fastify 等受支持框架,还可以让 AI 跑一次覆盖度扫描:

npx evlog map --no-write

输出会给每个入口打分(满分 100),并直接点名最该修的 "FIX FIRST":

score /100 29 entry points scanned FIX FIRST 1. ANY /api/auth/:all* A — touches auth and logs nothing

典型闭环是:AI 按顺序修完 FIX FIRST → 重跑map→ 看分数上涨。在 CI 里可以用--min-score 80(低于阈值即失败)或--baseline(本次 PR 让分数变差即失败)把规范锁死。

📋 快速回顾

  • 安装:npx evlog agents,一条命令写入约定块 + 安装技能包
  • 审查:说一句"审查我的日志代码",AI 按清单修复反模式
  • 排障:问一句"为什么报错了",AI 直接读.evlog/logs/给出根因
  • 打分:evlog map给出分数与修复清单,配合 CI 门禁防止规范退化

更多细节可参考官方文档 Agent Skills 参考 与 evlog agents 命令。从此,写规范的日志不再是负担——而是 AI 的活儿。

【免费下载链接】evlog

Digging through logs is not observability. It's hope — wide events, structured errors, TypeScript-first, every runtime.

项目地址:https://gitcode.com/gh_mirrors/ev/evlog
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 20:01:33

机器学习期末复习题全解析:从贝叶斯到SVM与聚类避坑指南

简介:机器学习期末复习题以PDF文档形式呈现,是一份面向高校机器学习课程期末备考的题库资料,适合需要系统巩固算法原理、概念辨析与典型题型训练的本科生或自学者。内容覆盖监督学习与无监督学习、概率分布与共轭先验、朴素贝叶斯分类器、线性…

作者头像 李华
网站建设 2026/10/11 19:55:41

PINN物理信息神经网络求解微分方程:从损失函数设计到PyTorch实战

简介:围绕物理信息神经网络(PINN),提供了一套基于Python实现微分方程求解的实践资料,面向科研人员与深度学习、数值计算交叉方向的学习者。其核心思路是把控制方程、边界条件及初始条件嵌入神经网络损失函数&#xff0…

作者头像 李华
网站建设 2026/10/11 19:55:01

可穿戴传感器时间序列数据增强:Python代码实现与避坑指南

简介:这份资源面向从事可穿戴传感器、人体活动识别与帕金森病监测等方向的研究者和开发者,提供时间序列数据增强的示例代码。其思路源自TT Um等人发表于ICMI 2017的论文,通过对原始信号施加多种失真变换来扩充样本,从而为识别模型…

作者头像 李华
网站建设 2026/10/11 19:54:22

期货自动交易软件横向实测:五款主流平台深度评测

这两年期货市场的波动越来越大,身边不少做手动交易的朋友都在聊同一个话题:要不要上自动化交易系统。说实话,我从2020年开始就在断断续续使用各类期货自动交易软件,从最基础的量化回测平台到直接对接实盘的交易终端都接触过一些。…

作者头像 李华