教程

使用 /init 和 AGENTS.md 启动项目

使用 /init 为 Bob 提供跨对话和模式的持久项目上下文,它会自动生成 AGENTS.md 文件。

/init 命令扫描项目并生成一个名为 AGENTS.md 的结构化摘要文件,Bob 在每次对话中将其用作持久上下文。/init 命令是您向 Bob 提供有关项目结构、约定和代码库知识的方式,而无需 Bob 在每次交互开始时重新读取每个文件。

大型语言模型是无状态的。每次新对话都从没有先前交互的记忆开始。如果没有明确的项目上下文,Bob 必须在每次新交互时发现代码库,这是低效的,并且在规模扩大时变得不切实际。

在本教程中,您将在演示应用程序的根目录中初始化 Bob,探索 Bob 获得的有关应用程序的上下文,并了解 Bob 针对特定模式上下文的结构。

先决条件

要完成本教程,您需要以下内容:

  • 如果您还没有,请克隆 Galaxium Travels 演示代码。克隆命令还会检出包含您在教程中使用的代码的 bob-learning-path-branch 分支。
git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  • 打开 Galaxium Travels 演示代码的 Bob IDE
  • 虽然不是必需的,但请考虑完成快速入门教程以熟悉 Bob 的界面和功能。

运行 /init

要初始化项目上下文,请在 Bob IDE 中导航至 你好,我是 Bob 聊天界面。切换到侧边栏底部的 Agent 模式

切换到 Agent 模式

在聊天界面中输入 /init 命令。如果您禁用了自动批准,Bob 会请求您的许可来读取文件并写入 AGENTS.md 文件。

 /init

在 Bob IDE 中运行 /init 命令

Bob 读取项目中的相关文件。然后 Bob 在 Galaxium Travels 根目录中生成主 AGENTS.md 文件。Bob 还创建一个 .bob 文件夹,其中包含每个模式的 AGENTS.md

探索 AGENTS.md 文件

AGENTS.md 文件的功能类似于 Bob 的入职文档。AGENTS.md 是一个简洁、可操作的摘要,提供 Bob 理解项目结构和约定所需的一切。

您可以在左侧 Bob 文件资源管理器的底部找到主 AGENTS.md 文件。打开文件以阅读其内容。

Bob 文件资源管理器中的 AGENTS.md 文件

AGENTS.md 文件通常包含以下组件:

  • 项目概述和目的
  • 目录结构和关键文件位置
  • 技术栈和依赖项
  • 架构模式和约定
  • 开发工作流程

Bob 自动将 AGENTS.md 应用于新对话并学习项目上下文。

特定模式的 AGENTS.md 文件

除了 Galaxium Travels 根目录中的主 AGENTS.md 之外,/init 还会在 .bob 文件夹中为每个内置模式生成特定模式的上下文文件。每个特定模式的 AGENTS.md 都会使用与该模式目的相关的上下文扩展主 AGENTS.md。下表列出了特定模式的 AGENTS.md 文件:

文件模式
.bob/rules-code/AGENTS-code.mdAgent 模式
.bob/rules-plan/AGENTS-plan.mdPlan 模式
.bob/rules-ask/AGENTS-ask.mdAsk 模式

Plan 模式上下文强调架构约定,而 Code 模式上下文突出显示文件结构和命名模式。

维护 AGENTS.md 文件

在进行以下项目调整后重新运行 /init

  • 添加新模块或服务
  • 更改目录结构
  • 采用新技术或框架
  • 入职将使用 Bob 的新团队成员

您还可以手动编辑 AGENTS.md 以添加 Bob 的自动扫描可能无法捕获的上下文,例如业务规则、部署约定或团队特定的实践。

后续步骤

在本教程中,您了解到以下内容:

  • 大型语言模型是无状态的。运行 /init 命令通过生成 AGENTS.md 来解决此问题,这是 Bob 在每次对话开始时读取的持久上下文文件。
  • 特定模式的 AGENTS.md 文件为 Agent、Plan 和 Ask 模式提供有针对性的上下文。
  • 在重大项目更改后重新运行 /init 以保持上下文最新。
这个主题怎么样?