Arize AI Blog

Kiro CLI observability: trace and evaluate agent changes with Arize Skills

8.5内容质量
Kiro CLI observability: trace and evaluate agent changes with Arize Skills

TL;DR · AI 摘要

Kiro CLI与Arize Skills结合,通过可观测性追踪和评估代码代理变更,解决生成代码验证难题。

核心要点

  • Kiro CLI支持自然语言驱动的代码修改与执行,集成Arize Skills后可自动追踪行为并生成评估数据集。
  • Arize Skills提供预包装的评估工作流,开发者无需手动构建验证管道即可比较新旧代码性能差异。
  • 组合工具支持从生产失败案例构建回归数据集,并通过实验对比验证代理修改的实际效果。

结构提纲

按章节快速跳转。

  1. 代码生成代理的效率提升带来验证环节的新挑战,需通过可观测性工具解决质量验证问题。

  2. ·Kiro CLI功能解析

    Kiro CLI是亚马逊的终端代码代理,支持自然语言指令驱动的多步骤代码修改与执行。

  3. ·Arize Skills作用机制

    Arize Skills提供预置的可观测性工作流,包含追踪、数据集构建和实验对比功能。

  4. 通过安装配置Kiro CLI和Arize Skills,可实现从代码修改到验证的完整闭环流程。

  5. 组合工具使代理生成代码可基于真实失败案例验证,避免传统人工测试的局限性。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • 代码代理验证解决方案
    • Kiro CLI
      • 自然语言指令执行
      • 多步骤代码修改
    • Arize Skills
      • 可观测性追踪
      • 数据集构建
      • 实验对比
    • 验证流程
      • 生产失败数据集构建
      • 新旧代码性能对比

金句 / Highlights

值得收藏与分享的关键句。

  • Kiro CLI与Arize Skills的整合使代理修改可自动追踪行为、构建数据集并运行实验验证。

    第1段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 传统验证方式依赖人工检查diff和局部测试,而新方法通过生产失败数据集实现客观评估。

    第2段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • Arize Skills封装了可观测性平台的核心能力,开发者仅需自然语言指令即可启动评估流程。

    第3段

    ⬇︎ 下载 PNG𝕏 分享到 X
#Kiro CLI#Arize Skills#代码生成代理#可观测性#评估工具
打开原文

Kiro CLI 可观测性:使用 Arize Skills 追踪和评估代理人的更改 - Arize AI

Kiro CLI 可观测性:使用 Arize Skills 追踪和评估代理人的更改

发布于 2026 年 7 月 15 日

由 Rich Young(合作伙伴解决方案架构总监)和 Nolan Chen(AWS 合作伙伴解决方案架构师)共同撰写

如今,编码代理可以检查代码库、规划工作、编辑文件、运行命令,并在单个会话中部署复杂更改。但更快的代码生成带来了新问题:团队仍需证明代理生成的更改在部署前确实提升了质量、可靠性、延迟或成本。瓶颈已从编写代码转移到验证代理的更改是否确实优于之前的版本。

这正是 Arize Skills 和 Kiro CLI 共同填补的空白。Kiro CLI 是亚马逊基于终端的编码代理,用于将自然语言指令转换为代码库更改。Arize Skills 为该代理提供了打包的工具,可进行代码插桩、导出追踪、构建数据集、运行实验和优化提示,所有操作均通过自然语言完成。二者结合,为编码代理工作创建了验证闭环:实施更改、追踪行为、在真实故障场景中进行测试,并决定是否合并代码。

在本指南中你将完成以下操作

最终你将获得:

  • 在本地项目中运行的 Kiro CLI。
  • 为编码代理安装的 Arize Skills。
  • 添加到应用程序或笔记本中的 Arize 追踪功能。
  • 从代表性生产故障构建的数据集。
  • 对比当前实现与提议修订的实验。
  • 可选的 Kiro CLI 自身追踪功能,包括工具调用、回合耗时、上下文使用情况、模型名称和信用成本。

为什么编码代理需要评估,而不仅仅是更快的代码生成

第一代编码代理关注输出量。下一步是评估。当代理在同一运行中编辑提示、工具包装器、检索逻辑和三个应用代码文件时,旧的“快速浏览差异、运行几个本地测试并希望没有回归”的流程就失效了。

团队需要的是一种方法:一次性表达意图,让代理在防护机制下执行操作,并在部署前在代表性数据集上衡量结果。Kiro 覆盖了前两个环节。Arize Skills 在无需开发者手动构建独立评估流水线的情况下覆盖了第三个环节。其结果是一个工作流:在更改进入生产环境前,可以基于追踪、数据集和实验对代理生成的更改进行评估。

Arize Skills 是封装好的 Arize 工作流程,任何编码代理都可以调用。它们封装了 Arize 通过自身可观测性平台和评估平台构建的实践方案:如何为应用程序添加监控、导出追踪数据、创建评估器、从失败案例构建回归数据集、运行实验以及根据评估反馈优化提示语。代理通过自然语言调用技能,技能本身处理 ax CLI 参数、数据格式特殊性以及底层的多步骤编排。Arize 将这些技能发布在 GitHub 上,并随着平台演进持续更新。Arize Skills 与提供商无关,兼容任何模型、任何框架以及任何与 Kiro 驱动的工作流交互的编排器。

实际上这意味着开发者可以要求 Kiro CLI 进行修改,然后要求同一代理使用 Arize Skills 证明修改是否有效。

你能用 Arize Skills 做什么

开发者任务

Arize 技能

示例提示

为应用程序添加追踪

arize-instrumentation

“用 Arize 追踪功能为 app.py 添加监控并展示修改前的差异。”

检查生产环境故障

arize-trace

“导出最近 100 条失败追踪并按根本原因分组。”

构建回归数据集

arize-dataset

“从 groundedness 失败的追踪中创建数据集。”

比较两个版本

arize-experiment

“用当前提示语和 answer_prompt_v2.md 对比这个数据集。”

添加评估器

arize-evaluator

“为这个实验创建 groundedness 和 answer-correctness 评估器。”

优化提示语

arize-prompt-optimization

“根据失败案例建议修改后的提示语并重新运行实验。”

追踪 Kiro CLI 本身

Coding Harness 追踪

“安装 Kiro CLI 追踪功能以便我检查工具调用、成本和上下文使用情况。”

Arize Skills 如何评估 Kiro CLI 修改

Kiro CLI 与 Arize Skills 配合良好,因为它们将编码代理的工作流拆分为两个清晰阶段。Kiro 带领团队从意图转向实现,Arize Skills 带领同一代理从实现转向证据。更新提示语的 Kiro 编码代理就是运行实验并阅读回归报告的同一代理。

以下是实际操作方式。

1. 安装 Kiro CLI、Arize AX CLI 和 Arize Skills

在构建代理的机器上进行一次性设置。在 Kiro CLI 将要编辑和评估项目的环境中运行一次。

复制代码

已复制

使用不同浏览器

code
# 安装 Kiro-CLI 并使用 Builder ID 认证
kiro-cli –version
kiro-cli login –use-device-flow

# 安装 uv 和 Arize ax CLI,然后创建认证配置文件
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install arize-ax-cli
ax profiles create

# 安装 Node(用于 npx)并添加 Arize Skills 插件
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc && nvm install –lts && nvm use –lts
npx skills add Arize-ai/arize-skills

< Kiro CLI 的安装说明位于 AWS Builder Center。运行一次后,所有 Arize 技能都会按名称提供给 Kiro 代理使用。

2. 通过 Kiro CLI 添加 Arize 追踪

启动 Kiro 并要求其对需要追踪的文件运行监控技能。例如,从应用程序入口点、笔记本或模型调用所在的代理文件开始。

code
kiro-cli
code
> 用 Arize 追踪功能对 “app.py” 进行增强。检测框架和模型提供商,添加合适的 OpenInference 指令集,并展示应用前的代码差异。

Kiro 代理调用 arize-instrumentation 技能,检测模型提供商和框架,添加 register() 函数和对应的 OpenInference 指令器,并准备代码变更供审查。在变更落地前,您将对其进行审查。

3. 将生产环境追踪数据转化为调试证据

当追踪数据开始流动后,将 Kiro 指向这些追踪数据。目标是将“某些功能退化”转化为可测试的具体失败分类。

code
> 从我的生产 RAG 代理中导出最后 200 条追踪数据,其中 groundedness 检查失败或追踪以错误结束。按根本原因对失败进行分组,并为每个类别包含示例追踪链接。

该技能在后台运行 ax traces 导出,提取跨度数据,Kiro 读取输出并报告模式。无需手动搜索追踪数据,代理可将失败转化为简明调试摘要:什么功能出错、发生频率以及哪些示例应作为回归测试。

4. 构建数据集并运行实验

当失败分类完成后,将其转化为回归数据集,并将当前实现与提议的变更进行对比。

code
> 从 [category] 类别创建数据集

> 针对该数据集创建实验,运行当前提示词和提议的修订版本
  创建 groundedness 评估器并评估实验

使用 Arize 对 Kiro CLI 本身进行追踪,实现透明度和成本可视化

以上所有内容均用于衡量您通过 Kiro CLI 构建的代理。Arize 同样会追踪 Kiro CLI 本身,因此您可以查看编码代理为您执行的操作、每次交互耗时以及成本。当编码代理会话变慢、成本过高或难以审计时,此功能特别有用。

Arize 编码工具链追踪项目会在 Kiro 代理上安装钩子,并将 OpenInference 跨度导出到 Arize AX。通过以下命令安装:

code
curl -sSL https://raw.githubusercontent.com/Arize-ai/coding-harness-tracing/main/install.sh | bash -s — kiro

安装程序会提示您输入 Space ID、API 密钥和代理名称(默认 arize-traced),然后连接钩子。将追踪代理设为默认后,Kiro CLI 会自动运行它:

code
kiro-cli chat

在 Arize 中查看以下内容:

  • 交互追踪。每个用户提示到 Kiro CLI 响应都是一个父 LLM 跨度。工具调用作为子跨度挂载在其下,通过 preToolUse 和 postToolUse 钩子匹配。
  • 会话分组。同一会话中的每个交互共享 session.id,因此长时间的工作会话会显示为一个追踪树。
  • 信用成本。Kiro CLI 以信用而非令牌计费。工具链捕获每次交互的信用成本(kiro.cost.credits)和完整计费负载,因此您可以按会话、用户或天进行汇总。
  • 模型和耗时。llm.model_name、kiro.turn_duration_ms 和 kiro.context_usage_percentage 显示处理交互的模型、耗时以及上下文窗口的使用比例。

这使你能够获得与任何生产代理应用于编码代理框架本身时相同的可观测性接口。你可以调试缓慢的轮次,按团队归因费用,并在长时间会话达到上限前监控上下文使用情况的增长。脱敏标志(ARIZE_LOG_PROMPTS、ARIZE_LOG_TOOL_DETAILS、ARIZE_LOG_TOOL_CONTENT)可在需要时防止敏感提示或工具输出进入追踪记录。

Kiro CLI 可观测性对开发者和工程团队的影响

对开发者而言,验证不再是一项独立的工作。你当前用于代码编辑的代理同时会拉取追踪记录、构建数据集并运行实验。工作流程仍保留在编码会话中,但决策依据来自生产环境的实际证据。

对工程负责人而言,当团队将实验纳入合并流程时,代理驱动的变更将变得可衡量。每个实验都带有唯一ID和回归报告。关于哪些工作流应交由代理处理的决策,将从直觉转向数据支持。

对整个系统而言,从想法到实现再到验证的周期时间缩短到具有实际价值的程度。代理承担更多自主工作,团队则专注于高价值工程任务。更重要的是,团队现在可以衡量代理生成的代码是否真正改进了系统。

入门指南

在循环产生价值前需完成三项准备工作:

  • 安装 Kiro CLI、Arize AX CLI 和 Arize Skills。通过 kiro-cli loginax profiles create 进行身份验证。
  • 通过 Kiro CLI 使用 arize-instrumentation 为一个目标笔记本、应用程序文件或代理入口点添加监控。
  • 使用 arize-trace 从生产追踪记录中导出20至50个代表性失败案例。
  • 使用 arize-dataset 创建回归数据集。
  • 使用 arize-experiment 将当前实现与提议变更进行对比。
  • 使用实验报告决定是否将代理生成的变更合并。

此后,每个有意义的代理生成变更都将以 Arize 中的实验和待修复失败案例列表作为结束。

资源

常见问题

什么是 Kiro CLI 可观测性?

Kiro CLI 可观测性指追踪编码代理会话,使开发者能够检查提示、工具调用、模型响应、延迟、上下文使用情况和成本。通过 Arize 编码框架追踪,Kiro CLI 会话可作为 OpenInference 跨度导出至 Arize AX。

Arize Skills 如何帮助 Kiro CLI 用户?

Arize Skills 为 Kiro CLI 提供可复用的工作流,用于添加追踪、导出追踪记录、创建数据集、运行实验、创建评估器,并通过自然语言指令优化提示。

在发布前如何评估 Kiro CLI 代码变更?

使用 Kiro CLI 进行代码或提示变更,然后使用 Arize Skills 从真实追踪记录构建回归数据集,并运行当前版本与提议版本的对比实验。

Arize Skills 是否能脱离 Kiro CLI 使用?

是的。Arize Skills 专为编码代理工作流设计,也可用于支持 Skills 风格工作流的其他 AI 编码代理。

<div class="container pt-12"> <div class="max-w-[1200px] mx-auto"> <div class="flex items-center justify-between"> <h4 class="font-sans text-24/[120%] md:text-36/[120%] font-light text-content-primary-light dark:text-content-primary-dark">相关文章</h4> </div> <div class="flex gap-6 mt-6 md:flex-row flex-col"> <div class="flex-1"> <a href="https://arize.com/blog/evals-in-ci-how-to-write-llm-evals-as-tests/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="169" src="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png" class="w-full h-full object-cover wp-post-image" alt="" decoding="async" srcset="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png 300w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1024x576.png 1024w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-768x432.png 768w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1536x864.png 1536w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-260x146.png 260w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-520x293.png 520w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-845x475.png 845w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1690x951.png 1690w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1366x768.png 1366w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-71x40.png 71w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-142x80.png 142w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1417x797.png 1417w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-444x250.png 444w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-888x500.png 888w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-150x84.png 150w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20.png 1920w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">在CI中使用Arize Phoenix将LLM评估作为测试编写</h4> </a> </div> <div class="flex-1"> <a href="https://arize.com/blog/evals-in-ci-how-to-write-llm-evals-as-tests/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="169" src="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png" class="w-full h-full object-cover wp-post-image" alt="" decoding="async" srcset="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png 300w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1024x576.png 1024w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-768x432.png 768w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1536x864.png 1536w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-260x146.png 260w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-520x293.png 520w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-845x475.png 845w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1690x951.png 1690w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1366x768.png 1366w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-71x40.png 71w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-142x80.png 142w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1417x797.png 1417w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-444x250.png 444w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-888x500.png 888w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-150x84.png 150w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20.png 1920w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">使用LLM评估和基准测试评估RAG</h4> </a> </div> <div class="flex-1"> <a href="https://arize.com/blog/evals-in-ci-how-to-write-llm-evals-as-tests/" class="group"> <div class="rounded-[4px] aspect-video bg-container-light border border-outlines-light dark:border-outlines-dark group-hover:shadow-platform-glow flex items-center justify-center"> <img width="300" height="169" src="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png" class="w-full h-full object-cover wp-post-image" alt="" decoding="async" srcset="https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-300x169.png 300w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1024x576.png 1024w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-768x432.png 768w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1536x864.png 1536w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-260x146.png 260w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-520x293.png 520w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-845x475.png 845w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1690x951.png 1690w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1366x768.png 1366w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-71x40.png 71w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-142x80.png 142w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-1417x797.png 1417w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-444x250.png 444w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-888x500.png 888w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20-150x84.png 150w, https://arize.com/wp-content/uploads/2026/07/YT-template-Textimage-2-20.png 1920w" sizes="(max-width: 300px) 100vw, 300px" loading="lazy" /> </div> <h4 class="mt-3 font-normal mb-0 font-sans text-20/[140%] text-content-primary-light dark:text-content-primary-dark text-pretty">Arize新功能:更大数据集、更优评估和扩展的计算机视觉支持</h4> </a> </div> </div> </div> </div>