AWS 开源 Kiro Crew:让多个编码代理在后台持续协作

2026-08-30 42 预计阅读时间: 1 分钟
来源: infoq.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:7 分钟

Amazon 最近宣布开源 Kiro Crew。它提供一个工作空间,用于跨会话、工具和任务运行多个 Kiro 编码代理。开发者可以把事故调查、工单分流、代码迁移和 PR 监控交给异步代理处理,即使人暂时离开,任务仍能继续推进。

这类系统的重点并不是让一个代理生成更多代码,而是把编码代理组织成一组可持续运行的工作单元:每个代理接收明确任务,使用所需工具,在独立会话中工作,并把结果交回工作空间供人审查。

从一次性对话转向持续任务

传统编码代理通常围绕一次交互展开:开发者提出问题,代理修改代码,然后等待下一条指令。Kiro Crew 所代表的模式更接近一个异步任务队列。

开发者可以先拆分工作:

  • 一个代理调查生产事故的可能原因;
  • 一个代理整理并归类待处理工单;
  • 一个代理执行依赖升级或接口迁移;
  • 一个代理持续检查 PR 的构建和审查状态。

这些任务不一定需要同时由人盯着。代理可以在自己的会话中收集信息、调用工具、生成变更或报告,开发者再根据结果决定是否合并代码、升级事件等级或继续分派任务。

这也改变了任务设计方式。适合异步执行的任务通常具有明确输入、可检查输出和有限权限,例如“分析最近一次部署失败的日志并列出三个最可能原因”,而不是“把整个系统优化一下”。

多代理系统真正解决的是什么

多个代理并不自动等于更高效率。价值来自任务之间的边界和交接关系。

在事故调查中,可以让调查代理只读访问日志和监控数据,让修复代理基于调查结果创建补丁,让验证代理运行测试并检查回归风险。这样做能把探索、修改和验证分开,减少一个代理在同一会话中不断改变目标的问题。

在迁移工作中,也可以按阶段拆分:扫描旧接口、生成迁移清单、修改代码、执行测试、监控 PR。每个阶段都应该留下结构化结果,例如受影响文件、失败测试、待人工确认的行为变化。

需要注意的是,代理之间的协作协议仍然需要由工程团队定义。文件锁、分支策略、权限范围、超时、重试和人工审批都不是“多开几个代理”就会自然解决的问题。

可以这样组织异步编码任务

下面是一个可改造的任务清单示例。它不是 Kiro Crew 的固定配置格式,而是一种适合放入仓库或任务系统的工作流描述。运行前请根据实际工具接口替换 dispatch-agent 命令和权限配置。

# crew-tasks.yaml
project: payments-api
workspace: ./workspace
max_parallel_tasks: 3

agents:
  - id: incident-investigator
    task: 调查最近一次生产部署失败的原因
    inputs:
      - logs/deploy-latest.log
      - docs/runbook.md
    output: reports/incident-investigation.md
    permissions:
      - read:logs
      - read:repository

  - id: migration-scanner
    task: 扫描仓库中仍在使用 v1 payment API 的代码位置
    inputs:
      - src/
      - tests/
    output: reports/payment-api-migration.md
    permissions:
      - read:repository

  - id: pr-monitor
    task: 检查当前 PR 的构建、测试和审查状态,并报告阻塞项
    inputs:
      - .github/
    output: reports/pr-status.md
    permissions:
      - read:repository
      - read:ci-status

可以用一个简单的 shell 调度脚本把任务交给实际的代理运行器:

#!/usr/bin/env bash
set -euo pipefail

workspace="${1:-.}"
mkdir -p "$workspace/reports"

# 将 dispatch-agent 替换为实际的 Kiro Crew 或内部代理调度命令。
dispatch-agent \
  --workspace "$workspace" \
  --task "调查最近一次生产部署失败的原因" \
  --input "$workspace/logs/deploy-latest.log" \
  --output "$workspace/reports/incident-investigation.md" \
  --read-only

dispatch-agent \
  --workspace "$workspace" \
  --task "扫描 v1 payment API 的使用位置并生成迁移清单" \
  --input "$workspace/src" \
  --output "$workspace/reports/payment-api-migration.md" \
  --read-only

实践中,任务输出最好是 Markdown 报告、补丁文件或结构化 JSON,而不是一段无法验证的自然语言。对于会修改代码的代理,可以要求它使用独立分支,并把测试结果和变更摘要一并提交。

采用时要盯住边界

异步代理适合处理等待时间长、重复性高、结果容易验证的工作。它们不适合在没有审批的情况下直接执行高风险生产操作,也不应该拥有超出任务需要的凭证和写权限。

落地时可以从三个约束开始:

  1. 每项任务都有明确的输入、输出和完成条件。
  2. 修改型代理使用隔离分支或临时工作区,合并前必须经过测试和人工审查。
  3. 所有会话、工具调用、失败重试和最终产物都保留可追踪记录。

Kiro Crew 的开源意义在于,它把编码代理从单次聊天窗口带到了可持续运行的工作空间。真正的收益取决于任务拆分、权限控制和结果验证。把它当作一个异步工程执行层来设计,通常比把它当作“更聪明的自动补全”更接近实际价值。


相关推荐