最佳实践

遵循这些指南,充分发挥 Bob Shell 的使用效果。

了解和使用模式

Bob 的模式是面向特定任务的角色,塑造其行为方式。选择合适的模式有助于获得最佳结果。

内置模式

Bob Shell 内置三种模式,每种模式针对特定用途而设计:

模式用途适用场景
Agent编写和修改代码实现功能、修复 bug 或改进代码
Plan规划和设计实现前需要规划架构或创建技术规范时
Ask获取信息需要说明或信息但不修改文件时

模式选择策略

实现最高效工作流:

从 Plan 模式开始,为新项目或复杂功能创建详细的实现计划,然后再编写任何代码。 仔细阅读计划,确认它与你的目标一致。

切换到 Agent 模式,处理准备实现的大多数日常开发任务。

使用 Ask 模式,在需要说明或信息但不修改文件时使用。

bob chat 会话中,通过输入 /mode agent/mode plan/mode ask 切换模式。有关更多详情,请参阅模式

自定义模式

你可以为特定任务或工作流创建专属模式:

  • 为安全审查或文档编写等专项任务创建模式。
  • 配置具有特定工具访问权限和角色定义的自定义模式。
  • 与团队共享模式以标准化工作流。

自定义模式文档中了解更多关于创建和配置自定义模式的信息。

工作流优化

编码前先规划

对于复杂项目或功能,始终在 Plan 模式中开始:

  • 生成详细的实现计划。
  • 将复杂问题分解为可管理的步骤。
  • 在问题出现之前识别潜在挑战。
  • 为实现创建路线图。

这种方式可以防止破坏性变更,并为开发提供明确方向。

将 git 作为安全网

频繁提交工作,以便从不理想的更改中恢复:

  • 使用清晰的提交信息频繁创建小型提交。
  • 定期将更改推送到远程仓库。
  • 为实验性功能使用分支。

如果 Bob 的结果不理想,回退到之前的提交比尝试用新指令修正错误输出更有效。回退后开始新的 bob chat 会话,以确保错误输出不再出现在上下文中。

监控使用情况并优化成本

通过查看账户使用情况追踪 Bobcoin 消耗。注意上下文窗口大小——长对话消耗更多 token,因此也消耗更多 Bobcoins。

与版本控制集成

Git 提供了必要的安全网,防止代码被意外永久删除。在 AI 辅助的重大变更前后定期提交。

沟通策略

编写有效的提示词

提示词的质量直接影响 Bob 响应的质量:

  • 具体且清晰:模糊的提示词会导致模糊的输出。详细说明 Bob 应该做什么和不应该做什么。
  • 提供示例:尽可能包含期望输出格式或风格的示例。

使用上下文引用

上下文引用让你可以在与 Bob Shell 的对话中直接引用项目的特定元素:

  • 使用 @/path/to/file.js 包含特定文件内容。
  • 使用 @/path/to/folder 包含目录中的所有文件。
bob chat

# 引用特定文件
> 解释 @src/utils.js 的作用以及它的工作原理

# 引用目录
> 检查 @tests/ 中的测试并找出遗漏之处

这种方式比复制粘贴代码或描述文件位置更高效。

管理上下文窗口

Bob 的上下文窗口为 270,000 token,包括对话历史、文件内容和工具输出。要有效使用它:

  • 定期开始新的 bob chat 会话,每次有明确目标。
  • 避免一次性提供整个代码库给 Bob。
  • 使用直接文件引用提供针对性上下文。
  • 将复杂任务分解为更小、更专注的子任务。

有关上下文窗口工作原理和管理策略的深入说明,请参阅上下文窗口管理

安全与控制

配置自动批准设置

Bob Shell 允许你控制哪些操作在运行前需要你的批准:

  • 手动批准:审查并批准 Bob 采取的每个操作(最安全的设置)。
  • 自动批准:授予 Bob 运行特定任务而不被中断的能力。
  • 混合方式:对低风险操作自动批准,对高风险任务要求确认。
  • 自动批准的命令:定义 Bob 可以无需每次请求批准即可运行的可信命令列表。

根据你的舒适程度和项目的敏感性,在 ~/.bob/settings/settings.json 中配置这些设置。

自动批准操作文档中了解更多关于自动批准设置的信息。

使用 .bobignore

.bobignore 文件让你可以指定 Bob 不应访问或修改的文件和目录:

在项目根目录创建 .bobignore 文件。

添加敏感文件、构建产物和大型资产的匹配模式。

使用与 .gitignore 相同的语法。

这有助于保护敏感信息,防止对生成文件的意外更改。

忽略文件文档中了解更多关于控制文件访问的信息。

有关安全指南的更多详细信息,请参阅安全指南

设置规则

Bob 允许你指定规则来控制 Bob 执行任务的方式:

  • .bob 目录中全局或按项目定义规则。
  • .bob/rules-{mode-slug}/ 目录中创建模式专属规则。
  • 使用规则强制执行编码标准、文档要求或其他工作流约束。

有关自定义模式和规则的更多信息,请参阅自定义模式文档。

这个主题怎么样?