Kiro 在 PICOS 的落地指南

从"会聊天"到"可交付"

Steering + 精简 Hooks + AGENTS.md + Specs

这次宣讲要解决什么

  1. 让 AI 产出更稳定:同类任务不再"每人一个写法"
  2. 让协作更可控:改动边界、失败处理、风险暂停有明确规则
  3. 让交付更可审计:规则、流程、产物都在仓库里可追溯

编码代理的拐点

It is hard to communicate how much programming has changed due to AI in the last 2 months: not gradually and over time in the "progress as usual" way, but specifically this last December. There are a number of asterisks but imo coding agents basically didn't work before December and basically work since.

很难形容过去 2 个月里 AI 对编程造成了多大变化:这不是"按部就班"的渐进,而是集中发生在 12 月。编码代理在 12 月之前基本没法工作,而自那之后基本开始能用了——模型的质量、长期连贯性和韧性都显著提升,足以对默认的编程工作流造成极大冲击。

— Andrej Karpathy (OpenAI/Tesla AI) (source)

什么是编码 Agent?

以 LLM(大语言模型) 为核心控制器,结合三大能力自主完成编程任务:

能力 作用 在 Kiro 中的体现
规划 将复杂任务分解为子目标,自我反思纠错 Specs:Requirements → Design → Tasks
记忆 短期(上下文窗口)+ 长期(外部存储) Steering / AGENTS.md 持久加载
工具使用 调用外部 API、执行代码、读写文件 Hooks、CLI、构建系统集成

参考:Lilian Weng (OpenAI 安全 VP), LLM Powered Autonomous Agents (2023)

能力已经到了什么程度?

tldraw(协作绘图库)于 2026-02 将测试套件移入闭源仓库

A comprehensive test suite is enough to build a completely fresh implementation of any open source library from scratch, potentially in a different language.

一个完整的测试套件就足以从零构建任何开源库的全新实现,甚至可以用另一种语言。

  • 起因:Cloudflare 借助 AI 在一周内将 Next.js 移植到 Vite
  • 应对:tldraw 隐藏测试用例,防止 AI Agent 复刻整个库

启示:Coding Agent 已不是"辅助写代码",而是能独立完成工程级任务。

写代码便宜了,好代码没有

Coding agents dramatically drop the cost of typing code into the computer, which disrupts so many of our existing personal and organizational intuitions about which trade-offs make sense.

代码产出成本趋近于零,但好代码的成本依然很高:

  • 正确性:能跑 ≠ 没 bug,需要测试和审查
  • 可维护性:简洁、有文档、能被未来的人和 AI 理解
  • 安全与健壮性:错误处理、敏感信息、边界条件

开发者的角色转变:从"写代码的人"变为"确保代码质量的人"。

参考:Simon Willison (Django 联合创始人), Writing code is cheap now (2026)

为什么不只用 AI Chat

维度 普通 Chat Kiro 工作流
规则记忆 依赖每次重复 prompt Steering / AGENTS.md 持续加载
质量执行 靠人手动跑格式化和构建 skill A/B
复杂需求 易漏步骤、易返工 Specs 拆解 Requirements -> Design -> Tasks
团队一致性 取决于个人经验 统一模板和流程

你需要知道的 3 个概念

概念 作用 维护责任
Steering 项目长期记忆(规范/上下文) 团队维护
Skills 最小自动化(仅 Skills A/B) 工具链维护
AGENTS.md 跨工具通用约束 团队维护

开发者最核心职责:写清需求、审查改动、确认风险。

Day 1 使用流程

  1. 进入 Kiro IDE 或 Kiro CLI
  2. 判断任务类型:小任务走 Chat,跨模块走 Specs
  3. 写 prompt(目标、范围、约束、验证)
  4. 审查 AI 改动(文件范围、行为变化、风险点)
  5. 运行或确认构建/测试结果后提交

上下文管理:切换任务时开新对话;Agent 反复犯错时也开新对话。同一功能的迭代保持在同一对话中。

什么时候用 Chat,什么时候用 Specs

直接 Chat

  • Bug fix
  • 单文件或局部改动
  • 需求边界清晰、无需设计讨论

走 Specs

  • 涉及 2 个及以上模块
  • 需要新增或变更 public API
  • 需要分阶段评审和任务拆解

写好 Prompt 的关键

原则
具体 "加个单元测试" "为 Parse() 的空文件和非法 UTF-8 补 gtest"
有约束 "重构这个模块" "拆成 3 个类,每个 ≤200 行,不改 API,限 C++11"
可验证 "优化性能" "LoadConfig() 冷启动 3s→<1s,bazel test 通过"

给 Agent 可验证的目标:类型检查、lint 规则、测试用例——让 Agent 有明确的"做对了"的信号。

参考:Cursor, Best practices for coding with agents (2026)

为什么要给 Agent 可验证的目标

当前最强编码模型(Claude Opus 4.6、GPT-5.3-Codex、DeepSeek V3.2)都经过 RLVR 训练——用可验证的正确答案作为奖励信号。

反直觉的结果:

  • "通过 2000 行测试套件" → 异常强大
  • "帮我优化一下性能" → 容易出错

AI 的能力边界是极度不规则的(Jagged Frontier),不能用人类的能力梯度去套用。

给 Agent 测试、类型约束、lint 规则,就是顺着它最强的方向用力。

红线与协作约定

绝对红线

  1. 禁止提交密钥、凭据、敏感配置
  2. 禁止使用超出 C++11 的语言特性
  3. 禁用异常,统一 Status / error code
  4. .clang-format 是格式唯一真相
  5. 日志禁止输出敏感信息

红线与协作约定

协作约定

  1. 改动 >= 3 个文件,先给计划再执行
  2. 需求边界不清,先复述理解再推进
  3. 构建/测试连续失败 2 轮,暂停并上报卡点

如何审查 Agent 代码:三层审查

时机 做什么 工具
生成中 观察 diff 流,方向不对立刻中断 IDE diff view / Esc 打断
生成后 逐文件审查改动范围和逻辑正确性 git diff、Code Review
提交前 跑构建 + 测试 + lint,确认无回归 Hook A / 手动执行

如何审查 Agent 代码:常见陷阱

  • 看起来对但语义微妙错误(类型正确、逻辑偏差)
  • 过度工程:生成了不需要的抽象层
  • 幻觉依赖:引入不存在的 API 或库

Agent 越快,审查越重要。

Skills & 自动化

  1. skill A:AI 每轮生成后自动格式化 + 构建
  2. 只保留 skill B:在 IDE 中手动触发注释补充
  3. Kiro 原生 Hook 机制与 SubAgent 在规划中

给 Agent 装上"护栏":类型系统、lint 规则、CI 测试是 Agent 最好的自我纠错信号。先从已有的工具链做起,不需要额外投入。

目标:先把团队日常开发路径跑顺,再决定是否扩展。

写好 Steering / AGENTS.md 的原则

原则 做法 反面
步骤化 > 散文 编号步骤 + 决策树 大段自然语言描述
按需加载 主文件 <500 行,细则放子文件 所有规范塞一个文件
给模板不给描述 .template 让 Agent 照抄 三段话解释输出格式
术语一致 全项目同一概念同一词 config/settings/options 混用
脚本兜底 易错操作用确定性脚本 让 Agent 徒手拼 sed

参考:skills-best-practices (mgechev, 2026)

今天记住 3 件事(1/2)

1. 角色变了

你不再是"写代码的人",而是"驾驭 Agent 并确保质量的人"。

2. 规则先行

Steering + AGENTS.md 是团队共识的载体。没有规则,Agent 每次都从零猜起。

今天记住 3 件事(2/2)

3. 审查是底线

Agent 产出速度越快,你的审查越重要。构建通过 ≠ 逻辑正确,diff 必须人眼过。

下一步:试用 Kiro Chat,遇到问题随时反馈。

Q&A