# AIと自動化ガバナンス：独立したAIトリアージスクリプトのオーケストレーション

**URL:** https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716
**Category:** Support
**Tags:** ai
**Created:** [2025 年 2 月 5 日午後 8:17 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716 "2025-02-05T20:17:01Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Cloud\_spanner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cloud_spanner/32/485500_2.png) [@Cloud\_spanner](https://meta.discourse.org/u/Cloud_spanner)
#### Post date: [2025 年 2 月 5 日午後 8:17 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/1 "2025-02-05T20:17:01Z")

</div>

独立したAIトリアージスクリプト（例：スパムチェック、タグ決定）を使用してAI搭載の自動化を構築しています。これらは現在並行して実行されており、非効率的です。例えば、スパムスクリプトがコンテンツをフラグ付けしなかった場合にのみタグスクリプトを実行するように、それらを「連鎖」させる必要があります。

より論理的なワークフローのために、これらのスクリプトをどのように管理およびオーケストレーションできますか？具体的には、これらのスクリプトを条件付きで連鎖させるにはどうすればよいですか？

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 2 月 7 日午前 1:43 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/2 "2025-02-07T01:43:41Z")

</div>

求めている完全なフローを説明していただけますか？これは別のサーバーで実行するものでしょうか、それとも Discourse 内で実行したいものでしょうか？

AI ワークフローは、私たちが多く考えていることです。ワークフローにおけるチェーンを定義する機能は重要です。その点については完全に同意します。

---

<div class="post-metadata">

### Author: ![Cloud\_spanner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cloud_spanner/32/485500_2.png) [@Cloud\_spanner](https://meta.discourse.org/u/Cloud_spanner)
#### Post date: [2025 年 2 月 7 日午前 2:46 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/3 "2025-02-07T02:46:21Z")

</div>

私の見るところ、AIトリアージと自動化を備えたDiscourseで、ほとんどのユースケースが実現可能です。もしそれらがトリガーできれば、次のステップに進めます。

以下は、各ステップで投稿内容とプロンプトをLLMに送信する、仮説的なフローです。

1. スパムかどうかを確認する

- スパムの場合、非表示にしてフラグを立てる

1. スパムでない場合、議論されている製品を特定する

- 製品ラベルを追加する

1. 次にインテントを特定する:  
\*\* クレーム  
\*\* 質問  
\*\* 提案  
\*\* 情報共有  
\*\* ポジティブなフィードバック

- インテントタグを追加する

1. インテントが「クレーム」の場合、ホットボタンの問題を評価する: つまり、ホットボタンのフレーズ（キャンセル、ひどい、遅い）が含まれているか。

- ホットボタンの問題の場合、「ホット」タグを追加し、サムに割り当てる

1. インテントが「ポジティブなフィードバック」で、製品が「ワイヤレス電話プラン」の場合、紹介プログラムへのカスタム招待状を作成し、PMとして送信する。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 2 月 7 日午前 2:56 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/4 "2025-02-07T02:56:10Z")

</div>

これは素晴らしい、非常に興味深いユースケースです。

カスタムツールはすでにスクリプティングのサポートがあるため、このような変更には最適な手段となります。

Persona + 強制的なツール使用を考えています。ツールから、すでにすべてのインフラストラクチャを持っているため、フローを実行できます。カスタムツールに他のLLM呼び出しをトリガーする機能を与えるだけでよく、これは追加するのが比較的簡単です。

興味深いことに、カスタムツールはREST呼び出しをサポートしているため、フロー全体を実行できます（そして、これを連携させるためにディスコースREST APIを使用するだけです）。

週末にかけてこの件について考えて、来週、どのように実現できるかについて再度返信します。

オートメーションの連鎖も非常に興味深いアプローチです。@j.jaffeux、この問題について考えたことはありますか？

---

<div class="post-metadata">

### Author: ![Saif](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saif/32/318253_2.png) [@Saif](https://meta.discourse.org/u/Saif)
#### Post date: [2025 年 2 月 9 日午前 8:35 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/7 "2025-02-09T08:35:39Z")

</div>

これは[IFTTT](https://ifttt.com/)/[Zapier](https://zapier.com/)のアクションチェーンを思い出させます。このようなものを作成する場合、UI/UXの要素を多く参考にできると思います。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 2 月 9 日午後 10:05 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/8 "2025-02-09T22:05:50Z")

</div>

こんにちは @Cloud_spanner さん。この問題を根本から理解しようとしており、実際のフローをもう少し詳しく説明したいのですが、途中でいくつか質問に答えていただけますでしょうか？ 5.

1. どの投稿をスキャンすべきですか？

2. 意図

3. 意図が手動で設定できる場合、手動でタグ付けされたものも「ホットボタン」のためにスキャンすべきですか？

特に、ここで考えているのは次の点です。

1. 「ワークフロー」には、特定の投稿がステップをスキップして次に進むショートカットが含まれていますか？
2. フィードバックループやエッジケースをどのように回避しますか？

---

<div class="post-metadata">

### Author: ![Cloud\_spanner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cloud_spanner/32/485500_2.png) [@Cloud\_spanner](https://meta.discourse.org/u/Cloud_spanner)
#### Post date: [2025 年 2 月 11 日午後 6:15 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/10 "2025-02-11T18:15:51Z")

</div>

1. すべての新しいトピックは、AIトリアージワークフローを開始する必要があります。編集は無視できます。

2. 明確にするために、ワークフローを説明するためにインテントを使用していますが、これはハードコーディングされたフローとは見なされるべきではありません。私が伝えたいのは、最初のトリアージワークフローで不要と判断された場合に「インテント」ワークフローを開始する理由がないということです。IFTTTワークフローの概念に賛成です。

インテントと「ホット」は、この例ではモデレーターと管理者にのみ表示される不可視のタグになります。

投稿ごとに1つのインテントタグが必要です。

1. ワークフローのために、手動でタグ付けされた投稿は無視できると思います。

> [@sam](#):
>
> 「ワークフロー」には、特定の投稿がステップをスキップして次に進むショートカットが含まれていますか？

はい。

> [@sam](#):
>
> フィードバックループやエッジケースをどのように回避しますか？

フローがそのトピックで実行されたことを示すプライベートタグを使用するのはどうでしょうか？そして、将来の実行では無視できます。

もう1つの考えは、LLMの「推論」能力と大きなコンテキストウィンドウが増加したことで、Discourse Automationウィンドウで[構造化出力](https://ai.google.dev/gemini-api/docs/structured-output?lang=python)を許可する方が良いのではないかということです。IFTTTロジックは、複数のオートメーションを連鎖させるのではなく、単一のオートメーションに適用されるだけになります。「検索テキスト」アクションが多数ある1つのオートメーションを持つ機能があればどうなるでしょうか。

 ![The image shows an input prompt instructing to search for text in a Large Language Model (LLM) reply and perform specified actions if a certain text appears. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/d/3/1/d31bdab5aa6d638cb0f09b169bad6a9272288528.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 2 月 14 日午前 2:19 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/11 "2025-02-14T02:19:25Z")

</div>

現在のシステム内でこれをどのように解決できるか考えていましたが、新しい自動化タイプを許可するという非常に魅力的な選択肢があります。

`triage_using_custom_tool`

すでにカスタムツールシステムがあります。

 ![画像は、「Webの参照」機能のフォーム、概要、パラメータ、スクリプトセクションを含むツールの設定ページを示しており、URLの入力フィールドも含まれています。（AIによるキャプション）](https://global.discourse-cdn.com/meta/original/4X/1/7/4/174c569f6c69906b624584bfd672cbe04e5d7a63.png)

次に、`llm.generate` や `topic.close`、`topic.tag` などの追加機能を許可できます。これらは、ツールがこれらのワークフローを実行するために使用できます。

これのもう1つの利点は、テストできるため、調整が容易になることです。

---

<div class="post-metadata">

### Author: ![Cloud\_spanner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cloud_spanner/32/485500_2.png) [@Cloud\_spanner](https://meta.discourse.org/u/Cloud_spanner)
#### Post date: [2025 年 2 月 14 日午後 9:30 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/12 "2025-02-14T21:30:44Z")

</div>

それは素晴らしいアイデアのようです。私はまだDiscourseエコシステムに新しいので、カスタムツールについて調べたり、機能リクエストがどのようにして本番環境に入るのかも調べてみます。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 4 月 3 日午前 6:00 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/13 "2025-04-03T06:00:38Z")

</div>

良いニュースがあります。カスタムツールを使用すると、ワークフローがすべて機能するようになりました。

アイデアは、すべてのパラメータを持つ単一のカスタムツールを定義することです。

`is_spam`、`intent`、`hot`、`requires_invite`

次に、「`triage using persona`」をクリックしてツールを呼び出すと、ツールがすべての操作を実行します（現在は Discourse API を介して行われますが、今後さらに多くの組み込み機能を利用できるようにします）。

これらのすべてをどのように連携できるかについての良い入門書は次のとおりです。

> [@Experiments with AI based moderation on Discourse Meta](https://meta.discourse.org/t/experiments-with-ai-based-moderation-on-discourse-meta/357865):
>
> [AI Spam detection](https://meta.discourse.org/t/discourse-ai-spam-detection/343541) has been tremendously successful and helped so many of our communities succeed. In this post, I would like to share details about our “in progress” experiment, in case it is helpful to other communities. I intend to keep this post up to date as the experiment progresses and share some information on the class of problems it can detect. Be mindful, though: this is an evolving system, not a final product yet. Why AI moderation? A key approach we have with AI integration on Di…

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [2025 年 9 月 17 日午後 11:22 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/14 "2025-09-17T23:22:49Z")

</div>



---

<div class="post-metadata">

### Author: ![darkpixlz](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/darkpixlz/32/549896_2.png) [@darkpixlz](https://meta.discourse.org/u/darkpixlz)
#### Post date: [2026 年 8 月 3 日午後 8:48 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/15 "2026-08-03T20:48:07Z")

</div>



---

<div class="post-metadata">

### Author: ![per1234](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/per1234/32/569645_2.png) [@per1234](https://meta.discourse.org/u/per1234)
#### Post date: [2026 年 8 月 3 日午後 10:27 UTC](https://meta.discourse.org/t/ai-automation-governance-orchestrating-independent-ai-triage-scripts/350716/16 "2026-08-03T22:27:37Z")

</div>

スパム検出器と連動して Automation スクリプトの実行をオーケストレーションできないという問題にも直面しました。

朗報は、Discourse が「[**Automation**](https://meta.discourse.org/t/discourse-automation/195773)」プラグインと同様のアプリケーションを、はるかに強力かつ柔軟な方法で可能にする「 **Workflows** 」コアプラグインを新たに作成したことです：

> [@Discourse ワークフロー](https://meta.discourse.org/t/discourse-workflows/407100):
>
> discourse2概要 Discourse Workflows を使用すると、管理者はビジュアルビルダーを通じて高度な自動化を作成し、コミュニティ内のほぼすべての作業を自動化できます。open_bookインストールガイド このプラグインは Discourse コアにバンドルされています。プラグインを別途インストールする必要はありません。 Workflows は、ドラッグ＆ドロップキャンバスを使用してトリガー、条件、アクション、フロー制御ノードを接続し、Discourse サイト上のほぼすべての作業を自動化できる、高度な複数ステップの自動化を作成できるビジュアル自動化ビルダーです。 discourse Discourse Workflows は Business または Enterprise プランで利用可能です。 基本概念 他の自動化ツールに精通している場合、Workflows で使用される用語のほとんどはご存知でしょう。 ワークフロー: 接続されたノードで構成される保存された自動化。 ノード: ワークフロー内の単一のス…

ここで要求されているオーケストレーションは、以前 **Automation** プラグインを使用して実装されていたシステムを **Workflows** プラグインを使用して実装することで実現できます。

* * *

私の Automation の目的は、スパムを示唆する可能性のある特定の特性を持つ投稿にフラグを立てることでしたが、それが決定的な証拠となるものではありませんでした。私が遭遇した問題は、これらの同じ特性が [Discourse AI スパム検出システム](https://meta.discourse.org/t/discourse-ai-spam-detection/343541)によってフラグが立てられたスパム投稿にも頻繁に存在することでした。その結果、Automation が頻繁に冗長なフラグを立て、モデレーターにとって意味のない追加作業を生み出していました。

* * *

上記で紹介された「すべてを単一の Automation にまとめる」という回避策は、私のシステムには適用できませんでした。これは、私は意図的に2つのシステムを分離していたからです：

- スパム検出システムの役割は、スパムの可能性が高い投稿を検出することです。
- 私の補完システムの役割は、スパムの可能性が多少ある投稿をモデレーターの注意に引き付けることです。

Discourse AI スパム検出器は、Discourse フレームワーク内で特別な実装を持っています（フォーラム管理者に提供される Discourse AI フレームワークのみで純粋に動作するのではなく）。そのため、それを Automation で置き換えることに興味はありませんでした。

さらに、私の補完システムをスパム検出器に統合する（プロンプトに指示を追加する）ことも適切ではありませんでした。投稿を即座に非表示にし、著者をミュートするスパムシステムの動作は、高精度で動作するように設定されている限り適切です。一方、私の補完システムは本質的に誤検知を起こしやすく、そのためそのフラグは人間のレビューの前に対象ユーザーに影響を与えてはいけません。

* * *

Automation を Workflow に置き換えることで達成できた解決策：

1. 「投稿が作成された」トリガー。
2. スパム検出システムが実行される時間を確保するための「待機」ステップ。
3. 投稿データを取得するための「Data Explorer」ステップ：  
 ![image](https://global.discourse-cdn.com/meta/original/4X/7/5/3/753d6927f6c566feb3f8a060659744d143d5aed0.png)
4. 投稿データに基づいてワークフローの実行を続行するかどうかを判断するための「フィルタ」ステップ：  
 ![image](https://global.discourse-cdn.com/meta/original/4X/9/1/1/911f0e1172cc70616b89ef6ebfd7dc29ab0ac567.png)
