SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

LLMアプリケーションのアーキテクチャ入門

LLMアプリケーションのベストアーキテクチャを探る──トークンの過剰利用や複雑な構成、入出力の制御をどう解決するか

中央集権的なレイヤーを用いて、複数のアプリケーションに跨る課題を一元管理する

中央集権的なレイヤーを用いるアプローチ

  LLMを活用したアプリケーション開発の問題を解決するもう一方のアプローチは、中央集権的なレイヤーを用いるものです。具体的には、以下のようにアプリケーションとLLMの間に中間レイヤーを配置し、そのレイヤーに共通の課題に対する実装をオフロードする方法です。

  同様に単一のアプリケーションに対して実装を行う際も有効的に活用することで実装コストを減らすことができますが、複数のアプリケーションに対して実装を行う際にはさらに強力に活用できます。中央集権的なレイヤーを活用して実装するメリットとしては、プログラミング言語に依存することなく導入できる点と、複数環境に対して一元的な制御が可能な点です。図解すると以下の通りです。

中央集権的なレイヤーを用いるアプローチ
中央集権的なレイヤーを用いるアプローチ

各アプローチのまとめ

各アプローチのまとめ
ライブラリを利用するアプローチ 中央集権的なレイヤーを用いるアプローチ
方法 アプリケーションの内部で制御する アプリケーションの外部で制御する
長所 導入が容易にできること
柔軟性やカスタマイズ性に優れること
プログラミング言語に依存することなく導入ができること
複数環境に対して一元的な制御が可能なこと
短所 特定の言語(多くは、Pythonや TypeScript)に依存すること
アプリケーションごとにライブラリを用いた実装が必要なこと
独立したコンポーネントの運用が必要なこと
柔軟性やカスタマイズ性にかけること
適した用途 単一のアプリケーションに対して実装をする
複雑なロジックの実装が必要な場合
複数のアプリケーションに対して実装をする
中央集権的にセキュリティ管理などが必要な場合

 わかりやすいように対比形式でまとめていますが、上記のアプローチは排他的ではなく相互補完しながら利用することも可能です。例えば、複雑なロジックの実装はライブラリを利用し、全体のガバナンスを効かせたいセキュリティ対策は中央集権的なレイヤーに寄せるなどバランスを取りながら進めることで、柔軟かつセキュリティレベル高く実装を進めることができます。以降は、中央集権的なレイヤーを用いるアプローチについてより深掘りをしていきます。

そもそもAPI Gatewayが解決したかったこと

 先に述べたAPI通信において共通した課題を解決するために、中央集権的なレイヤーを用いるアプローチは、**API Gateway パターン**と呼ばれているデザインパターンの一種です。ここでは、LLMアプリケーションにおいてAPI Gatewayパターンを活用することで、開発や運用がどのように変わるのか説明します。

より正確には、API Gatewayを用いるアプローチ
より正確には、API Gatewayを用いるアプローチ

API Gatewayとは

 まずは、API Gatewayについて説明します。下図は、API Gatewayを用いずにクライアントアプリケーションから直接APIサーバーに通信を行っている様子です。APIエンドポイント自体が増えることも実装や管理の点で面倒ですが、それ以上にAPIの能力を適切に把握しながら実装する必要があることも課題です。「APIの能力」とは、例えばどのような認証方法がサポートされているのかやレート制限が挙げられます。

API Gatewayがない場合
API Gatewayがない場合

 これを回避するために、API通信の中間層にAPI Gatewayを配置し、今まで複数存在していたAPIエンドポイントをGatewayのエンドポイントに集約します。API Gatewayで統一的なポリシーを設定することでクライアントの実装や管理が楽になります。

 また、APIを実装する側からしても個々のAPIに実装する必要があった認証・認可制御、レート制限、オブザーバビリティといった事項をAPI Gateway側の実装にオフロードし、本来実装するべきビジネスロジックに集中できるメリットもあります。このような背景から、マイクロサービスアーキテクチャなどでシステム全体を構築している場合、API Gatewayは非常に強力なデザインパターンと言えるでしょう。

API Gatewayを採用した場合
API Gatewayを採用した場合

 API Gatewayは自作することも可能ですが、OSSや SaaS、クラウドプラットフォームの一部としても提供されています。以下は、API Gatewayとして知られている代表的な製品やサービスです。(※名称順)

代表的なAPI Gatewayの製品やサービス例
名前 提供形態(OSS, SaaS, Cloud)
Apache APISIX OSS
Amazon API Gateway Cloud
Azure API Management Cloud
Envoy Gateway OSS
Google Apigee Cloud
Kong Gateway OSS, SaaS
OCI API Gateway Cloud
TyK OSS

 さて、このAPI Gatewayですがマイクロサービスアーキテクチャのような構成に限らず[中央集権的なレイヤーを用いるアプローチ](#中央集権的なレイヤーを用いるアプローチ)で述べた通り、LLMを活用したアプリケーションでも有効活用することができます。

 第2回は、LLM アプリケーションでどのようにAPI Gatewayを活用できるのか説明します。

この記事は参考になりましたか?

この記事の著者

川村 修平(カワムラ シュウヘイ)

SIerやクラウドベンダーを経て、Kong株式会社でポストセールスエンジニアを務める。コミュニティ活動では、CloudNative Daysというコミュニティでオブザーバビリティチームに所属。著書:Web API開発実践ガイド、OCIで学ぶクラウドネイティブ 実践×理論ガイド、その他技術同人誌

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/22313 2025/12/02 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング