ベストプラクティス
ベストプラクティス
Oh My OpenAgentを最大限に活用するためのパターンと戦略。
使用パターン
シングルタスクモード
タスクを直接記述します。Sisyphusが自動的に委任を処理:
refactor the auth module to use JWT instead of sessions
最適な用途:焦点が絞られた、明確に定義されたタスク。
ultraworkモード
一語ですべてがアクティブに:
ultrawork: migrate the entire project from JavaScript to TypeScript
または:
ulw: fix all ESLint warnings and add missing types
最適な用途:大規模なタスク、マルチステップの作業、並列実行が必要なもの。
ultraworkを使うべき場面:
- 大規模なリファクタリングタスク
- フルスタック機能開発
- 複雑な問題分析
- マルチステップの実装
ultraworkが不要な場面:
- 単純なクエリ
- 小規模な単一ファイルの変更
- 簡単な質問
インタビューモード(Prometheus)
最初にプランニングが必要な複雑なタスクに:
/start-work
Prometheusがインタビューモードに入ります — 明確化のための質問、スコープの特定、検証済みのプランを構築。その後Sisyphusが実行します。
最適な用途:曖昧な要件、重要度の高い変更、プランニングのコスト以上に時間を節約できるタスク。
マルチモデル戦略
Oh My OpenAgentは自動的に最適なモデルに作業をルーティングします。しかし、各強みを理解することでより良いプロンプトを書けます:
| モデル | 得意分野 | カテゴリ |
|---|---|---|
| Claude Opus 4.6 | オーケストレーション、プランニング、ニュアンスのある推論 | Sisyphus、Prometheus |
| GPT-5.4 | 深い自律的推論、複雑なデバッグ | Hephaestus、ultrabrain |
| Kimi K2.5 | 高速なオーケストレーション、コスト効率的なプランニング | Sisyphus(代替) |
| GLM-5 | 中国語タスク、一般的なオーケストレーション | Sisyphus(代替) |
フレームワークがルーティングを処理します。あなたの仕事は「何をしたいか」を記述することであり、「どうするか」ではありません。
コンテキスト管理
AGENTS.md階層
エージェントの理解を深めるために階層的なコンテキストファイルを作成:
project/
├── AGENTS.md ← プロジェクト全体の基準
├── src/
│ ├── AGENTS.md ← ソースコードの規約
│ └── components/
│ └── AGENTS.md ← コンポーネント固有のルール
これらのファイルを自動生成するには/init-deepを使用してください。
条件付きルール
コンテキストに基づいてルールが自動的にアクティブ化:
## when: file.ext == "*.test.ts"
Use Jest and React Testing Library
Follow AAA pattern (Arrange, Act, Assert)
## when: agent == "oracle"
Provide detailed technical decision rationale
Consider long-term maintainability
トラブルシューティング
プラグインが読み込まれない
症状: エージェントがOh My OpenAgentの機能を使用しない。
解決策:
opencode.jsonのplugin配列に"oh-my-openagent"(または旧式の"oh-my-opencode")が含まれているか確認bunx oh-my-opencode doctorを実行- プラグインエントリのスペルを確認
モデルが利用不可
症状: タスクがモデルエラーで失敗する。
解決策:
- プロバイダーのAPIキーが設定されているか確認
- プロバイダーがダウンしたときに代替にルーティングするよう
fallback_modelsを設定 bunx oh-my-opencode doctorでモデルアクセスを確認
コンテキストが長すぎる
症状: エージェントがコンテキストウィンドウの制限に達する。
解決策:
- 積極的トランケーションを有効化:
"experimental": { "aggressive_truncation": true } - 自動リジュームを有効化:
"experimental": { "auto_resume": true } - 大きな一枚岩のファイルの代わりに、フォーカスされたAGENTS.mdファイルを
/init-deepで作成
バックグラウンドタスクがタイムアウト
症状: 並列エージェントが完了前に失敗する。
解決策:
- 同時実行数を減らす:
"background_tasks": { "max_concurrent": 2 } - サブスクリプションティアのAPIレート制限を確認
- 必要に応じてプロバイダーごとの制限を追加
実際のケーススタディ
大量ESLint修正
“Knocked out 8000 eslint warnings with Oh My Opencode, just in a day” — Jacob Ferrari
パターン:ulw: fix all ESLint warnings
- Sisyphusがファイルグループごとに分解
- 複数エージェントが並列で修正
- Ralph Loopが見落としを防止
フルスタックアプリケーション変換
“I converted a 45k line tauri app into a SaaS web app overnight using Ohmyopencode and ralph loop. Started with interview me prompt… It was amazing to watch it work and to wake up this morning to a mostly working website!” — James Hargis
パターン:/start-work(Prometheusインタビュー) → ultrawork(実行)
- Prometheusが移行戦略を計画
- Sisyphusがフロントエンドとバックエンドのエージェントを並列で調整
- Hephaestusが深い変換作業を自律的に処理
- Ralph Loopが一晩中すべてを稼働させ続ける
複雑なバグのデバッグ
パターン:@explore + @oracleコラボレーション
@exploreが実行パスをトレースし、疑わしいコードを特定@oracleが潜在的な根本原因を分析し、仮説を提示- エージェントが検証付きで修正を実装
- LSPツールが修正によって参照が壊れないことを確認
最適な用途:本番環境の問題、断続的なバグ、競合状態。
ドキュメント生成
パターン:@librarian + コンテキストインジェクション
/init-deepを実行してエージェントにプロジェクトコンテキストを提供ultrawork: write complete API documentationを使用- Librarianがコードベースをリサーチ
- エージェントがLSPで検証された型情報付きでドキュメントを生成
クイックリファレンス
| タスクタイプ | 推奨コマンド | 関連エージェント |
|---|---|---|
| 大規模リファクタリング | ulw: [タスクの説明] | Sisyphus + Hephaestus + Experts |
| アーキテクチャの決定 | /start-work | Prometheus → Sisyphus |
| バグ修正 | @explore [バグの説明] | Explore → Oracle |
| ドキュメント | ulw: write docs for [機能] | Librarian + Experts |
| 簡単な変更 | [シンプルな説明] | Sisyphus(quickカテゴリ) |
次のステップ
- 設定 — エージェントの動作を微調整
- エージェントシステム — エージェントのコラボレーションを理解
- ツール — ツールスイートを探る