コンテンツにスキップ

業種テンプレートとOdoo ERP連携

すぐに使えるビジネスインテリジェンス——数分でドメインエキスパートエージェントをデプロイ。


たとえ話:レストランのセットメニュー vs アラカルト

Section titled “たとえ話:レストランのセットメニュー vs アラカルト”

新しいレストランを開く時、2つの選択肢があります:

  • アラカルト:すべての料理をゼロから設計。最大の柔軟性、最大の労力。
  • セットメニュー:実績のある組み合わせから始めて、好みに合わせてカスタマイズ。素早くローンチ、簡単にイテレーション。

DuDuClawの業種テンプレートはエージェントデプロイメントのセットメニューです。各テンプレートには特定の業種で運用するために必要なすべて——パーソナリティ、行動ルール、ドメイン知識——がすぐに使える状態で含まれています。


各テンプレートは完全なエージェントスターターキット:

templates/{industry}/
├── SOUL.md # 業種に合わせたエージェントパーソナリティ
├── CONTRACT.toml # 業種固有の行動境界
├── agent.toml # エージェント設定
└── … # 業種別の追加ファイル:レストラン FAQ.json + PROACTIVE.md、
# 製造業 SOP-template/、貿易業 price-list-template.csv

SOUL.md — エージェントのパーソナリティが業界に適切なコミュニケーションスタイルで事前設定:

  • 製造業エージェントは正確でメトリクス駆動の言語を使用
  • レストランエージェントは温かくサービス志向で、食事関連の質問を自然に処理
  • 貿易業エージェントは簡潔で数字重視、リスク意識が高い

CONTRACT.toml — 行動境界が業界規制を反映:

  • 製造業エージェントは人の確認なしに設備の再起動を承認してはならない
  • レストランエージェントはメニューに触れるとき常にアレルゲン警告を含める
  • 貿易業エージェントはすべての見積に貿易条件(FOB/CIF/EXW)を含める

追加ファイル — エージェントが作業に使う初期資料:レストランは FAQ と定期チェック表、製造業は設備異常 SOP テンプレート、貿易業は価格表テンプレート。プレースホルダーは自社のデータに置き換えてください。

製造業 — 工場運営アシスタント:生産を監視し、重大度タグ付きで異常を報告し、SOP 手順を伝え、シフト間を調整します。

レストラン — 接客アシスタント:問い合わせとメニューの質問に答え、予約を受け、メニューに触れるときアレルゲンを示します。

貿易業 — 国際貿易アシスタント:バイヤーの問い合わせに答え、価格表に基づき貿易条件と有効期限つきで見積もり、バイヤーとサプライヤー間の注文を追跡します。

テンプレートは出発点であり、拘束ではありません:

ステップ1:テンプレートをデプロイ(`duduclaw wizard` のメニューで業種を選択)
ステップ2:パーソナリティをカスタマイズ——SOUL.mdを自社のブランドボイスに合わせて編集
ステップ3:境界を調整——CONTRACT.tomlを特定のコンプライアンス要件に合わせて変更
ステップ4:ドメイン知識を追加——メニュー、サプライヤー、手順をwikiにインポート
ステップ5:進化に任せる:SOUL.md は書いたとおりに保たれ(エージェントは編集不可)、
エージェントが学ぶのは小さな playbook ルールで、各ルールは eval ケースに紐づき、
役に立たなくなれば個別に退役。すべてカスタマイズされた規約境界内(features/38 参照)

業種テンプレート、エキスパートパック(チーム一式)、ジョブプリセットは、同じ考え方の3つの形です——設定済みのAI社員を生み出す1つの宣言。これらが1つのマニフェストスキーマと1つのコマンドを共有するようになりました。

pack.tomlのkindが、それがどの形かを示します:

[pack]
schema = 1
id = "clinic-team"
kind = "team" # "preset" = 1つの職務設定 | "team" = ロスター | "template" = 単体の業種ペルソナ
tier = "free" # "free" | "premium"
version = "1.0.0"
label = "美容/歯科クリニック"
description = "フロント1名と部門ワーカー5名"
[[pack.agents]]
name = "clinic-assistant"
role = "front_desk"

1つのコマンドで、3つすべてを読み、インストールできます:

ターミナルウィンドウ
duduclaw pack list # インストール済みパック、ローカルのプリセット、カタログで提供中のもの
duduclaw pack inspect ./my-team # 正規化した表示。どの方言で読み取ったかも表示
duduclaw pack install ./my-team # kindで経路分岐。プレミアム内容のライセンス確認は1か所のみ

kindがインストール経路を決めます——プリセットはプリセットストア(presets/<id>/preset.toml、duduclaw preset bindで社員に紐付け)へ、チームパックと業種パックはfeatures/32で説明する完全なセキュリティパイプラインを通ります。tierは唯一残ったプレミアム判定です:以前は4つの別々のコードパスがディレクトリパスから「これは有料コンテンツか」を各自導出していましたが、いまはパック自身がtierを持ち、1つの述語だけがそれを読みます。

3つの旧マニフェスト方言は引き続き読み込まれます。 expert.toml、team.toml、preset.tomlはそのまま読まれ、ディスク上は1文字も書き換えません——プレミアムコンテンツツリー(コンプライアンス規定を人間が1行ずつレビュー済み)を機械が変換することはありません。このうちexpert.toml、team.toml、業種パックのディレクトリ構成は非推奨で、書き直された有料テンプレートと一緒に今後のバージョンで削除されます(バージョン番号は未定)。preset.tomlは職務プリセットの保存形式で、非推奨ではありません。duduclaw expert installはv1.69.0で削除されました。代わりにduduclaw pack installを使ってください。旧ファイルが新スキーマでどう見えるかはduduclaw pack inspect <dir> --emit-canonicalで確認できます——表示するだけで、書き込みはしません。


AIエージェントはビジネス運営について話すことはできますが、実行できません。エージェントは顧客に請求書が必要だと知っていても、ERPシステムで作成できない——ブリッジがなければ。

DuDuClawには、エージェントを世界で最も広く使われているオープンソースERPシステムの1つであるOdooに直接接続するミドルウェアが含まれています:

ユーザー:「顧客ABCの販売注文を作成、Widget X 10個」
|
v
エージェントが意図を理解
|
v
MCPツール呼び出し:odoo_sale_create_quotation、続いて odoo_sale_confirm
|
v
DuDuClaw Odoo BridgeがJSON-RPC呼び出しに変換
|
v
Odoo ERPシステムが販売注文を作成
|
v
Bridgeが結果を返却(注文番号、合計金額)
|
v
エージェント:「販売注文SO-2024-0042を作成。顧客ABC。
Widget X 10個、合計:$1,500。」

利用可能な操作(17 MCPツール)

Section titled “利用可能な操作(17 MCPツール)”

ブリッジは次のツールを公開します(crates/duduclaw-cli/src/mcp/tools_def/odoo.rs):

  • 接続:odoo_connect、odoo_status
  • CRM:odoo_crm_leads(リード一覧)、odoo_crm_create_lead、odoo_crm_update_stage
  • 販売:odoo_sale_orders(注文一覧)、odoo_sale_create_quotation、odoo_sale_confirm
  • 在庫:odoo_inventory_products(製品検索)、odoo_inventory_check(在庫レベル)
  • 会計:odoo_invoice_list、odoo_payment_status
  • 汎用:odoo_search(任意モデルの検索)、odoo_execute(モデルメソッドの呼び出し)、odoo_report、odoo_partner_search、odoo_schema_fields

Odooは2つのエディション:Community Edition(CE、オープンソース)とEnterprise Edition(EE、有料)。一部の機能はEEでのみ利用可能。

ブリッジはこれを自動的に処理:初回接続時にOdooエディション(CEまたはEE)を検出し、検出されたエディションがサポートするMCPツールのみを公開。設定不要——ブリッジがOdooインスタンスを調査して自動適応します。

操作の実行に加え、ブリッジはOdoo内のイベントをリッスンすることもできます。2つの経路が同じ自動化バスに流れ込み、どちらも既定では無効です:

経路 スイッチ 動作
ポーリング config.toml [odoo] poll_enabled(既定 false) poll_interval_seconds(60〜86400、既定 60)ごとに、poll_models のうち前回以降に write_date が動いたレコードを Odoo に問い合わせます。
Webhook config.toml [odoo] webhook_enabled(既定 false) Odoo の automated action が [odoo] webhook_secret の共有シークレットを添えて POST /webhook/odoo に送信します。
Odooイベント発生:
- 新リード作成
- 注文ステータス変更
- 請求書期限超過
|
v
ポーリングが変更をキャッチ または Odooが /webhook/odoo に送信
|
v
`odoo_event` が自動化バスに届く
|
v
自動化ルールが処理を決める:
- 新リードを営業チームに通知
- フォローアップをエージェントに委任
- 期限超過の請求書に支払リマインダーを送信

ルールの書き方は他のトリガーと同じで、トリガー名は odoo_event です。event_type / model / record_id に加えてレコードのトップレベルのスカラー項目もそのまま展開されるので、条件は {"field": "state", "op": "eq", "value": "sale"} と書けます。

v1.67.1 から、このルールはダッシュボードでも作成できます(設定 → オートパイロット → ルール作成、トリガーは「Odoo のデータが変わったとき」)。条件のフィールドには Odoo の項目名(例:state)をそのまま入力します。v1.67.1 より前は、ダッシュボードのフォームからルールを1件も作れませんでした。

このエンドポイントは外部から到達可能なため、挙動は意図的に保守的です:

  • webhook_enabled が無効の間、ルートは 404 を返します。既定インストールではエンドポイントの存在すら漏らしません。
  • シークレットの欠落・不一致は 401。設定済みシークレットが空文字の場合もすべて拒否します——中途半端な設定は受け付けるより拒否する方が安全です。
  • ポーリングは3条件すべて(poll_enabled が有効、Odoo接続が設定済み、poll_models に有効なモデル名が1つ以上)を満たさない限り、バックグラウンドタスク自体を起動しません。

エージェントを受動的なツールユーザーから、実世界のイベントに反応するプロアクティブなビジネス参加者に変えます。


テンプレート + ERPブリッジの組み合わせ

Section titled “テンプレート + ERPブリッジの組み合わせ”
製造業テンプレート + Odoo Bridge:
エージェントが在庫レベルを監視(Odoo)→
重要材料の在庫不足を検出 →
購買発注を自動作成 →
設定チャネル経由で生産マネージャーに通知
レストランテンプレート + Odoo Bridge:
エージェントが大口ケータリング注文を受信(チャネルメッセージ)→
食材の在庫確認(Odoo在庫)→
販売注文を作成(Odoo販売)→
アレルゲンの懸念をフラグ(wikiナレッジ)→
顧客に確認
貿易業テンプレート + Odoo Bridge:
エージェントが市場データ更新を受信 →
ポートフォリオポジションとクロスリファレンス(Odoo)→
リスク閾値を超えるポジションを特定 →
推奨アクション付きでトレーダーにアラート送信

テンプレートなしで業種固有のエージェントをデプロイするには:業界の用語とプロセスの調査、パーソナリティファイルの作成、行動境界の定義、ドメインナレッジベースの構築、テストとイテレーションが必要。テンプレートがあれば、これらのステップはすべて事前構築済み。数分でデプロイ可能。

Odooブリッジがエージェントを会話アシスタントから運用ツールに変革。請求書の作成を推奨するだけでなく、作成する。AIアドバイスとビジネスアクションのギャップを埋めます。

テンプレートは業界ベストプラクティスをエンコード。テンプレートから作成されたエージェントは品質管理基準、安全プロトコル、在庫管理プラクティスをすでに理解。個々の運用者がこの知識を再発明する必要はありません。

テンプレート、ERPブリッジ、進化システムがシームレスに連携。テンプレートが出発点を提供し、ERPブリッジが運用能力を提供し、進化システムが実世界のパフォーマンスに基づき継続改善——すべて規約の安全境界内で。


  • 進化エンジン:テンプレートからデプロイされたエージェントは他のエージェントと同様に進化。テンプレートは出発点であり恒久的状態ではない。
  • 行動規約:各テンプレートに業界コンプライアンス要件に合わせた規約を含む。
  • メモリシステム:wikiのドメイン知識がメモリシステムを通じてインデックスされ検索可能。
  • チャネル統合:テンプレートエージェントは全11通信チャネルに対応。
  • コスト管理:ERPブリッジ操作はCostTelemetryで追跡され予算が可視化。

業種テンプレートとOdoo ERPブリッジはエージェントデプロイメントの「ラストマイル」問題を解決します:汎用AIから、実世界で実際に物事を行えるドメインエキスパートへ。テンプレートが知識とパーソナリティを提供し、ERPブリッジが運用能力を提供し、進化システムが継続的な改善を保証します。