ほとんどのチャットボットは会話しかできません。自分の通貨での価格、注文ステータス、今日の為替レートを尋ねると、推測するか、別の場所で確認するよう伝えます。アクションを実行するAIエージェントはその逆です。会話の途中で実際のAPIを呼び出し、結果を読み取り、それに基づいて回答します。
このガイドでは、空のアカウントからコードなしで1つ作成します。最後には、あなたが与えたナレッジに基づいて質問に回答し、チャット中にライブREST APIを呼び出すエージェントが完成します。また、その動作をInboxで確認できます。ここで作成するアクションは基本レシピです。説明付きHTTPリクエストを1つ作るだけです。別のURLを指定すれば、同じレシピでリードをスプレッドシートに記録したり、CRMに書き込んだり、チャットサーバーをモデレートしたりできます。この投稿の末尾にある各連携チュートリアルは、その実例です。
以下の内容はすべて、実際のエージェントで作成し、テストしたものです。スクリーンショットにあるすべての会話とAPI呼び出しは、実際に稼働するエージェントによって生成されています。すべて再現できます。
作成するもの
Meridianという架空のプロジェクト計画ツールの単一のサポートエージェントです。約10分で、次の2つを最初から最後まで実行します。
- 与えたナレッジに基づいて回答します: Meridianのプラン、価格、機能。
- 会話の途中で1つのライブAPIを呼び出し、価格を訪問者の通貨に変換して、その結果を返信に使用します。
このアクションは、無料でキー不要の為替レートAPIであるFrankfurterを呼び出します。そのため、Quickchatアカウントだけで全体を完了でき、他のサービスに登録する必要はありません。重要なのは通貨ではなくパターンです。このアクションを作成すれば、あらゆる連携の形を作成したことになります。
必要なもの:
- 無料のQuickchat AIアカウント(こちらから登録)。
- コード不要、サーバー不要、APIキー不要。
AIエージェントとは何か、チャットボットとどう違うのか
チャットボットは回答します。エージェントは回答し、さらに実行します。Quickchatでは、3つの部分からエージェントを作成します。
最初の2つの部分でチャットボットになります。3つ目のActionsでエージェントになります。
- Identityはエージェントが何者かです: 名前、役割、指示です。これはAI Main Promptです。
- Knowledgeは回答元です: ドキュメント、ページ、事実情報です。
- Actions & MCPsは実行できることです: 会話中にAPIを呼び出します。
最初の2つで優れたチャットボットになります。3つ目でエージェントになります。この投稿では、主に3つ目を扱います。
AI Actionの実体
AI Actionは、説明付きHTTPリクエストです。リクエスト(メソッド、URL、送信する値)を一度入力し、それをいつ使用するかの説明を書きます。会話中に、モデルは呼び出すかどうかを判断し、開けておいた部分を入力します。Quickchatがリクエストを送信し、モデルがレスポンスを読み取ります。
これが信頼できる理由を理解する最も明確な方法は、リクエスト内のすべての値を2種類に分けることです。
決定的な値はあなたが固定します。判断が必要な値はモデルがチャットから入力します。パラメーターだけが正しく入力する必要のある値です。
- 決定的な値はあなたが固定するものです: メソッド、URL、基準通貨などです。モデルはそれらに触れないため、間違えることができません。
- 判断が必要な値は、モデルが会話から入力するものです: 訪問者が求めた通貨、変換する価格などです。考える必要があるのはこれらの値だけであり、調整するのもこれらだけです。
判断が必要な値は、Add AI Dataメニューで挿入します。このメニューは任意のフィールドに{{...}}チップを配置します。このメニューには、アクションが取り込む必要のある3種類の値だけが表示されます。
- あなたが定義するParameters(モデルが入力する判断値、たとえば
{{currency}})。 - チャンネルが設定するConversation metadata(たとえば
{{conversation_channel}}や{{metadata_visitor_email}})。 - System Tokens: Quickchatが保存して注入するシークレットです。バッジとして表示され、モデルには渡されません。
Add AI Dataメニューは値をチップとして挿入します。定義したパラメーター、訪問者または会話の値、組み込み変数のいずれかです。
会話メタデータの値は、尋ねなくても使用できます。知っておく価値があるものをいくつか示します。
| Variable | 保持する内容 |
|---|---|
{{conversation_channel}} | チャットが行われているチャンネル(widget、telegram、whatsappなど) |
{{conversation_url}} | Inbox内のこの正確な会話へのリンク |
{{language}}, {{country}} | 訪問者の言語と国、2文字コード |
{{metadata_visitor_email}} | 訪問者が共有した後のメールアドレス |
{{scenario_id}}, {{conversation_id}} | このエージェントとこの会話のID |
このアクションで必要なのは、最初の種類(パラメーター)だけです。実際のサービスに接続すると、他の値が重要になります。末尾のHubSpotとDiscordのガイドでは、3種類すべてを使用します。
ステップ1: エージェントを作成し、ナレッジを与える
登録して新しいエージェントを開きます。Identityページで、AI Agent NameをMeridianに設定し、以下をAI Main Promptに貼り付けます。これはどのプランにもある常時利用可能なプロンプトフィールドです。別のAI Guidelinesリストは不要です。
エージェントへの指示は、別のAI Guidelinesリストではなく、常時利用可能なAI Main Promptに入れます。
あなたは、プロダクトチーム向けプロジェクト計画ツールMeridianのサポートアシスタントです。MeridianのWebサイトを訪問した人からの、プラン、価格、機能、利用開始に関する質問に回答します。
ナレッジを使用して回答してください。ナレッジ内のすべての価格は米ドル(USD)です。
訪問者がプランや価格が別の通貨でいくらになるかを尋ねた場合、または自分の国や現地通貨に言及した場合は、米ドルの金額と変換先通貨の3文字コードを指定して「Convert price to currency」アクションを呼び出し、USD価格と本日のレートで換算した金額の両方を伝えてください。
答えが分からない場合は、正直にそう伝え、チームに引き継ぐことを提案してください。推測してはいけません。
2つの行には意味があります。米ドルに関する行は、ナレッジ内の価格が何を意味するかをモデルに伝え、アクションに何を渡すべきかを分かるようにします。最後の行、分からない場合はそう伝えるは、推測ではなく正直な拒否を生成します。後で両方をテストします。
次に、回答元を与えます。Knowledge Baseページで、Meridianの事実情報を含む短い記事をいくつか追加します。デモで主に使用するのは価格です。
Meridianには3つのプランがあり、ユーザー1人あたり月額の米ドル(USD)で請求されます:
- Starter: ユーザー1人あたり月額$19。無制限のプロジェクト、タイムラインビューとボードビュー、最大3つの連携。
- Pro: ユーザー1人あたり月額$49。スプリント計画、タスク依存関係、カスタムフィールド、無制限の連携を追加。
- Business: ユーザー1人あたり月額$99。ポートフォリオロードマップ、高度な権限、SSO、優先サポートを追加。
年間請求は月間請求より17%安くなります。すべてのプランは14日間の無料トライアルから始まり、クレジットカードは不要です。
デモの事実情報は短い記事として追加され、Readyとマークされています。エージェントはこれらから価格に関する質問に回答します。
これで、エージェントは価格に関する質問に回答できます。あえて1つ、セキュリティ認証を含めないでおきます。これにより、エージェントが回答できないはずの本当の質問を用意できます。
ステップ2: 基本のAI Actionレシピ: 任意のREST APIを呼び出す
ここが再利用できる部分です。Actions & MCPsを開き、Custom Actionsの下でAdd Actionをクリックし、次にAPI Actionをクリックします。
Custom Actionsの下で、Add Actionには最初にAPI Actionが表示されます。任意のREST APIへの説明付きHTTPリクエストです。
すべてのAPI Actionは、同じフォームを同じ順序で使用します。ここで一度覚えれば、後のレシピはすべて同じ入力欄で値が異なるだけです。フォームは2つの部分に分かれています: 訪問者から収集するものと、送信するリクエストです。(生成パスもあります: APIを自然な英語で説明し、Quickchatにアクションを作成させることができ、ドキュメント引用も含まれます。このガイドは同じアクションを手作業で作る版であり、各フィールドの役割を学ぶのに適しています。)
収集する値
フォームの上部: API Action Nameと、モデルが入力する2つの必須パラメーター、currencyとamountです。
API Action Name。 モデルがアクションを参照するために使用する短い名前です。
Convert price to currency
What to ask the user first。 判断が必要な値を1行ずつ入力します。それぞれにFormat、Name、Descriptionを指定し、モデルがどのように入力すべきかを説明します。また、Requiredとしてマークし、モデルがその値なしでアクションを呼び出さないようにします。
| Format | Name | Description | Required |
|---|---|---|---|
| Text | currency | 変換先通貨の3文字ISOコードです。たとえばEUR、GBP、JPYです。訪問者が言及した通貨または国から推定します。 | yes |
| Decimal Number | amount | 変換する米ドルの金額です。訪問者が尋ねたプランまたは価格から取得します。 | yes |
“What to ask the user first”は製品上のラベルですが、エージェントが停止して質問することはほとんどありません。訪問者が「Businessはユーロでいくらですか」と書いた場合、モデルはすでに両方の値(ナレッジからamount、「ユーロ」からcurrency)を持っており、そのまま入力します。
送信するリクエスト
リクエスト: FrankfurterへのGETです。baseはUSDに固定し、currencyとamountのチップをQuery Paramsに追加します。
API request method and endpoint URL。 Frankfurterのlatest-ratesエンドポイントへのGETです。
GET
https://api.frankfurter.dev/v1/latest
Query Params。 ここで決定的な値と判断が必要な値が合流します。Query Paramsタブの下に3行を追加します。baseにはUSDと入力します。他の2つはAdd AI Dataをクリックし、定義したパラメーターを選択します。これにより{{currency}}と{{amount}}のチップが挿入されます。
| Key | Value |
|---|---|
base | USD |
symbols | {{currency}} |
amount | {{amount}} |
HeadersとBody: なし。これはすべてをクエリ文字列に入れるGETです。
API Action Description。 最も重要な単一フィールドです。モデルがアクションを呼び出すかどうかを判断するために読むものなので、仕組みを説明するのではなく、明確なシグナルに結び付けます。
米ドルの金額を、本日の為替レートで別の通貨に変換します。訪問者が価格やプランの費用を米ドル以外の通貨で尋ねた場合、または自分の国や現地通貨を示した場合にこれを呼び出します。米ドルの金額と、変換先通貨の3文字ISOコードを渡してください。
保存して、アクションをonに切り替えます。これでレシピ全体です: 名前、収集する値、リクエスト、説明です。
完成したアクションをonにします。カードには呼び出し回数と成功率が一目で表示されます。
ここに通貨固有のものはありません。URLとクエリを自分のAPIに置き換えれば、別のアクションになります。
自分のAPIに向ける
Frankfurterのアクションは読み取りです。公開データへのGETです。自分のAPIも通常は同じフォームで、いくつかの追加フィールドを入力するだけです。
- 読み取りだけでなく書き込みを行うには、メソッドを
POST、PATCH、またはDELETEに設定し、BodyタブにJSONとしてデータを入れます。同じ{{...}}チップはbody内でも機能するため、{ "email": "{{email}}" }はモデルが収集した任意の値を送信します。 - キーが必要なAPIでは、Headersタブの下に行を追加し(たとえば
Authorization)、Add AI Dataでキーを挿入してSystem Tokenを選択します。Quickchatはシークレットを保存し、呼び出し時に注入します。そのため、シークレットはバッジとして表示され、モデルに渡されたりプロンプトに書き込まれたりすることはありません。 - それ以外は同じです: 名前、収集するパラメーター、いつ実行するかを決める説明です。
HubSpotガイドでは、この方法でOAuthトークンを注入した4つのPOSTアクションを作成します。Discordガイドでは、ヘッダー内のbotトークンを使ってDiscord APIに対する7つのアクションを作成します。どちらも、先ほど入力したものと同じフォームで、URLとbodyが異なるだけです。
ステップ3: テストして呼び出しを確認する
全体の往復を1枚の図で示します。訪問者が尋ね、モデルが判断値を入力し、Quickchatが固定値を追加してリクエストを実行し、返信が結果を返します。
1回の呼び出しの最初から最後まで: モデルが判断値を入力し、Quickchatが固定値を追加してリクエストを実行します。
左メニュー上部のAI Preview、または公開中のウィジェットでエージェントとチャットし、その後、会話をInboxで開きます。まず単純な価格の質問をし、次に別の通貨で尋ねます。
Visitor: Businessプランはいくらですか? Meridian: Businessプランはユーザー1人あたり月額$99です。
Visitor: それはユーロでいくらですか? Meridian: Businessプランはユーザー1人あたり月額$99で、本日のレートではユーザー1人あたり約€86.81です。
最初の回答はナレッジから来ています。2つ目ではアクションが実行されています。返信を信じるだけで済ませる必要はありません。会話には1 action calledマーカーが表示され、展開すると呼び出し自体を確認できます。
エージェントはナレッジから$99と回答し、その後ユーロに変換します。1 action calledカードにより、呼び出しが実行され200を返したことが分かります。
カードは、メッセージと返信の間にある正直な中間部分です。アクションが200を返したこと、モデルが送信した正確な値(amount: 99、currency: EUR)、Frankfurterが返したレスポンスが表示されます。自分のアクションを作成するときは、このカードとアクションごとの呼び出しログ(合計呼び出し数、成功率、各リクエストとレスポンス)で、返信が正しそうに聞こえるだけでなく、エージェントが適切な値で適切なアクションを呼び出したことを確認します。
同じアクションは任意の通貨を処理します。Starterプランを日本円で尋ねると、エージェントはFrankfurterをamount: 19およびcurrency: JPYで呼び出し、$19は本日のレートで約¥3,087だと回答します。同じレシピで、モデルが入力した値だけが異なります。
同じアクションで、通貨だけが異なります: $19が¥3,087になります。変わったのはモデルが入力した値だけです。
アクションごとのログは1クリックで開けます。アクションのView logsを開くと、これまでのすべての呼び出しを確認できます。合計、成功率、各呼び出しの正確なリクエストと受け取ったレスポンスが表示されます。
アクションが行ったすべての呼び出しと、正確なリクエスト、レスポンス、ステータスです。どちらの変換も200を返しました。
ステップ4: 信頼性を高める
上記のアクションが最初から機能するのは、4つの選択によるものです。どれも、すべての連携で再利用するレバーです。
パラメーターを必須にします。 currencyとamountはどちらも必須です。そのため、モデルはリクエストの半分だけでアクションを呼び出せません。任意パラメーターは、本当に任意の値にだけ使用します。
説明に実行タイミングを決めさせます。 モデルはアクションを選ぶとき、名前ではなくdescriptionを読みます。曖昧な説明(「通貨を変換する」)では予測不能に実行されます。シグナルに結び付いた説明(「訪問者が米ドル以外の通貨で価格を尋ねたときにこれを呼び出す」)では、実行すべきときに実行されます。アクションが誤ったタイミングで呼び出される、またはまったく呼び出されない場合、ほぼ常に説明が修正箇所です。
計算はモデルではなくAPIに行わせます。 通貨アクションの最初の試みでは、為替レートを取得し、乗算をモデルに任せがちです。言語モデルは信頼できる計算機ではありません。価格に関する質問で合計を間違えることは、合計がないことより悪い場合があります。Frankfurterはamountパラメーターを受け取り、変換済みの数値を返します。そのため、モデルは86.81を読むだけでよく、計算する必要はありません。APIが完成した値を返せる場合は、モデルに算出させるよりもその方法を優先してください。
「分からない」と言うことを確認します。 信頼性は、実行することだけではありません。作り話をしないことも含まれます。ナレッジに含まれていない内容、先ほど除外したセキュリティ認証についてエージェントに尋ねます。
正直な「いいえ」: ナレッジにSOC 2に関する情報がないため、エージェントは推測せずに回答を控えます。
Visitor: MeridianはSOC 2 Type II認証を受けていますか? Meridian: MeridianがSOC 2 Type II認証を受けているかどうかについて、私のドキュメントには情報がないため、確認できません。セキュリティレビューや調達のために確定した回答が必要な場合は、support@meridian.exampleでチームに直接問い合わせることをおすすめします。
この拒否は、プロンプトの最後の行が役割を果たしている結果です。実際のAPIを呼び出すエージェントは、自分が知っていることの境界を理解していると信頼される必要があります。そのため、「はい」と同じくらい意図的に「いいえ」をテストしてください。
この4つのレバーにより、1つの読み取りアクションの信頼性が高まります。データを書き込むアクション、返品、返金、レコード作成には、さらに必要なものがあります。正しいことが起きたときにだけ実行され、値を次のアクションへきれいに渡す必要があります。これは別のガイドの範囲です。**エージェントのアクションの信頼性を高める**では、チャットが迂回できないサーバー側条件でアクションを制限する方法と、取得した値をアクション間で引き継ぐ方法を説明しています。
公開する
アクションは特定のチャンネルではなくエージェントに属するため、エージェントがデプロイされているすべての場所で実行されます。web widgetを有効にすると、同じ通貨変換がサイト上の訪問者に対して機能します。**Telegram、WhatsApp、Messenger、Slack、またはDiscord**に接続しても、変更なしでそこで機能します。チャンネルごとにやり直すことはありません。デプロイされたエージェントはアクションを保持したまま動作します。
次に進む先: 実際の連携
あなたは基本レシピを作成しました。以下の各ガイドは、同じアクションの形を実際のサービスに向けたものです。そのため、それぞれはすでに理解している内容から始まり、固有の部分だけを追加します。
- Google Sheetsにリードとレポートを記録する: 会話でリードやフィードバックが得られたとき、エージェントが行を追加します。
- HubSpotでコンタクト、取引、チケットを作成する: レコードをターンごとに埋め、他人のデータを読み戻さない、書き込み専用のCRM設計です。
- Discordサーバーをモデレートする: タイムアウト、キック、BANをAI Actionsとして実行し、破壊的なものはサーバー側ゲートで管理者に限定します。
- Discordでサポートチケットbotを実行する: プライベートスレッドを開き、メンバーを追加し、サポートロールに通知する3つの連鎖アクションです。
- Telegramグループを管理する: Telegram Bot APIを通じて、自然な言葉で告知、ピン留め、モデレーションを行います。
- エージェントをMCPサーバーにする: ChatGPT、Claude、Cursorが呼び出せるツールとして公開します。
- ChatGPTからエージェントを実行し管理する: MCP経由で、AIクライアント内から作成したエージェントを操作します。
完全なフィールドリファレンスはAI Actions docsにあります。
よくある質問
無料でAIエージェントを作成するにはどうすればよいですか?
無料のQuickchat AIアカウントを作成し、エージェントに短いメインプロンプトと回答元となるナレッジを与えます。次に、会話中にAPIを呼び出せるように、説明付きHTTPリクエストであるAI Actionを1つ追加します。エージェントの作成、ナレッジの読み込み、アクションの作成と有効化はすべて無料で、このガイド全体は無料プランで実行できます。
AIエージェントを作成するのにコードは必要ですか?
いいえ。エージェントを自然な言葉で説明し、アクションフォームに、名前、訪問者から収集する値、リクエストメソッドとURL、呼び出すタイミングの説明を入力します。Quickchatがリクエストを送信し、レスポンスをエージェントに返します。コードを書いたりホストしたりする必要はありません。
AIエージェントの作成にはどれくらい時間がかかりますか?
このガイドのエージェントでは約10分です。プロンプトを書いて事実情報をナレッジとして追加するのに数分、1つのAI Actionフォームを入力するのにさらに数分です。インストールするものはなく、コードを書く必要もありません。
AIエージェントとチャットボットの違いは何ですか?
チャットボットは質問に回答します。AIエージェントはさらにアクションを実行します。会話中にAPIを呼び出して何かを検索したり変更したりし、その結果を返信に使用できます。Quickchatでは、Identity(何者か)、Knowledge(何に基づいて回答するか)、Actions(何ができるか)の3つの部分からエージェントを作成します。
AIエージェントはライブのリアルタイムデータを使用できますか?
はい。エージェントがAI Actionを呼び出すたびに新しいリクエストを行うため、常にライブデータを使用します。このガイドのエージェントは、変換のたびに当日の為替レートを取得します。アクションを自分のAPIに向ければ、同じ方法で現在のデータを読み取ります。
AIエージェントは自分のAPIを呼び出せますか?
はい。このガイドのAI Actionは汎用的なHTTPリクエストです。ここで使用している公開APIの代わりに自分のREST APIを指定し、メソッド、URL、ヘッダー、本文を設定して、エージェントがいつ呼び出すべきかを説明します。同じ手順は、認証トークンの背後にある非公開APIを含む任意のREST APIで機能します。
1つのAIエージェントに複数のアクションを持たせることはできますか?
はい。エージェントは多数のAI Actionsを持つことができ、あなたが書いた説明に基づいて各メッセージに適したものを選びます。このガイドでは焦点を絞るために単一のアクションを作成しますが、連携ガイドでは同じエージェントに複数のアクションを追加します。
ChatGPT、Claude、Geminiでアクションを実行するエージェントを作成できますか?
Quickchatでエージェントを作成し、それを動かすモデルを選択できます。会話中に、モデルはいつアクションを呼び出すかを判断し、チャットから値を入力するため、エージェントは自力で何かを検索したり変更したりできます。完成したエージェントをMCPサーバーとしてChatGPT、Claude、Cursorに公開することもできます。
作成後、エージェントは実際に何ができますか?
REST APIでできることなら何でもできます。このガイドではライブの通貨検索を使用しますが、同じアクションの形で、Google Sheetsへのリード記録、HubSpotでのコンタクト作成、Discordサーバーのモデレーション、Telegramグループの管理ができます。これらはそれぞれ、この投稿の基本レシピを使った実例です。
エージェントはいつアクションを呼び出すべきかをどのように判断しますか?
モデルはアクションの説明を読んで判断します。たとえば「訪問者が米ドル以外の通貨で価格を尋ねたときにこれを呼び出す」のように明確なシグナルに結び付け、必要な値を必須としてマークします。パラメーターはモデルが入力する必要のある唯一の値です。リクエスト内のその他すべては固定されています。
AIエージェントにAPIを呼び出させても安全ですか?
リクエストはあなたが制御します。メソッド、URL、シークレット(Quickchat側で注入され、モデルには表示されません)を固定し、モデルはあなたが定義したパラメーターだけを入力します。データを書き込むアクションでは、チャットが迂回できないサーバー側条件で呼び出しを制限できます。HubSpotとDiscordのガイドでは、安全性のパターン全体を説明しています。
作成して試すのは無料ですか?
はい。エージェントの作成、ナレッジの追加、AI Actionsの作成と有効化はすべて無料で、ガイド全体は無料プランで実行できます。より多くの訪問者にエージェントを公開する準備ができたら、有料プランで上限の引き上げとより高度なモデルを追加できます。