【要約】**『もし自分が100人いたら?』をFastAPI×pgvectorxClaudeで実装した話 ― AIデジタルツイン基盤Soul-Twin [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者は、AIに一貫した「人格」を持たせつつ、運用コストと応答の質を両立させる課題に直面した。
- ・ペルソナプロンプトの肥大化に伴う、LLMの入力トークンコストの増大。
- ・汎用的な回答に終始し、特定の専門領域に対する回答精度が低下する問題。
- ・チャットUIにおいて、トークン配信以外のメタデータ(検索結果やルーティング情報)を同時に伝える手段の欠如。
// Approach
開発チームは、LLMの特性と非同期通信を最大限に活用するアーキテクチャを採用した。
- ・Anthropic Prompt Cachingを利用し、ペルソナ情報の入力コストを大幅に削減。
- ・pgvectorを用いたRAGパイプラインにより、個別の知識ベースを構築。
- ・SSE(Server-Sent Events)を多重化し、1つのストリームでトークンやメタデータを配信。
- ・軽量LLM(Haiku)を分類器として使い、専門TWINへ自動ルーティングする仕組みを実装。
- ・Celeryを用いて、対話、TTS、埋め込みなどのタスクをキューごとに分離。
// Result
システムは、低コストかつ高機能なデジタルツインの実現に成功した。
- ・Prompt Cachingにより、同一セッション内の入力コストを約90%削減。
- ・Haikuによる分類(閾値0.7)により、専門知識への適切なアクセスを実現。
- ・SSEの活用により、1接続でトークン、検索結果、デバッグ情報を同時提供。
- ・316件の統合テストを完遂し、システムの信頼性を確保。
Senior Engineer Insight
> 実運用を見据えた極めて合理的な設計である。特にPrompt Cachingによるコスト削減と、SSEによる通信の多重化は、UXと経済性を両立させる優れた判断だ。また、Haikuをルーターに据える設計は、マルチエージェントにおけるレイテンシ制御の定石と言える。uvloopとCeleryの競合回避など、非同期処理の深い知見に基づいた実装も評価できる。