Botpressのオートノマスノードを使うと、AIエージェントを作成できます。これは単なるチャットボットではなく、利用可能なコンテキストに基づいて自律的に判断するエージェントです。
明確な指示とツールの統合により、ボットビルダーはオートノマスノードを使ってチャットボットの振る舞いを設計できます。
このノードは、ユーザー入力を理解し、適切なデータで応答し、ツールを活用することで、意思決定と実行の両方を担うよう設計されています。
オートノマスノードの利用に興味がある方は、この記事が最適です。ここでは、プラットフォームのエージェント機能の基礎を解説します。
オートノマスノードの主な特徴
1. LLMによる意思決定
オートノマスノードは、LLMエージェントを通じてLLMの能力を活用し、インテリジェントな判断を行います。
2. 自律的な動作
オートノマスノードは、指示やユーザー入力に基づき、手動操作なしでアクションを実行できます。
3. ツール
オートノマスノードは特定のツールを理解し活用します。たとえば、ナレッジベースの検索、ウェブ検索、ワークフローの遷移などが可能です。
4. カスタマイズ性
適切なペルソナや詳細な指示でオートノマスノードを設定することで、会話中もブランドや目的に沿った振る舞いを維持できます。
5. コードの生成と実行
オートノマスノードは、タスク達成のためにカスタムコードを生成・実行できます。
6. 自己修正機能
オートノマスノードが誤った方向に進んだ場合、自ら修正しエラーから回復する能力があります。
設定項目
各オートノマスノードは、ビジネスニーズに合わせて慎重に設定する必要があります。
オートノマスノードの設定で最も重要なのは、適切なプロンプトと指示を書くことです。プロンプトはエージェントのペルソナ理解と意思決定を導きます。

Instructions Box(指示欄)
Instructions Boxには、明確なガイドラインを記載してください。指示が具体的であるほど、エージェントの判断も的確になります。
例:「あなたは常に ‘knowledgeAgent.knowledgequery’ ツールを使って質問に答える親切なアシスタントです。ユーザーが ‘search’ と言った場合は ‘browser.webSearch’ ツールを使ってください。」
会話を許可
Allow Conversation(会話を許可)トグルを有効にすると、オートノマスノードがユーザーと直接やり取りできます。無効の場合、ノードはコマンド処理と内部ロジックの実行のみ行い、ユーザーへのメッセージ送信はしません。
ツールの理解
与えた指示に基づき、オートノマスノードはいくつかのツールを利用できます。
各ツールは特定のアクションを実行します。これらのツールをいつ・どのように使うかを理解することが、ノードの意思決定を左右します。
よく使われる7つのツール
- global.think:LLMzエンジンが次の処理前に思考することを可能にします。
- browser.webSearch:エージェントがウェブ検索で回答を探せます。
- knowledgeAgent.knowledgequery:内部ナレッジベースから関連情報を検索します。
- clock.setReminder:今後のタスクや応答のリマインダーを設定します。
- workflow.transition:ワークフローの遷移を実行し、ユーザー入力に応じて会話の別の部分へ移動します。
- chat.sendText:ユーザーへのテキストメッセージ送信に使います。
- chat.waitForUserInput:処理を一時停止し、ユーザーからの追加入力を待ちます。

ユーザーのアクションに応じて使用するツールを指定することで、会話の流れや結果をコントロールできます。
たとえば、特定の条件が満たされたときに必ず特定のアクションを実行するようLLMに指示できます:「ユーザーが ‘1’ と言ったら ‘workflow.transition’ ツールで次のステップに進んでください。」
または:「ユーザーが質問した場合、まず ‘knowledgeAgent.knowledgequery’ ツールで回答を試みてください。」
ワークフロー例
以下は、オートノマスノードが会話中にどのように設定・動作するかのステップ例です。
1. ユーザー入力
ユーザーが会社の製品について質問を入力します。
2. 指示の実行
オートノマスノードはプロンプトに従い、knowledgeAgent.knowledgequery ツールで内部ナレッジベースを検索します。
3. LLMによる判断
ナレッジベースに十分な回答がない場合、ノードはbrowser.webSearch ツールでウェブ検索を行うことがあります。
4. メッセージ送信
回答が準備できたら、ノードはchat.sendTextでユーザーに関連情報を返信します。
5. 入力待ち
応答後、ノードはchat.waitForUserInput でユーザーからの追加質問ややり取りを待ちます。
指示の書き方
例で示したように、明確な指示はオートノマスノードが正しく動作するために不可欠です。
LLMの意思決定能力は、指示の構成方法に大きく左右されます。
オートノマスノードの指示を書く際のベストプラクティスを3つ紹介します。
1. 具体的に書く
あいまいな命令ではなく、エージェントを明確に導く表現を使いましょう。
例:「ユーザーが ‘help’ と言ったら、‘chat.sendText’ でサポートオプションの一覧を送信してください。」
2. ツールの使用条件を明示する
どの状況でどのツールを使うかを明確に記載します。
例:「製品に関する質問には必ず ‘knowledgeAgent.knowledgequery’ を使って回答してください。」
3. 会話の流れを誘導する
明確な遷移やステップを使い、会話が正しい方向に進むようにしましょう。
例:「ナレッジベースで回答できない場合は、‘browser.webSearch’ で検索に遷移してください。」
詳細は以下のリンクをご覧ください:
Markdown構文の利用について
始める前に、Markdown構文の重要性について説明します。
構造化され視覚的に分かりやすいプロンプトを作成するには、見出しや箇条書き、太字などのMarkdown構文が不可欠です。
この構文により、LLMが指示の階層を認識し、主なセクション・サブ指示・例を区別しやすくなります。
Markdown構文の利用が難しい場合は、自分にとって分かりやすい構造を使っても構いません。ただし、明確で階層的であることが重要です。
便利なプロンプト例
このセクションでは、オートノマスノードの動作を制御するためによく使われる例やパターンを紹介します。
これらの例は実際の経験に基づいており、特定の指示やツールを使ってさまざまなシナリオに対応する方法を示しています。
内部知識に集中する
ノードがサポート関連の質問とその他(価格や機能など)の問い合わせを区別できるよう、次のように指示できます。
**IMPORTANT General Process**
- The knowledgeAgent.knowledgequery tool is to be used only for support-related questions and NOT for general features or price-related questions.
- The browser.websearch tool is to be used ONLY for support questions, and it should NOT be used for general features or price-related questions.このプロンプトにより、LLMはサポート関連の問い合わせに限定して特定のツールのみを使うようになり、取得する情報の種類を制御できます。
ノードをサブフローに遷移させる
場合によっては、オートノマスノードからサブフローに移動させたいことがあります。
たとえば、ユーザーのメールアドレスを収集し、そのメールについて他のシステムから追加情報を取得して連絡先情報を充実させたい場合などです。
その場合、オートノマスノードのループから抜け出し、複数のステップやシステムを含むサブフローで連絡先情報を充実させる必要があります。
When the user wants more information about an email, go to the transition tool.この指示により、ユーザーがメールの詳細を求めたときにworkflow.transitionツールを呼び出し、会話の流れを適切に誘導できます。
変数の入力とアクションの実行
入力の取得とアクションの実行を同時に行いたい場合は、次のようにプロンプトを記載できます。
When the user wants more information about an email, go to the transition tool and fill in the "email" variable with the email the user is asking about.ここでは、ノードが遷移をトリガーするだけでなく、ユーザーのメールアドレスを変数に抽出・保存し、会話の後半で動的な挙動を可能にする方法を案内します。
条件に基づく応答の操作
場合によっては、ノードに条件に応じた追加の処理をさせたいことがあります。以下は、動画リンクの提供に関するプロンプト例です。
If the users selects “1” then say something like “thank you”, then use the transition tool.このプロンプトは、ノードが動画リンクの期待される構造を理解し、ユーザーが動画内の特定のポイントを参照したいときにどのようにリンクを修正するかを学ぶのに役立ちます。
動画リンク用テンプレートの利用例
実際の例を示すことで、ユーザーから動画リンクのリクエストがあった際にシステムがどのように応答すべきかをさらに明確にできます。
**Video Link Example:**
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""これにより、ノードは特定のタイムスタンプ付きの動画リンクを動的に生成する方法を明確に理解し、一貫性のあるユーザーフレンドリーな応答が可能になります。
トラブルシューティングと診断
エミュレーターでAutonomous Nodeの動作をテストする際は、内部で何が起きているかを診断することが重要です。ノードはどのように判断を下しているのでしょうか?
ここでは、ノードの思考プロセスやパフォーマンスをトラブルシュートし、確認する方法を紹介します。

トラブルシュートの3つの方法
1. ノードの思考を確認
Inspectをクリックすると、Autonomous Nodeの内部状態を確認でき、LLMが何を処理しているかを把握できます。確認することで、以下が分かります。
- ノードがどの指示を優先しているか
- プロンプトをどのように解釈しているか
- 指定した制約や指示に従っているかどうか
ノードが正しく応答しない、または特定の指示を無視している場合、確認することでプロンプトの誤解やツールの実行失敗が明らかになります。

2. ツールタブを確認
Toolsセクションには、Autonomous Nodeが利用できるすべてのツールが表示されます。新しいカードを追加したりノード設定を変更したりするたびに、ツール一覧が更新されます。
- リストに表示されているツールが、ノードの意思決定プロセスで利用できるものと一致しているか確認してください。
- プロンプト内でツール名が正しく記載されていることを確認し、ノードが指定したアクションを正しく実行できるようにしましょう。

3. イテレーションタブを確認する
Autonomous Nodeは通常、1~2回のイテレーションで全指示の実行を試みます。イテレーション数はプロンプトの複雑さやノードの解析方法によって異なります。
より複雑なタスクでは、ノードが複数回のイテレーションを経てデータ収集や意思決定、外部情報の取得を行う場合があります。
イテレーションタブ(またはAllタブ)を確認することで、以下が分かります。
- ノードが最終判断に至るまでに必要だったイテレーション数
- ノードが複数ステップを踏んだ理由(例:knowledgeAgent.knowledgequeryやbrowser.webSearchなどのツールで追加データを取得した場合)
- 特定の結果に至った理由

よくあるトラブルシューティングの問題
モデルサイズ
Autonomous Nodeがプロンプト全体ではなく一部のみを実行したり、「workflowQueue」を呼び出すだけで「workflowExecuteAll」ツールを呼び出さない場合があります。
コスト削減のためにAutonomous NodeのLLMサイズを小さくするのは理にかなっていますが、これには注意が必要です。
小さいLLMではプロンプトの一部、特にBotpressが追加するカードの機能や必要なパラメータをLLMに理解させるための定義ラッパーが切り捨てられることがあります。これがないと、ボットは正しく動作できません。
LLMzバージョン
常に最新の安定版LLMzを使用していることを確認してください。これはAutonomous Nodeを制御する自律エンジンです。
また、バグ修正も含まれており、プロンプトがよりLLMに依存しない形になります。

例:コード作成の診断
例えば、Autonomous Nodeがコードを生成しているがプロンプト通りに動作しない場合、次のようにトラブルシュートできます。
- Inspect:ノードがどの指示に従っているか確認します。コード生成リクエストを正しく理解しているか?
- Tools:ノードが必要なツール(例:コード生成ツールやナレッジベースクエリツール)にアクセスできているか確認し、プロンプトでこれらのツールが明示的に参照されているか確認します。
- Iterations:イテレーションタブで、ノードがどのようにコード生成に至ったかを確認します。1回で完了したか、複数ステップを踏んだか?最初にナレッジベースを参照したか、それともすぐにコード生成を試みたか?
解決策:ボットが正しくコード生成できない場合:
- コード生成に使うツールがプロンプト内で正しく参照されているか確認します。
- まず関連知識を取得してからコード生成を試みるなど、ノードが特定の手順を踏むよう指示内容を調整します。

フルプロンプト例
**IMPORTANT: Query Knowledge Base is to be used only for support questions related explicitly to student courses, and NOT for general features or pricing inquiries.
**Role Description:
You are an AI-powered troubleshooting chatbot named XYZ Assistant’, focused on providing support related to professional courses offered by XYZ LMS. Your primary goal is to handle student inquiries efficiently by retrieving accurate information from the knowledge base and answering questions clearly.
**Tone and Language:
• Maintain a courteous, professional, and helpful demeanor at all times.
• Use language that is clear, concise, and appropriate for students and professionals in finance and investment.
• Ensure user data is handled securely and confidentially, adhering to all relevant data protection policies.
• Utilize information solely from **LMS Knowledge Base**.
• Personalize interactions to enhance user engagement and satisfaction.
• Reflect **XYZ branding** throughout the conversation, ensuring clarity and professionalism.
• Avoid providing answers outside the knowledge base or surfing the internet for information.
• If the user expresses frustration, acknowledge their concern and reassure them that you are here to help.
**Interaction Flow and Instructions
1. Greeting and Initial Query
• Start with a friendly and professional greeting.
• Encourage users to ask questions about course content, support materials, or other course-related concerns.
2. Information Retrieval and Issue Resolution
• Utilize the ‘Query Knowledge Base’ tool to find accurate answers to student inquiries.
• Provide clear, concise, and helpful responses to resolve the user's question.
• If the inquiry involves linking to a video, use the provided video link structure. To link to a specific moment in the video, append the "t" parameter for the desired time (e.g., for the 15-second mark, use "t=15").
3. Conclusion
Once the issue is resolved, politely conclude the interaction and ask if there's anything else you can assist with.
**Extra Instructions
*Video Link Example
-If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
*Handling Edge Cases
If the user asks a general or unclear question, prompt them to provide more details so that you can offer a better solution.プロンプトの分解
上記のフルプロンプトでは、ユーザーがAIアシスタントを作成し、学生からの教育コースに関する質問に回答しています。
上記の例はガイドラインであり、必要に応じて修正できますが、このレイアウトがこれまでで最も効果的な構成だと私は考えています。
なぜこのようなプロンプト構成になっているのかを分解してみましょう。
1. 重要な注意事項
**IMPORTANT: Query Knowledge Base is to be used only for support questions related explicitly to student courses, and NOT for general features or pricing inquiries.目的:Query Knowledge Baseツールの使用タイミングと方法に制限を設けます。コース関連のサポート専用であり、機能や価格など一般的な問い合わせには使わないことを強調します。
意義:ボットの対応範囲を絞り、ユーザーへの回答の関連性を高めます。特に教育コンテンツに沿った回答を保証します。
2. 役割の説明
You are an AI-powered troubleshooting chatbot named XYZ Assistant’, focused on providing support related to professional courses offered by XYZ LMS. Your primary goal is to handle student inquiries efficiently by retrieving accurate information from the knowledge base and answering questions clearly.目的:AIの役割をサポート重視のアシスタントとして定義し、主な目的がコース関連の問い合わせ解決であることを明確にします。
意義:アシスタントの回答が本来の目的に沿うようにし、ユーザーの期待を管理し、対象ドメイン(この場合はXYZ LMS)に特化した対応を維持します。
3. トーンと表現
• Maintain a courteous, professional, and helpful demeanor at all times.
• Use language that is clear, concise, and appropriate for students and professionals in finance and investment.
• Ensure user data is handled securely and confidentially, adhering to all relevant data protection policies.
• Utilize information solely from **LMS Knowledge Base**.Personalize interactions to enhance user engagement and satisfaction.
• Reflect **XYZ branding** throughout the conversation, ensuring clarity and professionalism.
• Avoid providing answers outside the knowledge base or surfing the internet for information.
• If the user expresses frustration, acknowledge their concern and reassure them that you are here to help.目的:アシスタントの態度やトーン、プロフェッショナリズムについて指針を示し、セキュアでデータ保護を意識したやり取りを維持します。
意義:親しみやすく安全なトーンを設定し、ブランドやユーザーの期待に合ったサポート的かつプロフェッショナルなアシスタント像を確立します。
4. 対話の流れと指示
挨拶と初回の質問
• Start with a friendly and professional greeting.
• Encourage users to ask questions about course content, support materials, or other course-related concerns.目的:アシスタントが温かくプロフェッショナルな挨拶から始め、ユーザーにコースに関する具体的な質問を促すよう指示します。
意義:ユーザーが利用しやすい入口を作り、より良い回答のために詳細情報を引き出します。
情報取得と問題解決
• Utilize the ‘Query Knowledge Base’ tool to find accurate answers to student inquiries.
• Provide clear, concise, and helpful responses to resolve the user's question.
• If the inquiry involves linking to a video, use the provided video link structure. To link to a specific moment in the video, append the "t" parameter for the desired time (e.g., for the 15-second mark, use "t=15").目的:アシスタントにナレッジベースを活用して関連性の高い明確な回答を行わせます。また、動画リソースをタイムスタンプ付きで共有するための構造化された手順も含みます。
意義:効率的かつ的確な回答を可能にし、動画などコンテンツ特有の質問にも体系的に対応できるため、シームレスなユーザー体験を実現します。
まとめ
Once the issue is resolved, politely conclude the interaction and ask if there's anything else you can assist with.目的:やり取りの最後に丁寧に締めくくり、追加のサポートが必要かどうかを尋ねるようにボットを誘導します。
意義:やり取り全体を通じてプロフェッショナルかつサポート的なトーンを維持し、必要に応じてユーザーが引き続き相談できるようにします。
5. 追加指示
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""目的:動画の特定部分へのリンク形式を示し、学生が必要な情報を正確に見つけられるようにします。
意義:特に時間指定の教材コンテンツ共有において、動画リソースの案内方法を明確にします。
*Handling Edge Cases
If the user asks a general or unclear question, prompt them to provide more details so that you can offer a better solution.目的:曖昧または一般的な問い合わせに対して、ユーザーに詳細を尋ねるようアシスタントを準備させます。
意義:混乱を避け、アシスタントができるだけ具体的にユーザーの質問に対応できるようにします。
今すぐAIエージェントを構築しよう
Botpressは、企業向けの完全に拡張可能なAIエージェントプラットフォームです。
当社のオールインワン会話型AIプラットフォーム・アズ・ア・サービス(PaaS)により、企業はLLMを活用したソリューションの構築、展開、監視が可能です。
業界や用途、ビジネスプロセスを問わず、Botpressのプロジェクトは常にスケーラブルで安全、かつブランドイメージを損ないません。
50万人以上のユーザーと世界中で数百万のボットが導入されており、Botpressは企業や開発者に選ばれているプラットフォームです。高度なセキュリティと専任のカスタマーサクセスサービスにより、企業はエンタープライズレベルのAIエージェントを安心して導入できます。
Autonomous Nodeを適切なプロンプトやツール定義で効果的に設定することで、組織はユーザーとのやり取りを自律的に処理するインテリジェントなエージェントを作成できます。
今すぐ構築を始めましょう。無料です。
よくある質問
1. Autonomous Nodeを使うのにコーディング経験は必要ですか?
BotpressのAutonomous Nodeを使うのにコーディング経験は必要ありません。ローコード開発向けに設計されており、ロジックブロックやビジュアルツールを使って機能的なAIエージェントを構築できます。
2. 自律ノードは外部APIやデータベースと直接やり取りできますか?
はい、Autonomous NodeはカスタムサブフローやAPIコールなどのBotpressツールを利用して、外部APIやデータベースとやり取りできます。安全なエンドポイントを定義し、会話中にパラメータを渡してデータの取得や書き込みが可能です。
3. 自律ノードはモバイルアプリやサードパーティプラットフォームに組み込むことができますか?
はい、ボットを展開した後、Autonomous Nodeはモバイルアプリやサードパーティプラットフォームに埋め込むことができます。Botpressは、WhatsApp、Slack、Messengerなどのプラットフォームや、WebViewやAPIを使ったモバイルアプリ向けのマルチチャネル展開をサポートしています。
4. ノードは同時ユーザーや高トラフィックにどのように対応しますか?
BotpressのAutonomous Nodeは、各セッションをメモリ上で独立して実行することで同時ユーザーに対応し、個別の会話を実現します。高トラフィックの場合は、リソース使用状況を監視し、ロジックやAPIコールを最適化して低遅延・高可用性を維持することが重要です。
5. 自律ノードが機密情報を共有しないようにするためのガードレールはありますか?
はい、ツールへのアクセス制限やプロンプトのカスタマイズによって、Autonomous Nodeが機密情報を共有しないよう厳格なガードレールを設定できます。さらに、Botpressは安全性を考慮したLLMを使用しており、コンプライアンス遵守を支援します。





.webp)
