kiro

https://kiro.dev/docs/

Steering

Kiro(AWS 推出的 AI 驱动 IDE)中,Steering(引导/驾驶)是一个核心概念,旨在解决大语言模型(LLM)在大型项目中“记不住上下文”或“不理解项目特有规范”的问题。

简单来说,Steering 是你对 AI 的“长期记忆”和“行为准则”配置文件。它允许你将项目的背景知识、编码规范、架构决策等持久化存储,让 AI 在每次对话或执行任务时自动遵循这些规则,而无需你每次都重复输入。

1. Steering 的核心作用

  • 提供项目上下文(Context)
    告诉 AI 这个项目是做什么的、使用了什么技术栈、目录结构是如何组织的。这样 AI 生成的代码会更符合项目现状,而不是通用的“样板代码”。
  • 强制执行编码规范(Coding Standards)
    你可以定义具体的代码风格(如:缩进、命名约定、是否使用分号)、禁止使用的库、必须遵循的设计模式等。AI 会严格遵守这些“家规”。
  • 指导复杂任务(Task Guidance)
    Spec Mode(规划模式)下,Steering 文件可以指导 AI 如何拆解任务、如何运行测试、以及部署流程是什么。
  • 减少幻觉与错误
    通过提供准确的项目文档和约束,减少 AI“胡编乱造”或引用不存在的外部库的概率。

2. 它是如何工作的?

Kiro 会在你的项目根目录下创建一个特殊的文件夹:.kiro/steering/

  • 自动加载:当你打开项目或与 Kiro 对话时,它会自动读取该目录下的所有 .md (Markdown) 文件。
  • 作为系统提示词(System Prompt):这些文件的内容会被动态注入到 AI 的上下文中,作为最高优先级的指令。
  • 版本控制:由于它们是普通文件,你可以将它们提交到 Git 仓库中,确保团队成员共享同一套 AI 行为规范。

3. 常见的 Steering 文件类型

虽然你可以创建任意命名的文件,但通常包括以下几类:

文件名示例 用途描述
project-context.md 项目概览:描述业务目标、核心功能、主要技术栈、关键依赖项。
coding-standards.md 代码规范:定义命名规则(如 camelCase vs snake_case)、文件组织方式、错误处理策略、日志格式等。
architecture.md 架构设计:描述系统架构图、数据流、数据库模式、API 设计规范。
testing-strategy.md 测试策略:规定使用什么测试框架、测试覆盖率要求、Mock 数据的使用规则。
deployment.md 部署流程:描述 CI/CD 流程、环境变量配置、容器化步骤。

4. 实际使用示例

假设你正在开发一个 Python 后端项目,你可以创建一个 .kiro/steering/coding-standards.md 文件,内容如下:

# Coding Standards for this Project

- **Language**: Python 3.10+
- **Style**: Follow PEP 8 strictly.
- **Naming**: Use `snake_case` for variables and functions, `PascalCase` for classes.
- **Type Hinting**: All functions must have type hints.
- **Error Handling**: Do not use bare `except:`. Always log errors using the `logging` module.
- **Dependencies**: Do not introduce new dependencies without approval. Use `requests` for HTTP, not `urllib3` directly.
- **Tests**: All new features must include pytest tests located in the `tests/` directory.

效果
此后,无论你在 Vibe Mode 中问“怎么写一个获取用户信息的函数”,还是在 Spec Mode 中让它“开发一个用户模块”,Kiro 生成的代码都会自动带上类型提示、使用 snake_case 命名、并包含 loggingpytest 测试,完全符合你的团队规范。

5. 为什么它很重要?

在没有 Steering 之前,开发者需要每次都在 Prompt 里写:“请用 Python 写,遵守 PEP 8,用 snake_case...”。这不仅效率低,而且容易遗漏。

Steering 将“一次性指令”变成了“项目资产”,使得 AI 真正成为了一个了解你项目历史、规范和架构的“资深团队成员”,而不仅仅是一个通用的代码生成器。这对于维护大型、长期演进的项目至关重要。

https://jishuzhan.net/article/2020766194794561537

posted @ 2026-03-19 11:35  chuangzhou  阅读(2)  评论(0)    收藏  举报