【要約】提案書作成をAI化してエンジニアの営業工数を削減した実装 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
エンジニアが、受託開発やスタートアップの現場において、技術業務以外の営業サポートに時間を奪われている。
- ・顧客ごとに文言を調整する作業に多大な工数がかかる。
- ・WordやGoogleドキュメントを用いた手動の編集・書き出しが非効率である。
- ・技術責任者のリソースが、定型的なドキュメント作成に浪費されている。
// Approach
開発者は、LLMの出力の不安定さを回避するため、構造化データを用いた二段階のパイプラインを採用した。
- ・Claude API (claude-3-5-sonnet) を用い、プロンプトにより構造化されたJSONを生成する。
- ・@react-pdf/renderer を活用し、Reactコンポーネント形式でJSONデータをPDFへ描画する。
- ・Stripe Webhookを利用し、決済完了後にPDFダウンロードを解放する非同期な課金フローを構築する。
// Result
本システムの実装により、エンジニアの工数削減と、低コストでのドキュメント生成の両立が可能となった。
- ・1提案書あたりの生成コストを$0.01〜$0.02程度に抑え、高い収益性を確保できる。
- ・Few-shotプロンプトや業界別テンプレートにより、出力品質の安定化を実現している。
- ・見積書や要件定義書など、他のビジネスドキュメントへの応用可能性を示した。
Senior Engineer Insight
> 本実装の肝は、LLMに直接レイアウトを任せない設計思想にある。LLMの出力は非決定的であり、直接HTMLやPDFを生成させると構造が崩れるリスクが高い。一度JSONでスキーマを固定し、レンダリング層を分離する手法は、生成AIアプリケーションにおける極めて実践的な解である。ただし、Vercelのタイムアウト制約や、LLMの出力欠損への対策、フォントのレイテンシ管理など、実戦投入には細かなチューニングが不可欠である。