AI エージェントオーケストレーション
エージェントハーネスと MCP で操作するワークフローをオーケストレーションする。
Dagu は AI 支援作業に本番用のワークフロー境界を与えます。harness.run でエージェントハーネスステップを実行し、内蔵 MCP サーバー経由で MCP 対応ツールに Dagu を操作させ、ログ、リトライ、承認、監査履歴を一か所に保持します。
name: agent-review
schedule: "0 9 * * 1"
steps:
- id: collect_context
run: ./scripts/collect-release-context.sh
output: RELEASE_CONTEXT
- id: draft_notes
action: harness.run
with:
provider: codex
prompt: |
Draft release notes from this context:
${steps.collect_context.outputs.RELEASE_CONTEXT}
depends: [collect_context]
- id: human_review
run: ./scripts/request-approval.sh
depends: [draft_notes]明示的な外部プロバイダー実行
Claude、Codex、Gemini、OpenCode、カスタム CLI を実行
MCP 対応ツールにワークフロー操作を公開
人間のレビュー、ログ、リトライ、成果物を Dagu に保持
一目で比較
エージェントスタックにおける Dagu の役割
harness ステップ経由の外部 CLI と、HTTP 上の MCP クライアント。
エージェントフレームワークは、オーケストレーションを一つのランタイムやモデル面に結びつけがちです。
スケジュール、リトライ、ログ、成果物、承認、再実行。
プロンプトだけの自動化では、これらの制御を独自スクリプトや慣習に任せることになります。
ワークフロー定義、実行環境、監査履歴を自分の環境に保持します。
ホスト型エージェントプラットフォームでは、実行状態やコスト構造を外部サービスが握ります。
詳細
それぞれの強みと向き不向き
隠れたランタイムではなく外部エージェントを使う
Dagu は AI 作業を明示的に扱います。ワークフローステップは、チームが選んだ外部 CLI またはカスタム harness を呼び出します。
- Claude、Codex、Gemini、OpenCode、Aider、社内ツールに harness.run を使う
- プロバイダーをホスト上または管理されたコンテナサンドボックス内で実行する
- ワークフローエンジンを変えずにモデルや CLI を差し替える
MCP 対応ツールから Dagu を操作する
Dagu の MCP サーバーは HTTP サーバーに内蔵されています。承認されたクライアントは、API と同じ認証境界の中で状態を確認し、編集をプレビューし、DAG 変更を適用し、実行を制御できます。
- エージェントに生のインフラ認証情報を渡さずに Dagu の状態と実行制御を公開する
- MCP クライアントから dagu_read、dagu_change、dagu_execute を使う
- MCP リクエストとその後の操作を監査履歴に記録する
AI 作業の周囲に本番運用の制御を置く
エージェントの出力にも、スケジュール、依存関係、リトライ、検証、人間のレビューが必要です。Dagu はそれらをプロンプトの工夫ではなくワークフロー構造として扱います。
- 生成された出力が本番へ届く前に承認ステップを入れる
- stdout、stderr、成果物、ログ、実行履歴をレビュー用に保存する
- 定期的な要約、トリアージ、クリーンアップ、QA ワークフローをスケジュールする
FAQ
Dagu を導入する前によくある質問
Dagu は AI エージェントフレームワークですか?
いいえ。Dagu はエージェントフレームワークではありません。エージェントハーネスステップ、MCP クライアント、通常のコマンドを実行して観測するワークフローエンジンです。
harness.run は何を実行しますか?
harness.run は、Claude、Codex、Gemini、OpenCode、Aider、または社内 harness など、設定された外部プロバイダーを実行します。Dagu は隠れた組み込みエージェントを起動しません。
MCP はここで何を担当しますか?
内蔵 MCP サーバーは、許可された MCP 対応クライアントが Dagu の状態確認、変更プレビュー、DAG 変更、実行制御を行う入口です。認証情報はクライアントへ渡さず、実行時に Dagu 側で注入します。
次の一歩
まず 1 つのワークフローから。
Dagu をインストールし、不安定なスクリプトやエージェントタスクを 1 つ YAML に移して、実際の実行履歴を見て判断できます。