6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dify新機能】『トリガー × Agentic Workflow』で、毎朝のAIニュース収集(&記事の草案作成)を自動化した話

Last updated at Posted at 2025-12-09

はじめに

こんにちは、AI Academyの谷(tani_AI_Academy)です。
普段はAI教育サービス「AI Academy」の運営やオンライン資格予備校でデータサイエンスの講師、企業向けのエージェント構築や生成AI活用コンサルティングを行っています。

弊社でも、Difyをさまざまな場面で活用しております。例えば、お客様向けのFAQチャットボットなどです。
以下のようなチャットフローを構築し、お客様からお問い合わせがあった際には、約20件のナレッジデータを参照して回答を行い、その内容をSlackに通知するといった運用を行っております。

aiacademy_chatbot_dify.png

chatbot.png
こちらのチャットフローの作り方は以下を参考ください。

DifyとSlackを連携したAIチャットボットを導入する方法を解説!

他にも、トリガー機能を用いたAIニュース収集のワークフローを構築しています。

このワークフローを作成した背景として、まずAI業界の変化のスピードが非常に速いことが挙げられます。先月11月は、Gemini 3 Pro や Nano Banana のリリース、Google Antigravity の公開、Claude Opus 4.5、GPT-5.1、OpenAI のコードレッド発表など、まさに怒涛の1か月でした。

【2025年12月】AI最新ニュースまとめ(11/12〜11/30)

毎朝、X(旧Twitter)や Qiita を巡回し、「今日の最新AIニュースは何か」と判断するだけで、午前中の貴重な時間があっという間に過ぎてしまう。そのような悩みを抱えたご経験はないでしょうか。

そこで、2025年11月21日に正式リリースされた待望の新機能 Dify Trigger(トリガー)と、AIに判断を委ねる「Agentic Workflow(自律的ワークフロー)」を組み合わせ、「寝ている間に自動でリサーチが進み、朝起きたら記事の草案ができている」システムを構築しました。

本記事では、そのアーキテクチャと実装のポイントを簡潔に解説します。
なお、構築するワークフローについては、「毎朝のAIニュース収集」の部分に絞り、簡易的な作り方の紹介に留めます。


今回作成したワークフローの全体像

これまでのチャットボットは、人間が話しかけるまで動かない「待ちの姿勢」でした。しかし、トリガー機能の実装により、Difyは「常駐型の自律エージェント」へと進化しました。

ワークフロー例.png

※上記のワークフロー図では、複数のLLMノードを用いて、毎朝のAIニュース収集および記事の草案作成までを自動化した簡易版ワークフローを示していますが、本記事では「毎朝のAIニュース収集ワークフロー」にのみ焦点を当てて解説いたします。その点、あらかじめご留意ください。

作るもの:
上記をさらに簡略化したものです。

a.png

そもそも Agentic Workflowって

「Agentic Workflow(エージェンティック・ワークフロー)」とは、AIが単なる指示待ちのツールではなく、自分で考えて判断し、目的に向かって一連の作業を自律的に実行する仕組みのことです。

Agentic Workflowは次のような考え方に基づいています。

  1. AIが目的を理解する
    「今日の重要なAIニュースを抽出して報告する」など、ゴールをAIが把握。

  2. AIが状況を判断する
    検索結果を見て、「これは重要」「これは不要」といった判断をAI自身が行う。

  3. 判断結果に応じて処理を変える
    重要なものは「記事化」へ、重要度が中くらいなら「X投稿」へ、不要なら「破棄」といったように、AIの判断で分岐する。

  4. 必要に応じて次の行動を選ぶ
    要約する、深掘り調査をする、通知するなどの行動も、目的に応じてAIが選択する。

つまり、Agentic Workflowとは、「人がすべて細かく手順を決めるワークフロー」ではなく、「AIが目的に向かって、自分で考えながら動くワークフロー」 を意味します。

アーキテクチャ図

処理フロー

  1. [Trigger] 毎朝 8:00 に自動起動
  2. [Search] 昨日のAIトレンド・新技術を検索(任意のWeサイト)
  3. [Analyze] LLMがニュースの重要度を分析(Agenticな判断)
  4. [Routing] 重要度に応じて処理を分岐
    • 重要度:高 → 記事/教材の構成案(骨子)を作成
    • 重要度:中 → X(旧:Twitter)用の短文作成
    • 重要度:低 → 破棄
  5. [Notify] 結果をSlackに通知 or メール送信

📌 ポイント: 単なる「検索結果の転送」ではなく、AIが編集長として「これは記事にすべきか?」を判断するのがミソです。


実装のステップ解説

今回の記事では、『トリガー × Agentic Workflow』で、毎朝のAIニュース収集を行うワークフローの作り方について解説いたします。

今回の記事では、「毎朝のAIニュース収集ワークフロー」にのみ焦点を当てて解説いたします。その点、あらかじめご留意ください。

ステップ1: 「スケジュールトリガー」でエージェント化する

ここが今回の最大のアップデートです。「開始(Start)」ノードの代わりに「スケジュール(Schedule)」トリガーを選択します。

設定方法

  1. Difyのワークフロー画面で「新規ワークフロー」を作成

01.png

  1. 開始ノードから 「トリガー」→「スケジュールトリガー」 を選択

02.png

03.png

以下の画面になります。

04.png

スケジュールトリガーノードを選択すると以下の画面になりますので、実行タイミングを設定します。

05.png

  1. 実行タイミングを設定:
    タイプ: Daily(毎日)
    時刻: 08:00
    

06.png

Difyスケジュール設定とテスト方法の補足説明

Difyには、ワークフローを定期実行できる「スケジュールトリガー」が用意されています。これを使うことで、毎日決まった時間にAIニュースを取得し、要約してメール送信するといった処理を自動化できます。

スケジュールの設定には、Cron式を使う方法と、Difyの画面上で時刻を指定する方法の2種類があります。テスト段階や初心者の方には、Cron式は使わずに、DifyのUI上で時刻を指定する方法がおすすめです。設定内容と次回実行時刻が画面上にそのまま表示されるため、動作確認がしやすいからです。

スケジュールテストを行う際の基本設定は、次のようにすると最も安全です。

スケジュール頻度は「毎日」を選択します。
時刻は「今」ボタンを押したあとに、現在時刻から1分後の時間を選択します。

たとえば、現在の表示時刻がUTC-5の07:00であれば、07:01に設定すると、1分後にテスト実行されます。この方法を使えば、設定後すぐにスケジュールトリガーが発火するため、「本当にワークフローが動くか」「メールが届くか」といった確認をすぐに行うことができます。

なお、Difyのスケジュール表示は日本時間ではなく UTC基準になる場合があります。日本時間はUTC+9のため、表示時刻と実際の日本時間には14時間のズレが生じます。テスト時は必ず「次回実行時刻」の表示を確認し、想定どおりの時刻になっているかをチェックすることが重要です。

スケジュールテストの初回確認では、AI検索やLLMをすべてつなぐ前に、スケジュールトリガーから直接メール送信ノードだけを接続しておくと、トラブルの切り分けが非常に楽になります。まずは「スケジュールで実行され、メールが正常に届くか」だけを確認し、その後で検索や要約の処理を段階的に追加していくのが、安全で確実な進め方です。


ステップ2: 「検索ツール」で情報を収集する

検索ツールには、RAGやLLMと相性の良い 「Tavily Search」「Google Search」 を使用します。
Tavily Search は、LLM と相性の良い「ウェブ検索API」です。このノードでは、以下のように検索するかを細かく指定できます。

・どんなキーワードで
・どのくらいの期間の情報を
・どの国向けに
・どのサイトを優先/除外して など。

まずは、Tavily を使うためにノードを追加します。

tavi.png

1.png

2.png

3.png

4.png

API Keyの発行は以下より可能です。

5.png

検索クエリの設計

「Tavily Search」で「生成AI ニュース」などのキーワードから情報を収集してきてもらいます。

t1.png
t2.png


ステップ3: Agentic Workflowによる「自律判断」

ここが単なる自動化スクリプトと「AIエージェント」の違いです。
検索してヒットしたニュース全てを通知されても、結局読むのが大変なだけです。そこで、LLMに「編集長の役割」を与え、情報の選別(フィルタリング)を行わせます。

※本記事では、Webリサーチを行うための簡易プロンプトを紹介します。

Webリサーチプロンプト

「Tavily Search」で取得した内容をもとにフォーマットを整えるプロンプトは以下です。

# 役割
あなたは優秀なWegリサーチャーです。
前日とその日の最新ニュースをもとにわかりやすく整理された「AIニュース」情報をUserに提供します。

以下のニュースのスクレイプ情報をもとに、指定したフォーマットにしたがって整理してください。

## 指定フォーマット
===============
【ニュースタイトル】
title
【ニュース日付】
date
【ニュース要約】
summary
【ニュースURL】
url
===============

## ニュース情報
{{#context#}}

LLMノード.png

今回は紹介程度に留めますが、記事の草案作成を行うプロンプトをワークフローに組み込むには以下を参考ください。

分析用LLMのプロンプト例

# 役割
あなたはAI Academy mediaの教材編集長です。
入力された検索結果から、**教育コンテンツとして価値のあるニュース**を選別してください。

# 入力
{{search_results}}

# タスク
以下の観点で各ニュースを評価し、JSON形式で出力してください:

1. **教育的価値**: 初学者が学ぶべき内容か?
2. **技術的新規性**: 新しい技術・手法の紹介か?
3. **実用性**: 実務で使えるノウハウが含まれているか?
4. **トレンド性**: 今話題になっているトピックか?

# 出力形式
\```json
{
  "articles": [
    {
      "title": "ニュースのタイトル",
      "url": "URL",
      "summary": "3行要約",
      "importance_score": 1〜5の数値(5が最高),
      "category": "Technology" | "Tutorial" | "News" | "Other",
      "reason": "なぜ重要なのかの理由(1文)",
      "content_type": "article" | "tweet" | "video"
    }
  ]
}
\```

# 注意
- スコアが3未満のものは出力しない
- 最大5件まで

条件分岐(IF/ELSE)の設定

AIニュースに加え、条件分岐(IF/ELSE)を行うには以下を参考ください。
例えば、上記の出力結果を元に、後続の「条件分岐(IF/ELSE)」ノードでルートを分けます。

条件例

IF importance_score >= 4 AND category == "Technology"
  → 「記事構成案作成」フローへ
ELSE IF importance_score >= 3
  → 「X投稿用短文作成」フローへ
ELSE
  → 処理終了

これにより、「技術的に重要で、教材になり得るものだけ」が次の「執筆フロー」へと流れるようになります。


ステップ4: 記事構成案の自動生成

「重要」と判定されたニュースに対しては、単なる要約ではなく、「アウトプットの叩き台」まで作らせます。

執筆用LLMのプロンプト例

# 役割
あなたは技術ブログのゴーストライターです。

# 入力
{{filtered_article}}

# タスク
選定されたニュースを元に、**Qiita向けの技術ブログの構成案**を作成してください。

# 出力形式
\```markdown
# [魅力的なタイトル案]

## 1. 概要(What)
- 何が発表/公開されたのか
- 従来の課題は何だったのか

## 2. 技術的な仕組み(How)
- どのような技術で実現しているか
- 実装例・コード例(可能であれば)

## 3. ビジネスへの影響・使い道(Why)
- どんな場面で役立つか
- 誰が使うべきか

## 4. 所感・まとめ
- 筆者(AI Academy視点)の見解
- 今後の展望
\```

# 注意
- 初心者でも理解できる平易な日本語で
- 専門用語は必ず補足説明を入れる
- タイトルは「クリックしたくなる」ものに

ステップ5: Slackへの通知 or メール送信

本記事では割愛しますが、Slackで通知を送ることも可能です。詳細は以下の記事で解説していますので、ぜひ参考ください。DifyとSlackを連携したAIチャットボットを導入する方法を解説!

メール送信を行う場合は「send email」を利用します。

mail.png

send.png

GmailのAPIキーを認証設定することにより、Difyから特定のメールアドレス宛にメールを送信する機能を実装することが可能です。


今回作成したワークフロー全体

a.png

この記事で紹介するワークフローは、非常に簡易的なものとなってしましました。

導入効果と今後の展望

Before / After

項目 Before(手動) After(自動化)
情報収集 1時間〜2時間 10分(判断のみ)
重要度判定 主観的・ブレがち AI編集長が一貫した基準で判定
記事構成案 ゼロから考える 8割完成した状態でスタート
総時間 60分 5分

→数値だけ見ると、毎朝2時間近い時間を削減することができました。
しかし、このワークフローだけでは、まだ十分に欲しい情報を拾いきれておらず、今後も改良の余地があります。
今回作成したワークフローに加えて、GroqやNotebookLMを活用した情報収集も行っておりますし、時間があるときにはYouTubeやその他のプラットフォームにも目を通しています。そのため、このワークフローだけで、毎日の情報収集をすべて完結させているわけではありません。

ただし、このワークフローを稼働させてからは、トリガー機能を活用することで、さらなる自動化の可能性が見えてきました。


まとめ

Difyの進化により、私たちは「AIを使う」フェーズから「AIと協働する」フェーズへと移行しました。
特に「トリガー」と「Agentic Workflow」の組み合わせは、個人の生産性を飛躍的に高める可能性を秘めていると実感しております。

また、GoogleからもGoogle Workspace Studioが正式にリリースされており、今後この流れはさらに加速していくものと考えられます。

https-:studio.workspace.google.com.png

重要なポイント3つ

  1. トリガー = 常駐型エージェント化
    受動的な「呼び出し待ち」から、能動的に動く「自律エージェント」へ

  2. Agentic Workflow = 判断を委ねる
    単なる「全件通知」ではなく、「編集者としての判断」をAIに任せる

  3. Human-in-the-loop = 最終判断は人間
    AIが8割を作り、人間が2割で仕上げる理想的な協働

この記事が参考になったら、ぜひ「いいね❤️」と「ストック📚」をお願いします!


付録: 実装のための補足情報

おすすめのLLMモデル

今回ご紹介したワークフローのLLMはGPT-4o-miniを使っていますが、以下などのLLMもつか分けてみてください。(Difyは複数のモデルを自由に切り替えて利用できます!)

一例)

  • 分析用(判定): gemini-3-pro
  • 生成用(執筆): claude-4.5-sonnet

関連リンク


🎄 この記事は Dify Advent Calendar 2025 の12/10の記事です!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?