【要約】第4話 とある現場のおじさん、MermaidでLLMに歩み寄る [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者がLLMを用いたチャットアプリを構築する際、技術的な課題に直面する。自然言語による指示だけでは、複雑な業務ロジックを制御しきれない。具体的には、以下のようなペインポイントが存在する。
- ・終了判定や入力チェックなどの定型的なロジックが、LLMの自由な生成によって崩れる。
- ・「色ではない入力」への対応など、境界線の曖昧な判断を制御しきれない。
- ・一問一答の形式では、業務全体の文脈や状態を維持することが困難である。
// Approach
筆者は、Mermaid記法をLLMへの「共通言語」として活用するアプローチを採用した。フローチャートをテキストとして提示し、LLMの挙動を制御するガイドとする。具体的な手法は以下の通りである。
- ・Mermaidを用いて、処理の順序、条件分岐、判断ポイントを構造的に記述する。
- ・「LLMに自由に生成させる部分」と「手順を固定したい部分」を設計段階で分離する。
- ・作成したフローをプロンプトに組み込み、LLMに対して業務ロジックの絶対準拠を促す。
// Result
筆者がMermaidを用いたフロー提示を試みた結果、LLMは想定通りに動作した。分岐や繰り返しが正確に実行されることを確認できた。得られた成果と今後の展望は以下の通りである。
- ・「青」を青系、「若草色」を緑系と分類し、非色入力には再入力を促す挙動を実現した。
- ・ただし、フローの記述によりトークン消費量が増加する課題も判明した。
- ・最終的には、ロジックをWorkflowエンジンへ移譲する設計の重要性を導き出した。
Senior Engineer Insight
> Mermaidによる構造化は、LLMの挙動安定化に寄与する。しかし、トークンコストとモデルの進化に注意が必要だ。モデルが賢くなれば、自然言語指示だけで十分になる。実運用では、ロジックをWorkflowエンジンへ移譲すべきだ。Dify等のツールで制御する「ハイブリッド構成」が最適である。これが、コスト・精度・保守性のバランスを保つ鍵となる。