ネタバレ
- Dify 最大の弱点は「ワークフローの大量実行が難しい」ことです
- 私たちはこの問題をGoogle スプレッドシート + GAS で克服しました
- コピーしてすぐに使えるテンプレートを公開するので、ぜひ取り入れてみてください
テンプレートはこちら。 docs.google.com
はじめに
こんにちは、Algomatic ネオセールスカンパニーで営業 AI エージェント 「アポドリ」 を開発している 末國 です。
前回の記事では「アポドリは 1日1万回 の Dify 呼び出しで回っている」とお伝えしました。
今回の記事では、非エンジニアでも Dify を大量実行できるようにした、すぐに真似できるワークフローの全容を紹介します。
Dify のワークフローは大量実行しにくい
“大量実行”が前提のはずなのに……
- 営業リストや商品データなど、数百行単位で同じ処理を回すケースは日常茶飯事
- ワークフローの開発段階でも AB テスト → プロンプト改善 → 再テスト で何百回も叩くのが普通
組み込み UI からバッチ処理が可能だが、課題あり
組み込みUIの特徴 | 辛いこと |
---|---|
CSVアップロード必須 | いちいちCSVファイルを用意する必要がある |
認証なしで全世界に公開される | 社外秘データを扱いづらい |
出力が「CSV の中に JSON カラム」 | 結果をパッと確認できず、可読性が最悪 |
同時実行数を制御できない | LLM の RPM/TPM リミットがきついと即エラーになる |
結果、「UI をポチポチ」か「エンジニアに API 自動化を依頼」の二択になり、非エンジニアが触れないのが実情です。
スプレッドシート × GAS は全てを解決する
以下、実際に私たちが運用しているフローを追体験してみてください。
0. ワークフローを作成し、公開
今回は「2つの数値を受け取り、その四則演算の結果をJSONで出力する」ワークフローを例にしていきます。
1. テンプレートのスプレッドシートをコピー
2. Config シートを編集
- `API_KEY` に Dify のキーを貼り付け
- `MAX_CONCURRENCY` に並列数(RPM/TPM 等に合わせて、ギリギリを攻める)
キー | 価 |
---|---|
DIFY_ENDPOINT | Difyのエンドポイント |
DIFY_API_KEY | ワークフローのAPIキー(呼び出すワークフローごとに異なる) |
MAX_CONCURRENCY | 最大並列実行数 |
PROTECTED_SHEETS | シート一括削除の際にも保護したいシートの名前 |
⚠️ API KEYは本来スプレッドシート上に記載するべきではありませんが、今回は簡易的にこのような実装にしています。
3. Data シートに入力
- パラメータを行単位で貼り付けるだけ
- 1行目の値でワークフローの入力の名前を指定(ここでは`NUMBER_1`, `NUMBER_2`)
4. カスタムメニュー → 実行する
- カスタムメニューから「実行する」をクリック
- Dataシートの全行がMAX_CONCURRENCYの価まで並列に実行される
5. 処理完了を待つ
6. 自動整形された結果を確認
- 処理が終了すると、結果が新たなシートに記入される
- 全ての出力が、いい感じにフラットになって表示される(実行結果ごとに出力項目が違っても問題なし)
- 出力ノードで指定した変数ごとに、ヘッダーの色が変わる
7. 実際のDifyのログとの照合も簡単
- `UUID` をコピペ → Dify のログ検索で一発
はじめ方
こちらのスプレッドシートをコピーすれば、すぐに使い始めることができます。
ただし、GASのタイムアウトの制約上、一千件・一万件を実行することはできない点にご注意ください。
おわりに
ここまで読んでいただきありがとうございました! Algomatic では一緒に 営業 AI エージェントを育てる仲間を絶賛募集中です。
(今回はDifyの記事したが、ちゃんとコードも書いてます!)
興味を持っていただいた方、ぜひお声掛けください!