Skip to content

Kiro CLI 的 thinking 工具会在复杂问题中展示推理步骤,帮助你看到 agent 如何拆解任务、比较方案并形成建议。本文用中文开发者熟悉的缓存、架构和排错场景,说明何时开启、何时关闭,以及如何把 thinking 放进日常工作流。

Kiro CLI thinking:看见复杂决策的推理过程

在日常开发里,AI 给出“建议使用 Redis”“建议先做单体应用”并不难,难的是你要判断这个建议是不是适合当前项目。Kiro CLI 的 thinking 工具解决的正是这个问题:它不是只给结论,而是在复杂任务中把推理过程展开,让你能看到 agent 怎样识别约束、比较方案、排除错误路径并形成最终建议。

这对中文开发者尤其有价值。很多团队已经开始用 CLI agent 处理代码审查、排障和架构讨论,但如果只看最终回答,很容易把 AI 当黑盒。thinking 能让你保留“决策在人”的控制感:AI 负责拆解和分析,人负责判断假设是否成立。

开启和关闭 thinking

通过 settings 命令开启:

bash
kiro-cli settings chat.enableThinking true

如果你更习惯在会话里操作,也可以使用实验功能入口:

text
/experiment
# 在列表中选择 Thinking

需要关闭时执行:

bash
kiro-cli settings chat.enableThinking false

查看当前状态:

bash
kiro-cli settings chat.enableThinking

建议把 thinking 当成“复杂任务模式”,而不是永久开启。简单问答、固定命令生成、已经明确的实现任务,通常不需要额外推理展示。

thinking 会在什么时候出现

Kiro 不会对所有问题都展示 thinking。它通常会在下列场景中自动触发:

  • 需要多步逻辑推导的复杂问题;
  • 需要比较不同技术方案的取舍;
  • 需要规划带依赖关系的多阶段实现;
  • 需要系统排查的疑难 bug;
  • 需要考虑团队规模、部署成本、维护风险的架构决策。

换句话说,如果问题本身存在明显的不确定性,thinking 就能帮你看到 Kiro 是怎么处理这些不确定性的。

示例:为 API 缓存选型

不开启 thinking 时,你可能只会看到结论:

text
> What's the best way to implement caching for our API?

I recommend using Redis for caching your API responses...

开启 thinking 后,Kiro 会先展开分析路径:

text
> What's the best way to implement caching for our API?

Thinking...

Let me think through the caching requirements:

1. First, I need to consider the type of data being cached
   - API responses suggest read-heavy workload
   - Need to handle cache invalidation

2. Evaluating caching solutions:
   - In-memory: fast but limited by RAM
   - Redis: distributed, persistent, feature-rich
   - Memcached: simple and fast, but fewer features

3. Considering your use case:
   - API responses benefit from distributed cache
   - Need TTL support for automatic expiration
   - May need cache invalidation on updates

Based on this analysis, I recommend using Redis...

这类输出的重点不是“Redis 一定正确”,而是你可以检查它有没有漏掉关键前提。例如你的服务只有单实例、缓存数据非常小、部署 Redis 成本过高,那么你就可以要求 Kiro 重新基于这些约束分析。

常见使用场景

1. 架构决策

例如你在问:新项目应该用 microservices 还是 monolith?thinking 可以帮助 Kiro 显式比较团队规模、部署复杂度、扩展需求和后续演进成本。

对于小团队或需求仍在变化的项目,Kiro 可能会倾向先用 monolith,因为它更容易调试、部署简单、迭代成本低;而对于多个团队并行开发、模块边界清晰、独立扩缩容诉求强的系统,microservices 才更有意义。

2. 算法和实现方案选择

当你问排序算法、缓存策略、任务队列、数据库索引设计时,thinking 能让 Kiro 先列出数据规模、内存限制、稳定性要求、读写比例等判断条件,再给出建议。

这比直接要“最佳方案”更可靠,因为技术方案通常没有脱离上下文的最佳答案。

3. 复杂性能问题排查

例如“我的应用很慢,但不知道为什么”。thinking 会把可能原因拆成数据库查询、网络请求、内存分配、CPU 密集计算等方向,再建议优先定位的顺序。

这种场景下,你可以要求 Kiro 先给“诊断顺序”,再一步步执行,而不是一上来就修改代码。

使用收益

对学习有帮助

thinking 能让你看到问题是如何被拆开的。你不仅得到答案,还能学习 agent 的分析模板,比如先识别约束,再列候选方案,再比较 trade-off,最后形成建议。

对调试有帮助

当 Kiro 给出一个修复建议时,你可以从 thinking 中检查它是否基于正确假设。如果假设不对,结论也不可靠。越早发现这一点,越能避免无效修改。

对复杂任务有帮助

多步骤实现经常会牵涉文件依赖、测试顺序和风险控制。thinking 可以让你看到任务分解是否完整,从而在动手前修正计划。

最佳实践

适合开启的情况

  • 学习新概念,希望理解建议背后的逻辑;
  • 做架构、选型、性能优化等高影响决策;
  • 调试复杂问题,需要系统排查路径;
  • 做 code review,希望知道 Kiro 为什么指出某个风险。

适合关闭的情况

  • 只是生成一个简单命令或配置片段;
  • 你已经知道实现方案,只需要 Kiro 执行;
  • 当前任务强调速度,而不是解释过程;
  • 会话输出已经过长,影响阅读效率。

推荐工作流

  1. 在复杂问题开始前开启 thinking。
  2. 先让 Kiro 给出分析路径,不急着改代码。
  3. 检查它列出的假设是否符合你的项目。
  4. 确认方向后关闭 thinking,让 Kiro 专注执行。
  5. 到 review 或复盘阶段再开启 thinking 验证方案。

排障

开启后没有看到 thinking

先确认配置是否生效:

bash
kiro-cli settings chat.enableThinking

如果状态正确但仍未出现,通常是因为问题太简单,没有触发复杂推理。可以换成包含约束和取舍的问题,例如“在三人团队、两个月上线、后续可能拆分的前提下,应该如何设计后端架构?”

thinking 输出太多怎么办

可以临时关闭:

bash
kiro-cli settings chat.enableThinking false

也可以在 prompt 中明确要求“只保留关键推理步骤”“结论不超过三点”。对于执行型任务,建议关闭 thinking 后再继续。

相关页面

常见问题

thinking 会泄露隐藏的系统提示词吗?

不会。thinking 展示的是 Kiro 面向当前任务的推理过程,用于帮助你理解分析路径,不等于暴露底层系统提示词或模型内部状态。

我应该一直开启 thinking 吗?

不建议。它会让回答更长,也会增加等待时间。适合在复杂决策、排障和 review 中开启,进入明确执行阶段后可以关闭。

thinking 能替代人工架构判断吗?

不能。它的价值是把分析过程摊开,让你更容易审查假设和 trade-off。最终是否采纳,仍应由了解业务、团队和系统约束的人来决定。