記事一覧に戻る
Chae-won Chae-won · 2026年9月16日

Webhook、ポーリング、そしてタスク — AI に仕事を任せる3つ目の方法

Webhook、ポーリング、そしてタスク — AI に仕事を任せる3つ目の方法

こんにちは、チェウォンです。

以前の記事で、Webhook とポーリングを宅配にたとえました。ポーリングは「荷物、まだですか?」と何度も電話すること。Webhook は荷物が届いたらチャイムが鳴ることでした。

最近は ChatGPT や Claude などの AI の中で仕事を進める方が増えています。調べものをして、文章を書いて、今では会話しながら自社のシステムに作業を頼むこともありますよね。そこで、こんなご要望をいただくようになりました。「AI に作業を頼んで、結果を受け取るにはどうすればいいですか?」

今回は、このご要望に Webhook もポーリングもぴったり合わなかった理由と、そのために新しく作ったタスクについてお話しします。

これまでは自分で組み立てる必要がありました

タスクがなかった頃も、方法はありました。エンドポイントを2つ用意して、AI と自社システムをつなぐ通り道として使う方法です。流れはこうなります。

  1. AI が「依頼」エンドポイントにやることを書き込む
  2. 自社サーバーが Webhook で受け取るか、ポーリングで確認し続ける
  3. 自社サーバーが作業を終えて「結果」エンドポイントに書き込む
  4. AI が結果エンドポイントを見て、ユーザーに伝える

2つのポストを使ってやり取りする交換日記のようなものです。ちゃんと動きはしますが、使っているうちに不便なところが3つ出てきます。

AI との会話は待ってくれません

レポートの作成、大量の変換、ERP への発注登録。こうした作業には数分から数時間かかります。でも AI の返答は、そんなに長く待ってくれません。

かといって、AI が「10分後にもう一度確認しますね」とアラームをセットすることもできません。AI が動くのは話しかけたときだけだからです。結果は、次に話しかけたときに確認することになります。

つまり必要なのは、「作業を預けておいて、あとで聞けば結果を教えてくれる」仕組みです。宅配でいえば伝票番号が必要なんです。

Webhook が合わない理由:チャイムを付ける玄関がない

Webhook は「届いたら知らせます」という仕組みです。そのためには、知らせを受け取る宛先が必要です。

ところが、AI との会話にはチャイムを付ける玄関がありません。チャット画面は宛先を持つサーバーではないからです。結果が届いても、会話の中の AI を起こす方法がないんです。

セキュリティの問題もありました。AI との会話で Webhook を設定すると、認証ヘッダーのような秘密の値を会話に入力することになります。会話の履歴は、思っている以上にいろいろな場所に残ります。そこで今回のアップデートから、Webhook の認証ヘッダーはダッシュボードでのみ設定できるように変更しました。すでに保存済みのヘッダーは、これまでどおり送信されます。

ポーリングが高くつく理由:ほとんどが空振り

ポーリング自体は、AI との会話と相性がいいんです。気になったときに聞けばいいですから。問題は作業を受け取る側です。

先ほどの交換日記の方法では、自社サーバーが「新しい依頼はありますか?」と聞き続けなければなりません。依頼が1日に数件しかなくても、です。1分ごとに確認すると月に43,200回。そのほとんどが「ありません」という返事です。しかも、その1回1回が月間の呼び出し上限から引かれていきます。

だからタスクを作りました

タスクは、この交換日記を宅配の受付窓口に変えたものです。

  1. ワーカーを一度だけ登録します — ダッシュボードで、作業を受け取る場所(ワーカー)の名前、説明、URL を登録します
  2. AI が作業を預けます — 「ERP に A-1042 を 30 個発注して」と伝えると、AI がタスクを作り、伝票番号(タスク ID)を受け取ります
  3. 3Min API がワーカーに届けます — 署名を付けてワーカーの URL に送り、失敗したら自動で送り直します
  4. ワーカーが作業をして結果を返します — 時間がかかっても大丈夫。最大 24 時間まで待ちます
  5. AI が結果を確認します — 次に「さっきの発注、どうなった?」と聞けば、結果を教えてくれます

AI がどこに作業を送るかは、ワーカーの名前と説明だけを見て選びます。ワーカーの URL や認証情報、署名シークレットはダッシュボードにだけあり、会話には一度も出てきません。

タスクは誰が作るの?

ここまで読んで、こう思われたかもしれません。「世の中の作業なんて無数にあるのに、それを全部 3Min API が用意しているの?」

いいえ。3Min API は作業そのものを行いません。預かった作業をワーカーに届けて、今どんな状態かを記録するだけです。宅配業者が荷物の中身を作らないのと同じです。

  • ワーカー — 作業をする場所です。自社のサーバーやプログラムで、どんな作業をするかはワーカーが決めます
  • タスク — ワーカーに預けた1件の作業です。機能の一覧ではなく、伝票1枚だと考えてください

「発注登録」のワーカーを登録すれば AI に発注を任せられますし、「レポート作成」のワーカーを登録すればレポートを任せられます。AI にできることは、あなたがつないだワーカーの分だけ広がります。

ゼロから作る必要はありません

「結局、サーバーを新しく作らないといけないの?」そうとは限りません。ワーカーの仕事は、たった2つだけです。

  1. 3Min API から送られてきたリクエストを受け取る
  2. 作業が終わったら、結果を 3Min API に送る

HTTP リクエストを受け取って送れるものなら、何でもワーカーになれます。だから、今あるものを活かす方法がいくつもあります。

  • すでに使っているスクリプトやプログラム — リクエストを受けてそのプログラムを動かし、結果だけを返す薄いラッパーをかぶせれば OK です
  • リクエストを受け取って送れる自動化ツール — 受け取るステップと送るステップをつなげば、コードを書かずにワーカーを組めます
  • 自分の PC でしか動かない作業 — 下で紹介するトンネルで公開アドレスを付ければ、PC もワーカーになります
  • ラッパーのコードは AI に頼む — 「3minapi のタスクワーカーを作って」と頼めば、AI が 3Min API の案内ドキュメントを読んでコードを書いてくれます

自分の PC や社内ネットワークにあるワーカーなら:トンネル

3Min API がワーカーに作業を届けるには、ワーカーがインターネットからたどり着けるアドレスを持っている必要があります。ところが、自宅やオフィスの PC はルーターの内側にあるので、外からは見えません。localhost はその PC の中だけ、192.168.x.x のようなアドレスはそのネットワークの中でしか通じないんです。

この問題を解決するのがトンネルです。PC でコマンドを1行実行すると、インターネットから届くアドレス(例:https://xxxx.trycloudflare.com)を作って、手元の PC につないでくれます。ルーターの設定を触る必要もありません。このアドレスをワーカーの URL として登録すれば完了です。

代表的なツールは Cloudflare Tunnelngrok です。ただし、PC の電源が切れていたりトンネルを閉じたりすると作業は届きません。また、アカウントなしで使う一時アドレスは起動するたびに変わります。詳しい手順はタスクガイドをご覧ください。

1つ注意点があります。既存の社内 API のアドレスを、そのままワーカーの URL に入れても動きません。3Min API が送るリクエストの形式は決まっていて、作業が終わったら結果を送り返す必要があるからです。そのため、既存のシステムと 3Min API の間に、先ほどの薄いラッパーが1つ必要になります。

タスクも結局は HTTP リクエストです

タスクだからといって、特別な通信方式があるわけではありません。以前の記事で紹介した Webhook や API 呼び出しと同じリクエストが、順番にやり取りされるだけです。

順番 送り手 → 受け手 やること 呼び出し回数
AI → 3Min API ワーカー一覧を確認する(必要なとき) 1
AI → 3Min API 作業を預ける 1
3Min API → ワーカー 届ける(失敗したら再送) 数えない
ワーカー → 3Min API 結果を返す(途中経過も送れる) 送るたびに 1
AI → 3Min API 結果を確認する 1〜2

ポイントは②です。届ける部分は、Webhook がやっていたことを 3Min API が代わりに行うものです。エンドポイントの Webhook が「外から届いたデータを送るもの」だとすれば、タスクの配達は「AI が預けた作業をワーカーに送るもの」です。Webhook と同じ署名方式を使い、配達と再送は呼び出し回数に含めません。

だからワーカーは「新しい依頼はありますか?」と聞く必要がありません。作業があれば、向こうから届くからです。途中経過を送らなければ、ワーカー一覧の確認を含めてもタスク1件は3〜5回で終わります。1分ごとの確認で月に 43,200 回使っていたのと比べてみてください。

エンドポイントとタスク、どう使い分ける?

  • データを受け取って蓄積・収集するのが目的なら → エンドポイント(Webhook・ポーリング)
  • AI に自社システムで作業させて結果を受け取るのが目的なら → タスク

どちらかがもう一方の代わりになるわけではありません。ワーカーが処理した結果をエンドポイントに保存すれば、受け取ったデータを加工してまとめておくところまで AI に任せられます。組み合わせたときがいちばん強力です。

まとめ

  • Webhook には受け取る宛先が必要ですが、AI との会話にはその宛先がありません
  • ポーリングは AI との会話には合いますが、作業を受け取る側が空振りの確認で呼び出しを使ってしまいます
  • タスクは預ける → 届ける → あとで確認する仕組みです。3Min API は配達と記録を担当し、作業はあなたがつないだワーカーが行います
  • ワーカーはゼロから作らなくても大丈夫。リクエストを受け取って送れるものなら、今あるものにつなげられます

作業期限は最大 24 時間です。ワーカーの登録方法、リクエストの形式、プランごとの制限はタスクガイドにまとめています。ダッシュボードのタスクメニューからすぐに始められます。

今どこで使えますか?(2026年9月16日時点)

  • Claude、Cursor など — 新しい会話(セッション)を開けば、すぐにタスクのツールを使えます。すでに開いていた会話では表示されないことがあるので、新しく始めてください
  • ChatGPT — まだタスクのツールは表示されません。ChatGPT アプリに新しいツールを追加すると OpenAI の審査を受け直す必要があり、通常 2〜4 週間かかります。審査を通過したら、3Min API の会員の皆さまにメールでお知らせします
  • ChatGPT で先に試したい場合 — ChatGPT の設定で開発者モードをオンにし、アプリを自分で追加して MCP アドレス https://3minapi.com/api/mcp を入力すれば、すぐに使えます