ベストプラクティス
Bob Shellを最大限に活用するためのガイドラインに従います。
モードの理解と活用
Bobのモードはその動作を形作るタスク固有のペルソナです。適切なモードを選択することで最良の結果が得られます。
組み込みモード
Bob Shellには特定の目的のために設計された3つの組み込みモードがあります:
| モード | 目的 | 使用場面 |
|---|---|---|
| Agent | コードの作成と変更 | 機能の実装、バグ修正、コードの改善 |
| Plan | 計画と設計 | 実装前、アーキテクチャ計画や技術仕様の作成が必要なとき |
| Ask | 情報の取得 | ファイルを変更せずに説明や情報が必要なとき |
モード選択の戦略
最も効果的なワークフローのために:
新しいプロジェクトや複雑な機能にはPlanモードから始める。コードを書く前に詳細な実装計画を作成します。 計画をよく読んで目標と一致していることを確認します。
実装の準備ができたら、日常的な開発タスクにはAgentモードに切り替える。
ファイルを変更せずに説明や情報が必要なときはAskモードを使用する。
bob chatセッション中に/mode agent、/mode plan、または/mode askと入力してモードを切り替えます。詳細についてはモードを参照してください。
カスタムモード
特定のタスクやワークフローのための専門的なモードを作成できます:
- セキュリティレビューやドキュメント作成などの専門的なタスク用のモードを作成する。
- 特定のツールアクセスパーミッションとロール定義でカスタムモードを設定する。
- ワークフローを標準化するためにチームとモードを共有する。
カスタムモードの作成と設定についてはカスタムモードのドキュメントを参照してください。
ワークフローの最適化
コーディング前に計画する
常に複雑なプロジェクトや機能をPlanモードで始めることで:
- 詳細な実装計画を生成する。
- 複雑な問題を管理しやすいステップに分解する。
- 問題が発生する前に潜在的な課題を特定する。
- 実装のロードマップを作成する。
このアプローチにより重大な変更を防ぎ、開発の明確な方向性を提供します。
安全網としてgitを使用する
望ましくない変更から回復できるよう頻繁にコミットします:
- 明確なメッセージで頻繁に小さなコミットを作成する。
- 定期的に変更をリモートリポジトリにプッシュする。
- 実験的な機能にはブランチを使用する。
Bobの結果が不満足な場合、新しいインストラクションで欠陥のある出力を修正しようとするより、以前のコミットに戻す方が効果的です。不正な出力がコンテキストに残らないように、リバート後に新しいbob chatセッションを始めます。
使用量とコストを監視する
アカウントの使用量を確認してBobコインの消費を追跡します。コンテキストウィンドウのサイズに注意してください。大きな会話はtokenをより多く消費し、したがってBobコインも多く消費します。
バージョン管理との統合
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}/ディレクトリでモード固有のルールを作成する。- コーディング標準、ドキュメント要件、またはその他のワークフロー制約を適用するためにルールを使用する。
カスタムモードとルールの詳細についてはカスタムモードのドキュメントを参照してください。