コンテンツにスキップ

ベストプラクティス

ベストプラクティス

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の機能を使用しない。

解決策:

  1. opencode.jsonplugin配列に"oh-my-openagent"(または旧式の"oh-my-opencode")が含まれているか確認
  2. bunx oh-my-opencode doctorを実行
  3. プラグインエントリのスペルを確認

モデルが利用不可

症状: タスクがモデルエラーで失敗する。

解決策:

  1. プロバイダーのAPIキーが設定されているか確認
  2. プロバイダーがダウンしたときに代替にルーティングするようfallback_modelsを設定
  3. bunx oh-my-opencode doctorでモデルアクセスを確認

コンテキストが長すぎる

症状: エージェントがコンテキストウィンドウの制限に達する。

解決策:

  1. 積極的トランケーションを有効化:"experimental": { "aggressive_truncation": true }
  2. 自動リジュームを有効化:"experimental": { "auto_resume": true }
  3. 大きな一枚岩のファイルの代わりに、フォーカスされたAGENTS.mdファイルを/init-deepで作成

バックグラウンドタスクがタイムアウト

症状: 並列エージェントが完了前に失敗する。

解決策:

  1. 同時実行数を減らす:"background_tasks": { "max_concurrent": 2 }
  2. サブスクリプションティアのAPIレート制限を確認
  3. 必要に応じてプロバイダーごとの制限を追加

実際のケーススタディ

大量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コラボレーション

  1. @exploreが実行パスをトレースし、疑わしいコードを特定
  2. @oracleが潜在的な根本原因を分析し、仮説を提示
  3. エージェントが検証付きで修正を実装
  4. LSPツールが修正によって参照が壊れないことを確認

最適な用途:本番環境の問題、断続的なバグ、競合状態。

ドキュメント生成

パターン:@librarian + コンテキストインジェクション

  1. /init-deepを実行してエージェントにプロジェクトコンテキストを提供
  2. ultrawork: write complete API documentationを使用
  3. Librarianがコードベースをリサーチ
  4. エージェントがLSPで検証された型情報付きでドキュメントを生成

クイックリファレンス

タスクタイプ推奨コマンド関連エージェント
大規模リファクタリングulw: [タスクの説明]Sisyphus + Hephaestus + Experts
アーキテクチャの決定/start-workPrometheus → Sisyphus
バグ修正@explore [バグの説明]Explore → Oracle
ドキュメントulw: write docs for [機能]Librarian + Experts
簡単な変更[シンプルな説明]Sisyphus(quickカテゴリ)

次のステップ