
本記事は DataStax Blog の記事を翻訳し転載しています。

Betul O’Reilly
DataStaxソリューションアーキテクト

Cezar Vasconcelos
NamesteX Labs
もしAIが、あなたが指一本触れずに、ご自身の代わりに物事を解決してくれたらと考えたことはありますか?AIエージェントのエキサイティングな世界へようこそ!これらのスマートなシステムは、プログラミングの世界を揺るがし、アプリケーションにおける問題解決へのアプローチ方法を変えつつあります。
従来、開発者は関数を慎重に設計し、それらをいつ実行するかについて特定のルールを設定していました。しかし、エージェントはどうでしょう? エージェントは、この新しいタイプのAIアプリで事態を一変しようとしています。すべての決定を細かく管理する代わりに、大規模言語モデル (LLM) に任せています。これらのインテリジェントなシステムは、状況を分析し、最適な次の一手を自分で見つけ出すことができるのです。
シンプルにいえば、エージェントはそれ自身で物事を成し遂げるように設計されたAIシステムです。エージェントは、ルールに従う単なるプログラム以上のものと考えてください。それは、AI、特にLLMを搭載した推論能力を備えた意思決定者です。
エージェントは、状況とアクセスできるツールに基づいて、次に何をすべきかを決定します。エージェントは、あなたがすべてのステップを教えてくれるのを待つのではなく、自分自身で解決するのです。
このブログでは、気合を入れて、Langflowで簡単なエージェントをゼロから構築します。また、LangSmithとLangwatchというクールな観測可能性ツールを覗いて、エージェントが舞台裏で何をしているのか見てみましょう。
汗を流して、あなたの最初のLangflowエージェントを作成する準備はできましたか? さあ、始めましょう!
Langflow とは?
エージェントの細かい話に入る前に、今回私たちが使用する素敵なプレイグラウンド、Langflowについて話しましょう。

Langflowは、AIアプリケーションの構築に関心のある人にとってゲームチェンジャーです。これは、マルチエージェントシステムと検索拡張生成(RAG) のセットアップを簡単に、しかも楽しく作成できるオープンソースのフレームワークです。Pythonを搭載しているため、柔軟性があり、カスタマイズが簡単で、使用しているLLMまたはベクトルストアにうまくフィットします。
私が気に入っているのは、その直感的な操作感です。専門家でなくても、インパクトのあるものを作り始めることができます。アイデアをテストする場合でも、本番環境に対応したソリューションを作成している場合でも、Langflowはそれを実現するためのツールを提供してくれます。
Langflowのインターフェースは非常にユーザーフレンドリーです。AIコンポーネントを文字通りドラッグ&ドロップして、積み木のようにつなげて、機能するものを作ることができます。特に、アイデアを素早くプロトタイプ化し、それを現実的で実用的なソリューションに変換したい開発者にとって、大幅な時間の節約になります。
私はLangflowをAIツールにおけるレゴだと考えています。各ブロック (つまりコンポーネント) には特定の機能があり、それらをうまくつなげることで素晴らしいものができあがります!
オープンソースを探求している開発者でも、クラウドでのシームレスなエクスペリエンスを探している開発者でも、Langflowはあなたをカバーしています。オープンソース版はhttps://docs.langflow.org/getting-started-installation から、クラウド版はこちらからお試しください!
エージェントとは?
さて、詳しくみてみましょう。Langflowでは、エージェントは、さまざまなツールを使用してタスクを完了するスマートアシスタントのように機能します。これらのツールは、金融データソースからリアルタイムの株価を取得するような単純なAPIから、カレンダーAPIを使用して会議をスケジュールしたり、データベースにクエリを実行してeコマースサイトの商品情報を取得したりするような複雑なタスクまで多岐にわたります。
エージェントは、Slack経由で通知を送信したり、ソーシャルメディア管理ツールでスケジュールされたコンテンツに基づいてソーシャルメディアの投稿を自動化したりするなど、他のワークフローと連携することもできます。

エージェントのクールで優れた点は、言語モデルを使用して、どのアクションをどの順序で実行するかを決定することです。また、1 つのツールからの出力を使用して、別のツールの入力を改善することもできます。それはまるでパズルを解いているようなもので、各ステップでどのピース(ツール)が最適かを見つけ出しています。
覚えておくべき重要事項:
ツールの呼び出し – あるソースからデータを収集するだけでなく、そのデータを使用して別のソースのタスクを自動化するスマートアシスタントがあると想像してみてください。これはまさにツール呼び出しです。これは、日常的に使用するツールやシステムを接続することで時間を節約する、マルチタスク ウィザードのようなものです。
エージェントは、受信トレイに新しい請求書がないかを監視し、金額や期日などの重要な詳細情報を抽出し、その情報をQuickBooksやGoogle Sheetsなどの財務ツールに自動的に記録できます。もう手動で請求書の受信を追跡する必要はありません!
1つのエージェントが複数の反復作業を行う – タスクによっては、完了するまでに複数のステップを実行する必要があります。あなたが1つずつ行うのではなく、エージェントが最初から最後までプロセス全体を担当することができます。これはレシピに従うようなもので、エージェントがシェフとして下ごしらえから調理、盛り付けまで完璧にこなすのです。
フライト検索をチェックするエージェント 1 つだけで、フライト検索API(SkyscannerやGoogle Flightsなど)をチェックし、設定したパラメータに基づいて最適な価格を見つけ、フリークエントフライヤープログラム(マイレージプログラムなど)を使用してチケットを予約できます。複数のツールを使用する必要はありません!
マルチエージェントセットアップ – より複雑なワークフローに取り組む必要がある場合は、エージェントのチームにさまざまな部分のジョブを処理させてみてはいかがでしょうか。これがマルチエージェントのセットアップです。複数の専門エージェントが協力して大きな問題を解決します。これは、チームのコラボレーションと同じです。
マーケティングでは、第1のエージェントがWebサイト(Google FormsまたはHubSpot経由) で送信されたフォームからリードを収集できます。第2のエージェントは、企業規模や興味関心などの基準に基づいて、これらのリードをセグメント化できます。最後に、第3のエージェントがMailchimpでパーソナライズされた電子メールキャンペーンを開始し、アウトリーチ マーケティングを完全に自動化し、最小限の労力でターゲットを絞ったフォローアップを確実を確保できます。
Langflowのエージェント
さて、ここからがLangflowが最も威力を発揮するところです。これにより、複雑なエージェントのすべてが、簡単に管理できる明確で視覚的なコンポーネントに変わります。レゴで組み立てるように、それぞれのピースには場所と目的があります。
Langflowには、マジックを起こすために協力し合う重要なプレーヤーがいます:
- チャット入力 – ユーザーが質問やリクエストを入力する場所です。AIシステムへの入り口と考えてください。
- プロンプト – AIにどのように応答するかについての指示と考えてください。AIに役割と仕事内容を1つにまとめて与えるようなものです。
- チャット メモリ – AIに会話の内容を「記憶」させます。これがなければ、AIは金魚のように数秒後にはすべてを忘れてしまうでしょう!
- エージェント – AIがどの外部リソースやプラグインを使用する必要があるかを把握する参謀です。AIチームのマネージャーのようなもので、適切なツールにタスクを委任します。
- ツール – 電卓や検索エンジンのように、エージェントが使用できる特定の機能やAPIです。AIマシンに不可欠な道具と考えてください。
- チャット出力 – AIがユーザーに応答を返す場所です。これは、舞台裏のすべてのマジックの最終成果です。
Langflowによる簡単なエージェントの構築
理屈はもう十分でしょう – 実際に手を動かして、何かを作りましょう! Langflowで基本的なエージェントを作成し、シンプルなものから始めて、強化しています。
Step 1: キャンバスの設定
まず、キャンバスに基本的なものを設定しましょう:
- チャット入力
- OpenAI キーを保持するエージェント
- チャット出力
エージェントを準備する際には、OpenAIキーが必要になるため、グローバル変数でOpenAIキーを準備する方法を次に示します。

すべてのコンポーネントをプラグインし、OpenAI 変数を使用して実行すると、これらのコンポーネントがビルドされます。

Step 2: エージェントにメモリを付与する
では、メモリを使用してエージェントをアップグレードしてみましょう:
- 「Astra DB Chat Memory」 コンポーネントを追加します
- エージェントの Controls セクションに移動し、「External Memory」 オプションを切り替えます

一連の関連する質問でテストして、記憶されているかどうかを確認します。それがどのように学習するのかを見るのは興味深いです!
Step 3: 最初のツールを追加する
最初のツールとして電卓を追加しましょう。

簡単です!まずはシステムプロンプトをそのままにして、プレイグラウンドでエージェントとチャットしてみましょう。
Step 4: エージェントのテスト
いよいよ試運転の時間です!普通のLLMが汗をかくようなことを、エージェントに聞いてみましょう。
「51231234123 * 51295182141888811238はいくつ?」

LLMは通常、複雑な数学に苦労しますが、彼らに電卓ツールを与えてください、すると、ほら!彼らはそのタスクを委任し、それを完璧にこなすことができます。それは、短縮ダイヤルに数学の天才がいるようなものです。
Step 5: エージェントの機能の拡張
エージェントにWeb検索の強力なパワーを与えましょう:
- Web検索のための 「Tavily AI Search」 を追加します。

「Can you share some places in Barcelona and images of them?(バルセロナのいくつかの場所とその画像教えていただけますか?)」などとテストします。

Step 6: エージェントに目的を与える
最後に、何でも屋を達人に変えてみましょう:
- 詳細な指示を含むプロンプトコンポーネントを追加する
- 包括的なシステムプロンプトを備えた「旅行代理店」に変身させましょう

これに対する優れたプロンプトは、エージェントに、親しみやすく、知識が豊富で、旅行者のニーズや好みを常に優先するよう伝えるのがよいでしょう。旅行のニーズの理解することから、ニーズに合わせたアドバイスの提供、さらには責任ある観光の促進まで、すべてを網羅する必要があります。
LangSmith と Langwatchに可観測性を追加
AI プロジェクトが複雑になるにつれて、舞台裏で何が起こっているかを常に把握することが重要です。そこで、LangSmithやLangWatchなどのツールが役に立ちます。これらはLangflowとシームレスに統合され、AIのパフォーマンスに関する貴重な洞察を提供します。これは、エージェントがどのように意思決定をしているのかを正確に確認するためのバックステージパスを持つようなものです!
Langflowのドキュメントに両ツールのインストール手順が記載されていますので、すぐに使い始めることができます:
https://docs.langflow.org/integrations-langsmith
https://docs.langflow.org/integrations-langwatch

LangWatch:

これらのツールを使用すると、次のことが可能になります:
- エージェントのパフォーマンスをリアルタイムで監視
- エージェントの意思決定プロセスをトレースして問題をデバッグ
- ボトルネックの特定によるエージェントの効率の最適化
LangflowエージェントでLangSmithとLangwatchを使用する方法については、今後の記事で詳しく説明します。ご期待ください!
まとめ
これで完了です!Langflowでエージェントを作成およびカスタマイズするための基本について、簡単な電卓から高度な旅行アシスタントまでカバーしました。一番の魅力は?これはほんの始まりに過ぎません。今後は、さらにクールで複雑なエージェントを構築する方法、独自のカスタムツールを作成する方法、さらにはLangflowでマルチエージェントシステムを設定するセットアップする方法について説明します。
Langflowは非常に柔軟であることを忘れないでください。あらゆる種類のエージェントパイプラインを作成し、必要に応じてツールをカスタマイズできます。あなたの想像力次第で、必要に応じてツールをいかうようにもカスタマイズできます!
さらに、機先を制したい場合は、Langflow Store (エージェントテンプレートの検出と共有のためのプラットフォーム) からエージェントの事前構築済みバージョン「Simple Travel Agent v.1.1 」をご利用ください。