【要約】要求工学でAIチャットボットに「会話力」を持たせた{非同期アーキテクチャ}——農家エンジニアのチャットボット開発記⑦ [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者が、AIチャットボットの応答遅延と複雑な対話フローの設計において、以下の課題に直面した。
- ・RAGによる回答生成に40秒を要し、ユーザーが待機を強いられるブロッキングが発生。
- ・ルールを増やすほど破綻する、エキスパートシステムの歴史的な設計課題。
- ・マルチペルソナによるAPI呼び出し増大に伴う、レート制限(429エラー)の発生。
// Approach
開発者は、要求工学の5ステップと非同期アーキテクチャを組み合わせ、設計の堅牢性とUX向上を図った。
- ・KAOSによるゴールツリー作成とAlloyによる形式検証を実施し、仕様の正当性を証明。
- ・レポート生成をバックグラウンドで実行し、その間にインタビュアーAIが会話を継続する設計を採用。
- ・LLM(gpt-4o-mini)を用いて、ペルソナに基づいた対話シナリオを自動生成。
- ・Flaskの
@stream_with_contextを用い、非同期処理中のセッション管理問題を解決。
// Result
開発者は、生成AI特有の待ち時間を「体験」へと昇華させることに成功した。
- ・レポート生成中の待機時間を、インタビュアーAIとの対話に充てることでUXを向上。
- ・Alloyによる8項目の検証において、すべて「No counterexample found」を確認。
- ・APIモデルの適切な選択により、レート制限によるエラーを解消し、安定稼働を実現。
Senior Engineer Insight
> LLMアプリケーション開発において、プロンプトのみに依存せず、要求工学による形式的な仕様定義を行う姿勢は極めて高く評価できる。特に、生成AI特有の「待ち時間」を、非同期処理と対話によってUXへ転換する設計は、実戦的な解である。ただし、非同期化に伴うコンテキスト管理やAPIレート制限への対策は、実装フェーズでの不可避なコストとなる。