開発
development ブランチ
開発用サービスと認証情報でワークフローを作成、実行、デバッグし、変更を公開します。
Publish 有効
本番 AI ワークフロー
開発、ステージング、本番を別々の Dagu インスタンスで実行します。レビュー済みのワークフロー定義だけを Git で昇格し、認証情報、ワーカー、履歴、アクセス方針、インシデント経路は各インスタンスに分離します。
name: release-review
steps:
- id: collect_context
run: ./scripts/collect-context.sh
output: CONTEXT
- id: draft
action: harness.run
with:
provider: codex
prompt: |
Review this release:
${steps.collect_context.outputs.CONTEXT}
retry_policy:
limit: 2
approval:
prompt: Review the agent output before release
rewind_to: collect_context
depends: [collect_context]
- id: publish
run: ./scripts/publish.sh
depends: [draft]
環境ごとに独立した Dagu インスタンス
Git レビューを通したワークフロー昇格
承認、リトライ、ログ、メトリクス、トレース
Slack、PagerDuty、認証済み MCP による復旧
環境アーキテクチャ
1 台のサーバー内の開発ワークスペースは、本番の分離境界にはなりません。環境ごとに Dagu サーバー、ストレージ、認証情報、ワーカー、ネットワークアクセスを分け、各インスタンスの Git Sync を承認済みブランチに接続します。
development ブランチ
開発用サービスと認証情報でワークフローを作成、実行、デバッグし、変更を公開します。
Publish 有効
staging ブランチ
レビュー済み定義を分離されたインスタンスへ取り込み、ステージング依存先に対して検証します。
読み取り専用 Git Sync
保護された main ブランチ
昇格済みリビジョンだけを、本番専用の認証情報、方針、テレメトリ、インシデント経路で実行します。
読み取り専用 Git Sync
本番統制
モデルやエージェントのランタイムを変更しても、運用上の契約は維持できます。Dagu は周囲の実行経路を明示的でレビュー可能、かつ復旧可能にします。
DAG 定義とワークフロー作成スキルを Git に置き、差分をレビューして既知のリビジョンを環境間で昇格します。
エージェント出力後に停止してレビュー入力を集め、本番処理の前に承認、却下、または差し戻しを行います。
終わりのないプロンプト制御ではなく、依存関係、タイムアウト、上限付きリトライ、キュー、同時実行制御を使います。
承認や公開の前に、決定的テスト、ポリシーチェック、外部評価コマンドを通常のワークフローステップとして実行します。
履歴、ログ、アーティファクトを確認し、Prometheus にメトリクス、OpenTelemetry に DAG/ステップのトレースを送ります。
運用担当へ通知し、リトライ終了後にインシデントを起票し、許可された MCP クライアントから調査と復旧を行います。
Git ベースの昇格
開発環境では変更を publish できます。ステージングと本番では通常 `push_enabled: false` を設定し、保護ブランチからレビュー済み定義だけを pull します。ステージングは自動 pull、本番は保護ブランチの自動 pull またはデプロイ承認後の制御された pull を選べます。
Git Sync が追跡するのは DAG ファイルとワークフロー作成スキルです。シークレット、サーバー設定、ストレージ、実行履歴、ワーカー、ネットワークアクセスは各 Dagu インスタンスに残ります。
git_sync:
enabled: true
repository: github.com/acme/ai-workflows
branch: main
push_enabled: false
auth:
type: token
token: ${GITHUB_TOKEN}
auto_sync:
enabled: true
on_startup: true
interval: 300
失敗と復旧
Dagu は通常の通知とインシデントのライフサイクル管理を分け、認証されたワークフロー操作を MCP クライアントへ公開します。
ワークフローまたはエージェントステップが失敗し、設定済みリトライを実行します。
リトライ上限後、Dagu は最終失敗を設定済み Slack 通知経路へ送ります。
PagerDuty 経路は、失敗中ワークフローに対する重複排除された 1 件のインシデントを起票または更新できます。
許可された MCP クライアントが実行とログを読み、DAG 変更をプレビューし、再試行または停止します。
後続の実行が成功すると、同じプロバイダー経路を識別できる場合に未解決インシデントを解決します。
正確な境界
Dagu は AI システムを囲むワークフロー統制層です。境界を明確にすると、構成が安全になり、本番運用という主張も有用になります。
| Dagu が提供 | 境界 | |
|---|---|---|
| 環境分離 | 独立したサーバー、ストレージ、認証情報、ワーカー、アクセス方針、インシデント設定と、定義用 Git Sync。 | 単一インスタンス内のワークスペースやランタイムプロファイルは、強い環境分離の代替ではありません。 |
| ワークフロー観測性 | 実行・ステップ状態、ログ、アーティファクト、履歴、Prometheus メトリクス、OpenTelemetry の DAG/ステップトレース。 | プロンプトトレース、トークン・コスト、意味的な出力品質は、エージェントまたは評価スタックで計測する必要があります。 |
| 評価とガードレール | 決定的検証、外部評価コマンド、承認ゲート、上限付きリトライを構成するグラフ。 | Dagu 自体は、LLM の回答が事実に即しているか、特定領域で安全かを判定しません。 |
| セキュリティとインシデント対応 | 認証済み操作、スコープ付き API キー、通知、MCP 制御、インシデントプロバイダー経路。 | セルフホストの監査ログとインシデント連携には有効なライセンスまたはトライアルが必要です。マネージド Dagu には含まれます。 |
FAQ
環境分離が必要なら共有しません。認証情報、ストレージ、ワーカー、ネットワーク、ログ、方針を別境界にするため Dagu インスタンスを分け、Git Sync で定義を昇格します。
しません。Git Sync は DAG ファイルとワークフロー作成スキルをリポジトリに合わせます。シークレット、設定、ストレージ、実行履歴、ワーカーは各インスタンスに残ります。
単体では測れません。決定的テストや評価ツールをステップとして実行し、その結果で次の処理を制御できますが、評価ロジックはツールと領域専門家が担います。
Dagu の認証と権限の範囲で、DAG、実行、ログの確認、検証済み DAG 変更のプレビューまたは適用、実行開始、キュー投入、再試行、停止、追跡ができます。
次の一歩
既存のエージェントコマンドを Dagu DAG に置き、出力検証と承認境界を追加し、同じレビュー済み定義を分離された開発、ステージング、本番へ昇格します。