LLMを活用した開発について


大規模言語モデル（LLM）は、契約書や提案書、発注書、決算書など、多様なビジネスドキュメントを読み込み、変換・整形・情報抽出・整理といった処理を自動化・効率化する可能性を秘めています。このようなドキュメントワークを含む知的作業の自動化は近年加速しています。しかし、実務の複雑さやドキュメントの多様性に対応するためには、LLMを多段階で活用する複雑なワークフローが必要となります。

### ワークフローの自動生成（LayerXの取り組み）

複雑なドキュメントワークの自動化には、多段階のLLM活用を含むワークフローが必要ですが、その設計・構築には数人月の工数がかかることも珍しくなく、数十ステップになることもあり、トラブルシューティングや修正が困難になる場合があります。ワークフロー作成は、設計、タスク作成、実行・評価・修正のプロセスに分かれますが、特にタスク作成におけるプロンプトで安定した品質を得ることが難しいという課題があります。

LayerXでは、この課題に対し、LLMの力によって入力と出力の間を効率的に埋める仕組みとして、ドキュメント処理のワークフロー自動設計・生成の研究開発に取り組んでいます。
ワークフロー自動生成の方策として以下の3つが検討されました:
*   入出力のみを用意した探索方式 (AI Agentの応用)
*   入出力と手順を用意した探索方式 (人間による手順を模倣)
*   既存ワークフローのLLM学習によるFine tuning方式
効率的な生成の可能性を考慮し、まずは「入出力と手順を用意した探索方式」から検証が開始されました。
この取り組みの目標は、数人月かかるワークフロー作成工数を大幅に削減することです。当面の目標として、最大5ステップ程度のワークフローの自動生成、および全体の70%程度を自動生成し残りは人間が修正する品質が設定されています。
ワークフロー自動生成は以下の2ステップで行われます:
1.  ワークフロー全体の設計: LLMに入力ドキュメント、目標、手順を入力し、タスクの箱を用意する全体像を設計します。
2.  個々のタスクのパラメータ調整: LLMに目標と手順を入力し、各タスクのパラメータ（プロンプトやPythonスクリプト）、出力スキーマ、評価指標を生成し、実行・評価を繰り返して調整します。
タスクパラメータ生成時には汎用性確保のため入力ドキュメントは使用せず、前のタスクの出力スキーマを次のタスクへの入力として使用します。これによりデータ連携がスムーズになりエラーを防ぎます。
簡単な数ステップのワークフローは現在5分で作成可能であり、さらなる正確性と安定性を目指し研究が進められています。
課題としては、プロンプトの汎用性確保や、評価・フィードバックループの改善、数十ステップの複雑なワークフロー生成、タスク間・サブワークフロー間の連携最適化などが挙げられています。
LLMを活用したプログラム設計の重要なポイントとして、**LLMの出力を自然言語のまま扱わず**、Function callingやStructured outputを用いてデータが明確に定義されたオブジェクトとして取得することが挙げられます。これにより、後続処理のスムーズ化やエラー検出の容易化、Pythonスクリプトの安定性向上や再利用性向上が実現できます。

### LLMアプリケーションの品質保証（Algomaticの取り組み）

LLMアプリケーションの実用化は進んでいますが、情報漏えいによるセキュリティリスクやハルシネーションによるレピュテーションリスクなど、新たな問題への対応が必要です。
**責任あるAI**とは、AI開発・運用において倫理的な問題やプライバシー、セキュリティなどの潜在的なリスクを認識し、これらに対処するために企業や組織が責任を持って取り組む指針や原則を指します。これには、学習データからの復元やバックドア設置の可能性といったシステム全体の信頼性に関わるリスクも含まれます。開発者は、プロダクトの動作原理や潜在リスクを理解し、対策を顧客に説明することで信頼を得ることが重要です。
LLMプロダクト開発では、高い汎化性能と柔軟な言語運用能力により「技術的に可能であるか」を示すことは容易ですが、現場への迅速な適用と継続的な改善がより重要となります。
Algomaticでは、以下の手順で開発を進めています:
*   技術的不確実性を解消し事業化の効果を測定する
*   ガードレールやフェイルセーフの実装と動作検証により安全な動作を保証する
*   継続的な評価と改善により生成品質の向上を図る

LLMは非決定的であるため、**開発初期段階での精度検証は難しく**、ステージング環境での成功が本番環境での成功を保証しないことが少なくありません。評価データセットの不確実性や、運用による概念ドリフト・データドリフトが問題となります。初期の精度検証は工数がかかり手戻りが発生しやすいという課題があります。
そのため、**安全な動作を保証するための動作検証**に注力し、システムが仕様通りに稼働することを確認します。非決定的なLLMに対するテストは、従来のホワイトボックステストとは異なり、タスク仕様や入出力の間接的な関係に着目して実施されます。
Algomaticでは、**アジャイル型品質保証**の取り組みとして、「本番運用に耐える安全な動作を保証して運用にのせ、継続的な評価改善で現場環境に適応させる」アプローチを採用しています。具体的には、システムのあるべき挙動を満たす条件のテスト（例: 要約の文字数条件）、構造化出力の型チェック、普遍的な入出力ペアの利用（挨拶や敵対的指示など）、入出力の間接的な関係を考慮するメタモルフィックテスト（例: 推薦結果の繰り上がり確認）などが行われます。
タスク仕様に基づく応答品質だけでなく、LLM出力における脆弱性や敵対的指示に対する防御策を講じる**脆弱性検証**も安全な稼働には不可欠です。プロンプトインジェクションや誤情報といったリスクへの対応が必要です。望ましくない回答を避けるためには、コンテンツモデレーションツールの利用や、有害性検知のための分類器作成が求められます。
デプロイ前に敵対的攻撃をシミュレーションする**レッドチーミング**も重要な取り組みであり、ジェイルブレイクやプロンプトインジェクションに対する脆弱性を評価します。
LLMアプリケーションは、継続的な評価と改善を長期にわたって繰り返し実施することが重要であり、モニタリング、ガードレール・フェイルセーフ、ユーザーフィードバックの反映も必要となります。

### ワークフロー自動生成の応用分野

ワークフロー自動生成の取り組みは、ビジネスドキュメント業務以外にも応用が期待されています。
例えば、以下のような分野での活用が考えられます。
*   AI Agentのワークフロー (複雑な指示の多段階処理)
*   データパイプライン (複雑なデータ処理フローの自動化)
*   機械学習パイプライン (モデル開発プロセスの効率化)
*   CI/CDパイプライン (ソフトウェア開発プロセスの最適化)
これらの分野での成功は、さらに広範囲の処理手順の自動化につながる可能性があります。

---
引用した記事:
*   LayerX エンジニアブログ: https://tech.layerx.co.jp/2025/05/workflow-auto-generation/
*   窓の杜: https://forest.watch.impress.co.jp/docs/serial/developer_ai/1588993.html