画像=n8nで構築した調達公示要約ボットのワークフロー

ワークフロー自動化ツール「n8n」を使い、韓国の調達当局が公開する公示情報をAIで要約し、Telegramに配信するボットを構築した。設計はノードをつないで進める方式で、インストールからTelegramでの通知受信までにかかった時間は約1時間だった。

n8nは、Zapierの競合として海外の開発者コミュニティで知られる自動化ツールだ。HTTPリクエスト送信やメッセージ通知、JavaScript実行といった機能を持つノードを組み合わせ、反復作業をワークフローとして自動化できる。任意のAIモデルを途中に組み込める点も特徴の1つだ。

今回の構成は、韓国の調達関連公示を定期的に取得し、要点を絞って配信することを目的とした。国家事業に関する情報を関係企業が把握しやすくなるほか、取材用途でも活用できる。

ワークフローは5段階で構成した。まずスケジュールトリガーで実行時刻を設定し、次にHTTPリクエストノードで調達サイトのAPIを呼び出す。続いてJavaScriptのコードノードで取得データを整形し、その後Claude APIで要約を生成。最後にTelegramノードでメッセージを送信する流れだ。

実行タイミングは「毎日午前9時」に設定した。対象APIがリアルタイムのプッシュ型ではないため、一定間隔で新着を確認するポーリング方式を採った。

調達公示データは公共データポータルでAPIキーを発行すれば利用できる。APIの利用に当たっては、メソッドやURL、必須パラメータをまとめたガイド文書が提供されており、クエリ作成時にはその内容の確認が必要になる。

実際の設定では、日付や出力形式などのクエリ指定でエラーが続いた。そこでガイド文書をClaudeに渡し、生成された入力値を適用したところ、正常に応答を取得できた。

取得したAPIレスポンスはJSON形式で返る。公示データには多様なメタデータが含まれるが、それらをそのままAIに渡すと、要約結果が散漫になりやすく、入力トークンも増える。そこでコードノードを追加し、公示名、分野、発注機関、主要日程など、必要な項目だけを抽出してから要約に回した。

要約にはAnthropicのClaude APIを利用した。n8nにはClaude専用ノードがないため、ここでもHTTPリクエストノードを使って連携した。AuthorizationヘッダーにAPIキーを設定し、Content-Typeを指定したうえで、モデル名やメッセージ形式をJSONボディで組み立てる構成とした。

専用ノードが用意されていない場合や、最新モデルへの対応が遅れている場合は、この方法の方が柔軟に扱える。一方で、ヘッダー設定やJSONボディの記述は初心者にはハードルが高く、設定値の作成をAIに補助させる方が進めやすい。

最終的な出力形式も、プロンプトをJSONで組み立ててノードのパラメータに入力した。公示を工事、役務、物品の3分野に分けて整理すること、主要な事業内容を含めること、要約を5行以内に収めることなどを条件として指定した。

生成した要約はTelegramボット経由で送信した。3月上旬から中旬に締め切りを迎える公示が分野別に整理され、Telegram上で確認できた。メッセージ下部には「n8nで自動化されたメッセージ」という案内が自動付与されるが、Telegramノードのオプションで無効化できる。

ワークフロー自動化は大規模なAIプロジェクトではないが、人手では煩雑な作業を手軽に処理できるのが利点だ。ニュースキーワードの監視、プレスリリースの要約、取材日程の整理など、反復業務への応用も見込める。

AIが自律的に判断して実行するエージェント型の仕組みと異なり、n8nでは利用者が設計したフローの中でのみAIが動く。不要な権限をAIに与えず、必要な機能だけを組み合わせられる点は、業務自動化の実務で強みになりそうだ。ローカルPCではなくクラウドサーバーに構築すれば、PCの電源を切った状態でも24時間運用できる。

キーワード

#n8n #ワークフロー自動化 #AI #Zapier #Anthropic #Claude API #Telegram #調達公示
Copyright © DigitalToday. All rights reserved. Unauthorized reproduction and redistribution are prohibited.