3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コネクタとAPIは何が違う?業務自動化で知っておきたい基本

3
Posted at

皆さん、ChatGPTを使って業務効率化していますか?

私もChatGPTと日々格闘しながら、自分に合っている業務効率化の形を模索していますが、その過程でふと疑問に思ったことがあります。

ChatGPTからOutlookの予定を参照したり、Slackに連絡を投稿したりする話を調べていると、コネクタという言葉が出てきませんか?

「業務効率化」という目的を果たすだけなら、コネクタという言葉を「APIのようなものだろう」と何となく捉え、深く考えずに使っていても、作業上は困りませんでした。

今回はChatGPTをきっかけに疑問を持ちました。
ただ、コネクタとAPIはChatGPTだけの概念ではありません。さまざまなサービスや自動化ツールを連携させる場面で使われる、基本的な仕組みです。

せっかくなので、コネクタとAPIは何が違うのか、ChatGPTを例にあげながら言語化してみようと思います。

結論から言えば、

APIはサービスを外部から操作するための技術的な窓口であり、コネクタはその窓口をChatGPTや自動化ツールから使いやすくするための接続の仕組みです。

ただし、コネクタは単に「簡単なAPI」というわけではありません。あらかじめ用意された接続設定、認証方法、利用できる操作を通じて、外部サービスと連携しやすくする仕組みです。

利用者は「何ができるか」「どこまで許可するか」を確認しながら、外部サービスとの連携を始められます。

なおChatGPTでは、以前「コネクタ」と呼ばれていた外部連携は現在「アプリ」という名称に整理されていますが、
本記事では一旦「コネクタ」と共通して表記しています。

※「コネクタ」が指す仕組みや呼び方はツールによって少し異なりますが、本記事では外部サービスと連携するために用意された接続の仕組みとして扱います。

OpenAI公式ヘルプ

APIはサービスの「受付窓口」

API(Application Programming Interface)は、別のソフトウェアからサービスの機能やデータを利用するための決まりです。

「決まり」と言われても、正直イメージ湧かないですよね。

ここで身近な例をあげると、例えばMicrosoft Graph APIというAPIがMicrosoft社から提供されています。

このMicrosoft Graph APIを使えば、許可された範囲でMicrosoft 365のメール、予定表、ファイルなどにプログラムからアクセスできます。Microsoft Graph

つまり、APIは、外部のソフトウェアから特定のサービスを利用するための窓口のようなものです。

APIを直接使う開発者は、「どの操作を呼ぶか」「どのデータを渡すか」「返ってきた結果をどう処理するか」を実装します。

また、同時に、次のようなことも設計します。

  • 誰が使うのかを確認する
    利用者やアプリが本人であることを確認し、ログイン情報を安全に扱います。

  • 何をしてよいかを決める
    メールを読む、予定を作る、Slackへ投稿するなど、許可する操作の範囲を設定します。

  • 失敗や混雑に対応する
    通信が失敗したときのやり直し、二重投稿の防止、短時間に呼び出しすぎないための制御を実装します。

つまりAPIは、自由度の高い受付窓口です。

その分、受付の利用規約を読み、通行証を管理し、混雑時の対応まで自分で用意していく必要があります。

Slackでは、APIの操作ごとに、アプリやワークスペース単位で利用回数の上限が設けられています。上限を超えた場合は、再試行までの待ち時間が返されます。Slackのレート制限

コネクタとは、「案内と通行証が付いた入口」

コネクタは、サービスのAPIや連携機能を、ChatGPT、Power Automate、iPaaSなどの利用画面から扱えるように包んだ接続アダプターです。

利用者は通常、接続画面でサインインし、「予定表の読み取り」などに同意します。
以後は、用意された操作を選ぶ、あるいは自然言語で依頼することで、許可された範囲の処理を行えます。

ChatGPTの画面でアプリの操作許可を求められたことはありませんか。あれが、コネクタによる連携のイメージです。

例えるなら、
API航空券、ホテル、現地の移動手段などを、それぞれ個別に予約できる窓口です。
自由に組み合わせられる一方で、予約条件の確認、利用者情報の入力、変更やキャンセルへの対応まで、自分で組み立てる必要があります。

一方、コネクタは「航空券とホテルがセットになった旅行パッケージ」のようなものです。
行き先や日程を選び、案内に沿って申し込めば、あらかじめ用意された範囲で利用できます。
細かな手続きが整理されているため始めやすい反面、選べる航空会社、ホテル、オプションはパッケージが対応しているものに限られます。

APIを直接使う場合は、必要な機能を自由に組み合わせて独自の旅行を作るイメージで、コネクタでは、用意されたパッケージを使って、まず目的地にたどり着くイメージです

ただし、パッケージに含まれていない選択肢は利用できません。コネクタで使えるのは、そのコネクタが公開している操作だけです。

「Slackへ投稿」はあっても、特定の細かな状態変更や独自の検索条件はない、ということがありますよね。

実際にできることは、サービス本体のAPIの全機能ではなく、コネクタの説明、接続時に同意した権限、組織の設定の掛け合わせで決まります。

予定表、チャット、ChatGPTでは何が起きるか

ここで、「今日の予定を整理して、対応が必要なものをチームのチャットへ知らせる」仕組みを考えましょう。

以下は、仕組みを説明するための例です。

ここでは、予定表サービスの読み取りと、チャットサービスへの投稿を行えるコネクタ、または自動化ツールの連携が利用可能であることを前提にします。

役割 担当するもの 行うこと 注意点
データの保管 クラウドの予定表サービス 予定、会議招待、場所、出席者を管理 個人予定・共有予定のどこまで読むかを決める
取得と実行 予定表サービスのコネクタ 許可された予定を取得する PC上の予定表アプリではなく、クラウド上のデータにアクセスする構成が一般的
判断と文章化 ChatGPT 予定を要約し、未回答・重複・場所未設定などを候補として抽出する AIの判断は提案として扱い、確定処理の前に確認を入れる
共有 チャットサービスのコネクタ チーム用チャネルへ要約を投稿する 投稿先と含める情報を最小限にする
通知 チャットサービスの通知機能、または自動化フロー 自分や担当者に通知する 通知の重複と過剰通知を避ける

PC上の予定表アプリを起動しておく必要がない場合があるのは、操作対象がローカルアプリではなく、クラウド上の予定表やメールボックスだからです。

コネクタや自動化ツールは、各サービスが提供する連携口を通じてデータにアクセスします。

ただし、社内ネットワーク内だけで運用しているシステム、共有用の予定表やメールボックス、組織のアクセス制限、管理者の設定によっては、追加の準備が必要になることがあります。

ChatGPTの外部連携でも、情報を読むことと、外部サービスに書き込むことは同じ扱いではありません。

予定の参照は読み取りですが、チャットへの投稿や予定の作成は書き込みです。

影響の大きい外部操作では確認が求められる場合があり、組織の管理者は利用できるアプリや操作を制御できます。OpenAI公式ヘルプ

これは、「サービスにつながること」と「どこまで自動で実行してよいか」を分けて考えるための大切な仕組みです。

コネクタが便利な理由と、越えられない境界

コネクタの強みは、開発や設定の負担を抑えながら、業務の仮説を検証しやすいことだと思います。

たとえば、毎朝の予定要約、問い合わせメールの下書き、Slackへの定型レポート、共有ドライブ内の資料検索は、小さく始めやすい領域です。

自然言語で指示できるAIと組み合わせれば、「データを取る」「要点を整える」「人に届ける」という流れを、業務担当者自身が具体化しやすくなります。

一方、コネクタに任せきりにはできません。特に次の点は使う前に注意が必要です。

  • やりたい操作は本当に用意されているか。APIにはあってもコネクタにはない機能があります。
  • 誰の、どのデータにアクセスできるか。必要最小限の権限に絞ります。
  • 誤投稿、重複実行、接続切れが起きたらどうするか。通知先と手作業の戻し方を決めます。
  • 人事・顧客・契約などの機微情報を、要約や外部投稿に含めないか。
  • 利用ログ、保管期間、管理者の承認が組織のルールに合うか。

どちらから始める?

迷ったら、まずはコネクタで小さく試すのがおすすめです。

コネクタが向いているケース APIが向いているケース
個人やチーム内の業務を少し楽にしたい 顧客向けを含む、本格的な仕組みを作りたい
毎朝の予定要約や定型的な通知をしたい 自社独自の複雑なルールに対応したい
まず効果があるか確かめたい 大量のデータを扱ったり、頻繁に処理したりしたい
最後は人が内容を確認して実行したい 自社のシステムやデータベースと深くつなげたい
用意された機能の範囲で十分に目的を達成できる エラー時の対応や記録を、細かく決めて運用したい

多くの場合は、「まずコネクタで試し、必要になったらAPIを検討する」という順序が現実的です。

最初に、対象にする業務を一つに絞りましょう。

たとえば「毎朝、今日の予定を要約して自分に送る」のように、入力する情報、出力先、最後に確認する人を決めます。コネクタで問題なく動き、効果も感じられるなら、そのまま使い続けられます。

一方で、「条件によって処理を細かく変えたい」「社内の別のデータと照らし合わせたい」「大量の処理を安定して続けたい」となったら、IT部門と相談してAPIを使う仕組みを検討するタイミングです。

APIは、サービスを自由に組み合わせるための技術的な操作口。コネクタは、その操作口を使って、すぐ試せるように整えられた入口です。

なんとなく使ってみることも、始めるうえでは大切です。ただ、その業務効率化の裏側にある仕組みを少し理解しておくと、より高度なことをやりたくなったときに、実現までの近道になります。

※本記事は筆者個人の見解であり、記載内容は公開情報に基づいています。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?