关于 cx-coding-agents
面向 AI Center Coding Agents 数据调查的 Coralogix CLI 技能,说明各 Agent 对应的数据源和参考文件,并指导查询选择与结果解读。
主要功能
- 01映射 Agent 与遥测数据源
- 02列出所需查询参考文件
- 03指导指标、日志和 Span 查询
- 04说明跨 Agent 比较方法
- 05注明只读查询命令
适用场景
- 01调查 Claude Code 会话活动
- 02比较 Codex 与 Cursor 遥测数据
- 03查看 Copilot 使用量与成本信号
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ coralogix/ cx-cli --skill cx-coding-agents安装后在 Claude Code 中输入/cx-coding-agents确认已加载。
详细介绍
编码 Agent 技能
对于任何有关 AI Center 编码 Agent 的调查或数据问题,请将此技能作为入口。它会标明各 Agent 使用的数据源,并告知你在查询前需要加载哪些参考文件。
支持的 Agent
| Agent | 数据类型 | 源标识符 |
|---|---|---|
| Claude Code | 指标 | claude_code_* 指标系列 |
| Claude Code(会话文本) | 日志 | source ai_sessions_claude |
| Codex | 日志 | service.name == 'codex_cli_rs' 或 'codex-app-server' |
| Codex(延迟) | Span | $l.serviceName == 'codex_cli_rs' 或 'codex-app-server' |
| Cursor | Span | $l.serviceName == 'cursor-agent' |
| Gemini CLI | 指标 | gemini_cli_* 指标系列 |
| Copilot CLI(直接 OTel) | Span | $l.serviceName == 'github-copilot' 或 tags['otel.scope.name'] == 'github.copilot' |
| GitHub Copilot Collector | 指标 | github_copilot_* 指标系列 |
加载参考文件
先加载 Agent 参考文件,再加载它所依赖的共享查询语言文件:
| Agent | Agent 参考文件 | 共享参考文件 |
|---|---|---|
| Claude Code(指标) | references/claude-code.md | references/promql-guidelines.md + references/metrics-querying.md |
| Claude Code(会话) | references/claude-code.md | references/dataprime-reference.md + references/logs-querying.md |
| Codex | references/codex.md | references/dataprime-reference.md + references/logs-querying.md + references/spans-querying.md |
| Cursor | references/cursor.md | references/dataprime-reference.md + references/spans-querying.md |
| Gemini CLI | references/gemini-cli.md | references/promql-guidelines.md + references/metrics-querying.md |
| Copilot CLI(直接 OTel) | references/copilot-cli.md | references/dataprime-reference.md + references/spans-querying.md |
| GitHub Copilot Collector | references/copilot-cli.md | references/promql-guidelines.md + references/metrics-querying.md |
| 跨 Agent 比较 | 所有 Agent 参考文件 | 所有共享参考文件 |
安全性
所有查询命令(cx metrics、cx logs、cx spans、cx dataprime)均为只读。它们不会修改数据,可直接运行,无需使用 --yes。
CLI 命令
| 命令 | 用途 | 使用场景 |
|---|---|---|
cx metrics search --name '<pattern>' | 按名称查找指标 | 发现可用的 claude_code_*、gemini_cli_*、github_copilot_* 指标 |
cx metrics query '<expr>' | 即时 PromQL 查询 | 获取某个时间点的指标快照 |
cx metrics query-range '<expr>' | 范围 PromQL 查询(时间序列) | 查看 Claude Code、Gemini CLI、GitHub Copilot Collector 的趋势 |
cx logs '<dataprime_query>' | 日志查询 | 查询 Claude Code 会话文本、Codex 日志 |
cx spans '<dataprime_query>' | Span 查询 | 查询 Cursor、Codex 延迟、Copilot CLI 直接 OTel |
cx dataprime query '<query>' | 原始 DataPrime 查询 | 需要在查询中显式指定 source logs 或 source spans 时使用 |
输出格式: 将结果传递给 Agent 或进行后续处理时,在任意命令后追加 -o toon。
多配置文件: 使用 -p <profile>(可重复指定)即可同时向多个配置文件分发查询。
首次响应
确定用户请求的 Agent 和分析目标。如果缺少任何必需范围,请先询问,再进行查询:
- Agent: Claude Code、Codex、Cursor、Gemini CLI 或 Copilot CLI。
- 时间范围。
- 可选筛选条件: 应用、子系统、用户、模型、会话、代码库。
- 输出形式: 快速回答、表格、趋势、排名前 N、调查笔记或仅查询。
如果用户说“GitHub Copilot Codex”,请确认他们指的是 Codex 还是 Copilot CLI。AI Center 中的 Codex 和 Copilot CLI 仪表板是分开的。
尽可能使用与对应仪表板相同的数据源:
- Claude Code 指标: 对
claude_code_*指标使用 PromQL。 - Claude Code 会话文本: 对
ai_sessions_claude日志使用 DataPrime。 - Codex: 对 Codex 日志使用 DataPrime,以查询令牌、会话、模型、用户和工具;仅对
run_turn延迟使用 spans。 - Cursor: 对 Cursor spans 使用 DataPrime。Cursor 报告提示词长度和文件编辑情况,而非提供方令牌数。
- Gemini CLI: 对
gemini_cli_*指标使用 PromQL。 - Copilot CLI 直接 OTel: 对 Copilot spans 使用 DataPrime。
- GitHub Copilot Collector: 如果存在该收集器的数据,则对
github_copilot_*组织/用户/计费指标使用 PromQL。
时间与筛选条件
PromQL(Claude Code、Gemini CLI、GitHub Copilot Collector)
对所选时间窗口内的计数器使用 increase(metric[<range>])。常见标签筛选模式:
{user_email="<user>",model="<model>",cx_application_name="<app>",cx_subsystem_name="<subsystem>"}
- 使用
sum by (...)、count by (...)或topk(N, ...)进行分组。 - 绘制趋势图时,根据所选时间范围设置区间窗口,而不要使用整个时间范围。
DataPrime(Codex、Cursor、Copilot CLI 直接接入、Claude Code 会话)
- 添加
| filter ...子句,以筛选用户、模型、应用、子系统、会话和操作。 - 对于类似仪表板的表格,优先使用
groupby ... aggregate ...。 - 对于 spans:应用/子系统标签为
$l.applicationName和$l.subsystemName(混合大小写)。 - 对于日志:应用/子系统标签为
$l.applicationname和$l.subsystemname(小写)。
应用/子系统筛选模式:
| filter $l.applicationName == '<application>' && $l.subsystemName == '<subsystem>'
跨 Agent 问题
比较不同 Agent 时:
- 统一单位后再进行比较:成本以 USD 计,令牌分为输入/输出/总计,运行时间以毫秒计,会话按不同对话计。
- 说明哪些信号不可直接比较。 Cursor 的提示词长度不等于提供方令牌数。Copilot CLI 直接接入的用户使用的是假名 ID(
enduser.pseudo.id),而非电子邮件地址。GitHub Copilot Collector 的用户字段可能是登录名、姓名或电子邮件地址。 - 如果维度不同,优先按 Agent 分节,而不是合并到一张表中。
- 对于“哪个 Agent 使用最多”:先比较会话数和用户数,再比较令牌数或 span 数,并注明注意事项。
- 对于“哪个 Agent 成本最高”:Claude Code 提供一流的 USD 指标。Copilot 直接接入的 spans 会提供
github.copilot.cost。Collector 计费指标则按组织/SKU 提供净额/总额/折扣金额。合并 Copilot span 成本和 Collector 计费数据时,必须说明来源和单位的差异。
回答风格
始终包含:
- 所用的 Agent 和数据源。
- 查询或精简版查询摘录。
- 应用的时间范围和筛选条件。
- 对结果的通俗解释。
- 关于空数据、近似计数、假名用户、缺失标签或不可比较指标的注意事项。
不要编造 Agent 参考文件中未列出的字段。如果用户询问的数据并非某个 Agent 所产生,请说明现有数据,并提出最接近的受支持查询。
评论
支持 Markdown