コード不要で行動する無料AIエージェントを構築する
このガイドでは、Quickchatを使用して、ナレッジベースからの質問応答に加え、会話中にリアルタイムAPI(例:通貨変換)を呼び出せるノーコードAIエージェントの作成方法を説明します。再利用可能なアクションパターンにより、様々なサービスとの統合が容易になります。
ほとんどのチャットボットは会話しかできません。通貨での価格や注文状況、今日の為替レートを尋ねても、推測したり他の場所を確認するように促したりするだけです。一方、行動を起こすAIエージェントはその逆を行います。会話の中で実際のAPIを呼び出し、結果を読み取り、それを使って回答します。
このガイドでは、空のアカウントからコードを一切使わずにエージェントを構築します。最終的には、あなたが提供した知識に基づいて質問に答え、チャット中にライブREST APIを呼び出すエージェントができ、受信トレイでその動作を確認できます。ここで構築するアクションはマスターレシピです。記述された1つのHTTPリクエストです。異なるURLを指定すると、同じレシピでリードをスプレッドシートに記録したり、CRMに書き込んだり、チャットサーバーを管理したりできます。この記事の最後にあるすべての統合チュートリアルは、その実例です。
以下はすべて実際のエージェントで構築・テストされています。スクリーンショットのすべての会話とAPI呼び出しは、実際に動作しているエージェントによって生成されたものです。それぞれ再現可能です。
構築するもの
架空のプロジェクト計画ツール「Meridian」用の単一のサポートエージェントです。約10分でエンドツーエンドで次の2つのことを行います。
- あなたが提供した知識に基づいて回答:Meridianのプラン、価格、機能。
- 会話の中でライブAPIを呼び出し、価格を訪問者の通貨に変換し、その結果を返信に使用します。
このアクションは、無料でキー不要の為替レートAPIであるFrankfurterを呼び出すため、Quickchatアカウントだけで完了でき、他に登録するものはありません。重要なのは通貨ではなくパターンです。このアクションを構築すれば、あらゆる統合の形を手に入れたことになります。
必要なもの:
- 無料のQuickchat AIアカウント(こちらからサインアップ)。
- コード、サーバー、APIキーは不要。
AIエージェントとは?チャットボットとの違い
チャットボットは答えるだけです。エージェントは答え、かつ行動します。Quickchatでは、3つの部分からエージェントを構築します。最初の2つでチャットボットができ、3つ目の「アクション」がエージェントにします。
- アイデンティティ:エージェントの名前、役割、指示。これがAIメインプロンプトです。
- ナレッジ:回答の基となるドキュメント、ページ、事実。
- アクションとMCP:できること(会話中にAPIを呼び出す)。
最初の2つで良いチャットボットができ、3つ目でエージェントになります。この記事では主に3つ目を扱います。
AIアクションとは?
AIアクションとは、記述されたHTTPリクエストです。リクエスト(メソッド、URL、送信する値)を一度入力し、いつ使用するかの説明を書きます。会話中、モデルが呼び出すかどうかを決定し、あなたが空けておいた部分を埋め、Quickchatがリクエストを送信し、モデルがレスポンスを読み取ります。
なぜこれが信頼できるかを理解する最も明確な方法は、リクエストのすべての値を2種類に分割することです。
- 確定的値:あなたが固定する値。メソッド、URL、ベース通貨など。モデルはこれらに触れることがないため、間違えることはありません。
- 判断的値:モデルが会話から埋める値。訪問者が要求した通貨、変換する価格など。これらが唯一考慮を要する値であり、調整の対象です。
判断的値は「AIデータを追加」メニューから挿入します。このメニューは、あらゆるフィールドに{{...}}チップを配置します。このメニューでは、アクションが取り込む必要のある3つのものを提供します。
- あなたが定義したパラメータ(モデルが埋める判断的値、例:{{currency}})。
- チャネルが設定する会話メタデータ(例:{{conversation_channel}}や{{metadata_visitor_email}})。
- システムトークン:Quickchatが保存し注入する秘密で、バッジとして表示され、モデルには決して渡されません。
会話メタデータの値は、尋ねることなくすぐに使用できます。いくつか知っておくと便利なもの:
- {{conversation_channel}}:チャットが行われているチャネル(ウィジェット、Telegram、WhatsAppなど)。
- {{conversation_url}}:受信トレイ内のこの会話へのリンク。
- {{language}}、{{country}}:訪問者の言語と国(2文字コード)。
- {{metadata_visitor_email}}:訪問者のメールアドレス(共有された場合)。
- {{scenario_id}}、{{conversation_id}}:このエージェントと会話のID。
このアクションでは最初の種類(パラメータ)だけが必要です。実際のサービスに接続するときは他が重要になります。記事末尾のHubSpotとDiscordのガイドでは、これらすべてを活用しています。
ステップ1:エージェントを作成し知識を与える
サインアップして新しいエージェントを開きます。アイデンティティページで、AIエージェント名を「Meridian」に設定し、以下をAIメインプロンプトに貼り付けます(これはすべてのプランで利用可能な常時表示のプロンプトフィールドであり、別のAIガイドラインリストは不要です)。
> あなたはMeridianのサポートアシスタントです。Meridianはプロダクトチーム向けのプロジェクト計画ツールです。Meridianのウェブサイトの訪問者から、プラン、価格、機能、および開始方法についての質問に答えます。 > ナレッジを使って回答してください。ナレッジ内のすべての価格は米ドル(USD)です。 > 訪問者がプランや価格の他の通貨でのコストを尋ねたり、自分の国や現地通貨に言及したりした場合は、「Convert price to currency」アクションを呼び出し、米ドル額と対象通貨の3文字コードを渡し、USD価格と今日のレートで換算した金額の両方を伝えてください。 > 答えがわからない場合は正直にそう言い、チームに引き継ぐことを提案してください。決して推測しないでください。
特筆すべき2行があります。米ドルに関する行は、モデルにナレッジ内の価格の意味を伝え、アクションに何を渡すべきかを理解させます。最後の行は、わからないときにそう言うことで、推測ではなく誠実な拒否を生み出します。これらは後でテストします。
次に、回答の基となる情報を与えます。ナレッジベースページで、Meridianの事実に関する短い記事をいくつか追加します。デモで使用するのは価格に関するものです。
> Meridianには3つのプランがあり、ユーザー1人あたり月額、米ドル(USD)で請求されます: > - スターター:1ユーザーあたり月額19ドル。無制限のプロジェクト、タイムラインとボードビュー、最大3つの統合。 > - プロ:1ユーザーあたり月額49ドル。スプリント計画、タスク依存関係、カスタムフィールド、無制限の統合を追加。 > - ビジネス:1ユーザーあたり月額99ドル。ポートフォリオロードマップ、高度な権限、SSO、優先サポートを追加。 > 年間請求は月額より17%割引。すべてのプランは14日間の無料トライアルが利用可能で、クレジットカードは不要です。
デモの事実は短い記事として追加され、「準備完了」とマークされています。エージェントはこれらから価格に関する質問に答えます。
これでエージェントが価格の質問に答えるのに十分です。意図的に1つ(セキュリティ認証)を除外し、エージェントが答えられない本当の質問があるようにします。
ステップ2:マスターAIアクションレシピ:任意のREST APIを呼び出す
これが再利用可能な部分です。「アクションとMCP」を開き、「カスタムアクション」で「アクションを追加」、次に「APIアクション」をクリックします。
すべてのAPIアクションは同じフォームを同じ順序で使用します。ここで一度覚えれば、以降のすべてのレシピは異なる値が入った同じボックスになります。2つの部分からなります:訪問者から収集するものと、送信するリクエストです。
収集する値
フォーム上部:APIアクション名、およびモデルが埋める2つの必須パラメータ(currencyとamount)。
- APIアクション名:モデルがアクションを参照するための短い名前:「Convert price to currency」。
- 判断的値:各行に1つ。それぞれに形式、名前、説明を設定し、モデルがどのように埋めるかを指示し、必須にマークします(モデルが値なしでアクションを呼び出さないようにするため)。
| 形式 | 名前 | 説明 | 必須 | |------|------|------|------| | テキスト | currency | 変換先通貨の3文字ISOコード(例:EUR、GBP、JPY)。訪問者が言及した通貨や国から導き出します。 | はい | | 小数 | amount | 変換する米ドル額。訪問者が尋ねたプランや価格から取得します。 | はい |
「まずユーザーに尋ねること」というラベルですが、エージェントが尋ねることはめったにありません。訪問者が「ビジネスプランはユーロでいくら?」と書くと、モデルはすでに両方の値(ナレッジからの金額と「ユーロ」からの通貨)を持っており、直接埋めます。
送信するリクエスト
リクエスト:FrankfurterへのGETリクエスト。baseはUSDに固定され、currencyとamountのチップがクエリパラメータに追加されます。
- APIリクエストメソッドとエンドポイントURL:Frankfurterの最新レートエンドポイントへのGET:
https://api.frankfurter.dev/v1/latest。 - クエリパラメータ:確定的値と判断的値が出会う場所です。「クエリパラメータ」タブの下に3行追加します。baseにはUSDを入力し、他の2つについては「AIデータを追加」をクリックして定義したパラメータを選択すると、{{currency}}と{{amount}}チップが挿入されます。
| キー | 値 | |-----|-------| | base | USD | | symbols | {{currency}} | | amount | {{amount}} |
- ヘッダーとボディ:なし。これはすべてをクエリ文字列に含むGETリクエストです。
- APIアクションの説明:最も重要なフィールド。モデルがアクションを呼び出すかどうかを決定するために読み取る内容なので、メカニズムではなく明確なシグナルに結びつけてください。
> 米ドル額を今日の為替レートで別の通貨に変換します。訪問者が価格やプランの米ドル以外の通貨でのコストを尋ねたり、自分の国や現地通貨を伝えたりした場合にこのアクションを呼び出してください。米ドル額と変換先通貨の3文字ISOコードを渡します。
保存してアクションを有効にします。これがレシピ全体です:名前、収集する値、リクエスト、説明。
完成したアクション。カードには呼び出し回数と成功率が一目でわかります。
ここには通貨に固有のものは何もありません。URLとクエリを独自のAPIに置き換えれば、別のアクションになります。
独自のAPIを指す
Frankfurterアクションは読み取り(公開データのGET)です。独自のAPIも通常は同じ形式ですが、さらにいくつかのフィールドが入力されます。
書き込み(読み取りだけでなく)を行うには、メソッドをPOST、PATCH、またはDELETEに設定し、データをJSONとしてBodyタブに配置します。同じ{{...}}チップがボディ内でも機能するため、{ "email": "{{email}}" }はモデルが収集したものを送信します。
キーが必要なAPIの場合、ヘッダータブに行を追加し(例:Authorization)、「AIデータを追加」からシステムトークンを選択してキーを挿入します。Quickchatは秘密を保存し、呼び出し時に注入するため、バッジとして表示され、モデルに渡されたりプロンプトに書き込まれたりすることはありません。
その他はすべて同じです:名前、収集するパラメータ、いつ起動するかを決定する説明。
HubSpotガイドでは、注入されたOAuthトークンを使用して4つのPOSTアクションを構築し、Discordガイドではボットトークンをヘッダーに使用してDiscord APIに対する7つのアクションを構築しています。どちらも今入力したのと同じフォームで、URLとボディだけが異なります。
ステップ3:テストして呼び出しを確認する
以下は全体のラウンドトリップを1枚の図にまとめたものです:訪問者が質問し、モデルが判断的値を埋め、Quickchatが固定値を追加してリクエストを送り、レスポンスが結果を返します。
1回の呼び出し、エンドツーエンド:モデルが判断的値を埋め、Quickchatが固定値を追加してリクエストを送信。
AIプレビュー(左メニューの上部)またはライブウィジェットでエージェントとチャットし、受信トレイで会話を開きます。まず価格に関する簡単な質問をし、次に別の通貨で尋ねます。
> 訪問者:ビジネスプランはいくらですか? > Meridian:ビジネスプランはユーザー1人あたり月額99ドルです。 > 訪問者:ユーロではいくらですか? > Meridian:ビジネスプランはユーザー1人あたり月額99ドルで、今日のレートでは約86.81ユーロです。
最初の回答はナレッジからのものです。2番目はアクションが発動したものです。あなたは必要ありません……