Zenn
🧬

生成AIエージェント開発を加速するLangfuse v3: TerraformとGoogleCloudで簡単構築

2025/03/15に公開
1

はじめに

皆さん、生成AIエージェントの開発は進んでいますか?

本格的な開発で直面する課題の一つが、「LLMの途中経過の追跡が困難」という点です。そこで活躍するのがLangfuseです。Langfuseと連携することで、LLMの中間出力を詳細にトレーシングし、チームメンバーと簡単に共有できます。これにより、開発効率を大幅に向上させることが可能です。

本記事では、LangfuseをGoogle Cloud Platform (GCP) 上にTerraformを使って迅速に構築する方法を紹介します。READMEに構築手順を記載したソースコードも公開しているので、すぐに試せます!

https://github.com/xxkuboxx/langfuse-tf-gcp

構築手順概要

  1. 事前準備:
  2. 環境構築:
    • REDEMEに従ってgcloudコマンドとTerraformでLangfuse環境を構築
  3. 動作確認:
    • Cloud RunのコンソールからLangfuseのUIにアクセス

詳細な手順は、以下の動画で解説しています。ぜひご覧ください。

https://www.youtube.com/watch?v=CnPlFpXRa4w

構築手順作成の際には、以下のクラウドエース様の記事を参考にさせていただきました。
ありがとうございました!

https://zenn.dev/cloud_ace/articles/deploy-langfusev3-on-gcp

なぜLangfuseが必要なのか?

少数のLLMであれば問題ありませんが、10個、20個とLLMを組み合わせた複雑なエージェントを開発する場合、各LLMの挙動を把握するのは非常に困難です。

しかし、近年の研究では、単一のLLMに全てを任せるよりも、複数のLLMに役割分担させた方が、より高い精度を達成できることが示唆されています。

https://x.com/kubornetes/status/1900007937269260345

https://x.com/kubornetes/status/1900057977387966684

これらは、言語処理学会(NLP2025)に提出された論文からの情報で、シングルエージェント(単一LLM)よりもマルチエージェント(複数LLM)の方が高い精度を達成できるという内容です。

私自身も、ChatGPTを使う際に、細かく段階的に指示を与える方が、より望ましい結果を得やすいと感じています。この経験則が、研究によって定量的に裏付けられているのは心強いです。

しかし、マルチエージェントシステムでは、各LLMが期待通りに動作しているかを確認する必要があります。print文などを使ったデバッグでは限界があります。

Langfuseは、各LLMの処理を詳細に追跡し、チームメンバーと共有することを可能にします。これにより、高品質なLLMエージェントを効率的に開発できるのです。これが、Langfuseを導入する最大の理由です。

なぜマネージドサービス(Cloud Run)なのか?

Langfuseの構築には、いくつかの選択肢があります。

  1. ローカルPC (Docker Compose):
    • メリット: 手軽に試せる。ほぼコスト無し。
    • デメリット: チームでの共有が難しい。
  2. クラウド上のVM (Docker Compose):
    • メリット: チームでの共有が可能。比較的構築が容易。低コスト。
    • デメリット: スケーラビリティに限界がある。
  3. クラウドのマネージドサービス (Cloud Run):
    • メリット: スケーラビリティが高い。
    • デメリット: 構築の難易度がやや高い。
  4. Kubernetesクラスタ:
    • メリット: さらに大規模なサービスに対応可能。
    • デメリット: 構築・運用の難易度、コストが高い。

今回は、3番目のCloud Runを選択しました。その理由は、スケーラビリティとコストのバランスが良いからです。

ローカルPCでの構築は、個人で試すには十分ですが、チーム開発には不向きです。クラウドVMは、小規模な開発やPoCには適していますが、本格的なサービス運用にはスケール面で不安が残ります。

Cloud Runは、ある程度のスケーラビリティを確保しつつ、運用負荷を低く抑えられます。中規模程度のサービスであれば、十分に対応可能だと考えられます。より大規模なサービスにはKubernetesクラスタも選択肢として考えられます。

なぜTerraformなのか?

クラウドインフラを構築する際、GUIでの操作(いわゆる「ポチポチ」)は、設定項目が少ない場合は問題ありません。しかし、Langfuseのように多くの設定が必要な場合、GUI操作だけでは、設定内容の把握や再現が困難になります。

手作業での設定は、設定ミスや手順の記録漏れのリスクを高めます。また、GUIは頻繁に更新されるため、ドキュメントのメンテナンスも大変です。

そこで、Infrastructure as Code (IaC) の出番です。Terraformは、IaCを実現するためのツールです。Terraformを使うことで、インフラ構成をコードで記述し、管理できます。

Terraformのメリットは以下の通りです。

  • 可読性: コードを読むことで、インフラ構成が一目でわかる。
  • 再現性: コードを実行することで、同じ環境を何度でも再現できる。
  • 変更管理: コードの変更履歴を追跡できる。
  • 共有: コードを共有することで、チームメンバーと簡単に情報共有できる。
  • 自動化: 設定変更を自動化できる。

Terraformを使うことで、手作業によるミスを減らし、インフラ構築・運用の効率を大幅に向上させることができます。特に、今回のように、他の人に簡単に設定を共有できるという点は、チーム開発において非常に大きなメリットです。

長期的に安定運用し、多くの人に価値を届けられるサービスを開発するためには、TerraformのようなIaCツールの活用は不可欠だと考えています。

まとめ

本記事では、生成AIエージェント開発におけるLLMのトレーシングの重要性と、それを実現するLangfuseの導入について解説しました。特に、TerraformとGoogle Cloudを活用することで、スケーラブルかつ効率的なLangfuse環境を迅速に構築できることを紹介しました。

Langfuseは、複雑化する生成AIエージェント開発を強力にサポートするツールです。ぜひ、本記事を参考にLangfuseを導入し、開発効率を向上させ、より高品質なAIエージェントを生み出してください。

1

Discussion

ログインするとコメントできます