mcpField
W
weave-instrument

weave-instrument

github.com/wandb开发7197 次安装2 周前更新
代码仓库

关于 weave-instrument

这是一项为 Python 或 Node 应用添加并检查 Weave 跟踪的技能,面向负责应用观测的开发者。它要求先检查登录,再选择埋点方式并逐步验证跟踪数据。

主要功能

  1. 01修改前检查 W&B 登录
  2. 02选择 Span、自动埋点或 OTel
  3. 03埋点模型、工具和 Agent 路径
  4. 04核对跟踪数据与实际执行
  5. 05运行测试和一致性检查

适用场景

  1. 01为 Agent 应用添加跟踪
  2. 02扩展现有 OTel 流水线
  3. 03检查跟踪结构和后端接收情况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wandb/skills --skill weave-instrument

安装后在 Claude Code 中输入/weave-instrument确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
otel_auto.md
otel_endpoint.md
read_back.md
session_sdk_python.md
session_sdk_typescript.md
trace_fidelity.md

详细介绍

Weave 插桩

编辑或初始化之前,请先完成登录检查。 如果不存在有效登录,只发送该部分的回复,然后停止。

确认登录有效后,检查应用的依赖项、Agent 边界以及现有的 OTel 提供程序。 发送数据前,确认 entity/project 和运行时凭据;切勿读取、打印或提交 API 密钥。更改任何插桩路径前,请阅读 跟踪保真度。在启动时仅初始化一次:在 Python 中使用 weave.init("entity/project"),或在 Node 中使用 await weave.init(...)。

首先检查登录

编辑代码或初始化跟踪之前,通过已配置的 SDK 或连接器,以非交互、只读的身份请求验证目标部署中现有的 W&B 登录状态。直接使用现有凭据;切勿打印、复制或检查机密值。不要调用 login 或跟踪 init 来探测登录状态。

如果不存在有效登录,请停止。不要编辑、初始化或继续此技能。 不要在本会话中运行 wandb login。本会话的 shell 不是普通终端,因此 wandb login --verify 会退出并显示 No API key configured,而不会提示输入。不要在此聊天中索要密钥,也不要创建凭据。

仅发送以下内容,不要发送其他内容。不要添加决定、备注、计划或文档链接:

目前还没有 W&B 登录,因此此流程到此为止。请打开一个新的终端标签页并运行 wandb login --verify。请在 https://wandb.ai/authorize?ref=models 创建 API 密钥。如果浏览器打开了其他页面,请重新打开该链接。在那个终端中粘贴密钥,不要粘贴到这里,然后输入 continue。

对于自托管或专用部署,请使用 wandb login --verify --host <base-url> 以及该命令打印的授权页面。仍然只能发送上述内容。

  • 如果检查不可用,或因连接或权限问题失败,请报告登录状态/访问权限未经验证,然后停止;不要假设凭据无效。
  • 用户继续后,请确认应用运行时可以使用其自身配置的凭据并访问 entity/project。浏览器登录并不能建立 SDK 身份验证。没有 .netrc 回退机制的 Node/Forge 运行时需要用户通过其运行时机密机制配置凭据。

选择机制

  • **显式 Agent 跨度:**当自动插桩无法生成所需的跟踪树时,使用 Session SDK 记录轮次、模型调用、工具和委派。 阅读 Python 或 TypeScript 参考文档。
  • **自动插桩:**仅当已安装的 SDK 能够捕获相应库并生成所需跨度结构时使用。检查 Python 的 INTEGRATION_MODULE_MAPPING 或 Node 的 integrations/hooks.ts,然后验证发出的跨度。阅读 自动插桩注意事项;仅在注册表中列出并不能证明捕获功能已启用。避免重复手动包装。
  • **现有 OTel 管道:**使用端点配置将 Weave 导出添加到该提供程序。

一个轮次涵盖一次用户交互,包括其工具循环。一个 LLM 跨度涵盖一次模型调用,直到流式传输完成;一个 Tool 跨度涵盖一次执行;一个 SubAgent 跨度涵盖一次委派。记录实际输出/用量,并保留提供商的工具调用 ID。保持返回值、异常、重试和取消行为不变。发生失败时关闭跨度,并隔离并发对话。

增量实施

一次只添加一条跟踪路径:先是模型调用,然后是其工具循环,最后在适用时添加委派或并发。每次更改后,运行这条路径并按照回读验证进行检查。扩展插桩前,将发出并存储的跨度与实际执行情况进行比较。

修复不匹配之处,并在继续之前重新运行相同检查。结果为空、查询失败或检查不可用,都表示未经验证,而不是通过。请在此处停止,并说明用户必须采取哪些措施才能解除验证阻塞。

验证

运行相关的应用程序测试,并对已添加检测的路径运行 一致性检查。如果完整测试套件需要 CI、浏览器或不可用的服务,请运行涵盖成功和失败情况的本地专项检查,并报告跳过的测试覆盖范围。检查父子关系和 gen_ai.operation.name:对于轮次/子 Agent,使用 invoke_agent;对于大模型,使用 chat;对于工具,使用 execute_tool。具有 Agent 结构的追踪应归入 Agents;扁平调用应归入 Calls。凭据可用时,确认数据已到达后端;初始化横幅或成功刷新并不能证明数据已送达。否则,请报告未经验证的范围,并给出应用程序的确切冒烟测试命令。

改编自 Weave。 如果已安装 SDK 的导出项与这些参考不同,请使用已安装 SDK 的导出项。

评论

支持 Markdown