案件のヒアリングメモを渡すと、課題から解決方針までを書いた提案書ドラフトと、明細・税・合計まで積み上げた見積書ドラフトを自動で書き出すシステムを開発しました。出力はそのまま Google Docs / Slides / Excel に流し込める形で返します。
このページでは、何を作ったのか、どう動くのか、そして実装上どこを工夫したのかを紹介します。
効果を示す数値は、受託・サービス業の提案作成を想定したモデルケースに基づく想定値です(特定企業の実測ではありません)。入出力サンプルには架空の「株式会社あおぞらフーズ」を使用し、単価もすべて架空の想定値です。
何を解決するためのものか
引き合いが来てから提案書と見積書の初稿を出すまでが、いつも一番のボトルネック——。受託やサービス業の現場でよく聞く声です。
提案書をゼロから書き、過去の見積ファイルを開いて項目をコピー&改変し、単価と工数を入れて合計を計算する。この一連の初稿づくりに毎回半日(約4時間)かかります。さらに、過去ファイルを使い回すと見積項目の抜け・古い単価の混入が起きやすく、提案の質も担当者の余力次第でばらつきます。引き合いへの初稿レスポンスが翌日になれば、それだけで失注のリスクも上がります。
このシステムは、その「引き合いから提案・見積の初稿を出すまで」を、ヒアリングメモを渡すだけで終わらせることを狙ったものです。
どんなシステムか
ポイントは、AIに「それっぽい提案文と金額」をまとめて書かせるのではなく、文章の判断と、数字の計算を分けて担当させることです。

- 提案書ドラフト — 背景・課題・解決方針・実施内容・体制・スケジュール・費用の7章構成
- 見積書ドラフト — 明細・小計・消費税・合計に加え、前提・除外・有効期限・値引き欄まで備えた表
- 構造化データ — Docs / Slides に流し込める Markdown と、Excel / Sheets に貼れる CSV / xlsx
提案文を生成してくれるツールは増えましたが、現場で本当に困るのは「文章はそれっぽいのに、見積の数字が毎回変わる・項目が抜ける」ことです。このシステムは、文章はAIに、金額は決まった処理に、と役割を割り切っています。
入力と出力(実際のサンプル)
利用者の操作は、いつもの画面にヒアリングメモを貼って「生成」を押すだけ。新しい見積ソフトを覚える必要はありません。

入力(案件のヒアリングメモ・一部)
クライアント: 株式会社あおぞらフーズ(飲食・食品卸)
相談内容: 受発注と在庫管理が紙とExcelで属人化している。
担当者しか状況が分からず、欠品と過剰在庫が両方起きている。
Webで受発注・在庫を一元管理する仕組みがほしい。
希望サービス: 要件定義 / UI・UXデザイン / フロントエンド実装 /
バックエンドAPI実装 / テスト
整理されていない、素のヒアリングメモです。課題は書かれていますが、章立ても金額もまだありません。
出力1(自動生成された提案書ドラフト・抜粋)

# 株式会社あおぞらフーズ 様 ご提案書(ドラフト)
## 1. 背景
受発注・在庫管理が紙とExcelに依存し、担当者への属人化が進んでいる。
## 2. 課題
- 在庫状況が担当者しか把握できず、欠品と過剰在庫が同時に発生
- 紙・Excel運用のため、受発注の履歴が追えない
## 3. 解決方針
Webベースの受発注・在庫一元管理システムを構築し、
リアルタイムな在庫可視化と受発注履歴の蓄積を実現する。
(以下、4. 実施内容 / 5. 体制 / 6. スケジュール / 7. 費用 と続く)
出力2(自動生成された見積書ドラフト・抜粋)

| 項目 | 数量 | 単位 | 単価(円) | 小計(円) |
|---|--:|:--|--:|--:|
| 要件定義ワークショップ | 2 | 式 | 200,000 | 400,000 |
| 要件定義書作成 | 1 | 式 | 150,000 | 150,000 |
| UI/UXデザイン | 2 | 画面 | 40,000 | 80,000 |
| フロントエンド実装 | 5 | 人日 | 50,000 | 250,000 |
| バックエンドAPI実装 | 9 | 人日 | 55,000 | 495,000 |
| インフラ構築 | 3 | 式 | 180,000 | 540,000 |
| テスト・QA | 8 | 人日 | 45,000 | 360,000 |
| 保守運用 | 5 | 月 | 80,000 | 400,000 |
小計 2,675,000 円
消費税(10%) 267,500 円
合計 2,942,500 円
(前提・除外・有効期限・値引き欄つき)
提案は Docs / Slides にそのまま流し込める Markdown で、見積は Excel / Sheets に貼れる CSV・xlsx で同時に出力します。
実装で工夫したこと
ここがこのシステムの肝です。設計の中心にあるのは、文章の判断はAIに、数字の正確さは決まった処理にという役割分担です。

1. 金額の計算をAIにやらせない
見積の積算・消費税・端数処理(円未満切り捨て)・合計は、あえてAIに任せていません。金額計算をAIにさせると、同じ入力でも合計が毎回ぶれて、見積書として信用できなくなるためです。AIが担当するのは「課題の抽出」「提案文の執筆」「見積項目の引き当て候補を挙げる」工程まで。実際の積算・税・整形・検査は、すべてローカルの決定的なコードに分離しました。これにより、同じヒアリングメモなら毎回まったく同じ提案・見積が出ます(自動テストで金額を固定して検証できます)。
2. 料金テンプレートは差し替え前提で外に出す
「どのサービスがいくらか」という単価・工数の係数は、コードに埋め込まず設定ファイル(service_master.yaml)に外出ししています。御社の料金体系を持ち込めば、そのまま御社仕様の見積が出る構造です。サンプルの単価はすべて架空の想定値で、ここを差し替えるだけで自社の見積に乗り換えられます。
3. 「初稿の抜け」をシステム自身が検査する
生成した提案・見積を、検証用の処理(フック)が自分でチェックします。「クライアント名」「課題」「解決方針」「費用章」「見積明細」「小計・税・合計の整合」「前提・有効期限」が揃っているかを機械的に確認し、欠けていれば処理は止めずに警告を出します(あくまで初稿前提のため)。実際の実行ログがこちらです。
$ python3 -m proposal_estimate.hooks.check_draft --result ./out/result.json
警告: 「除外条件」が記載されていません。
警告: 見積の有効期限が未設定です。
検証フック: 2 件の欠落を検出しました。(終了コード: 1)
人が目視で抜けを探さなくても、機械が拾ってくれます。
4. B2B文書として「素人っぽさ」を潰す
見積テーブルは、金額を**右寄せ・桁区切り・等幅数字(tabular-nums)**で揃え、見出しの視覚階層を整え、スマホ幅では横スクロールで崩れないようにしています。社外に出す文書として「動くけれど素人っぽい」状態を、見た目のレビューを繰り返して出荷できる水準まで詰めました。
成果(想定モデルケース)
項目 | 導入前(Before) | 導入後(After) |
|---|---|---|
提案+見積の初稿作成 | 提案をゼロから書き、過去ファイルを改変して見積 | ヒアリングメモを渡して、結果を確認・微修正 |
かかる時間 | 約4時間(半日) | 約30分(生成数分+確認・修正) |
見積項目・単価 | 過去ファイル流用で抜け・古い単価が混入 | 料金テンプレ参照で機械的に引き当て |
提案の品質 | 担当・余力でばらつく | テンプレ+積算ロジックで平準化 |
初稿レスポンス | 半日〜翌日 | 当日中(数十分) |
引き合いが多いチームほど、初稿が速く・安定して出る効果は積み重なります。
上記は T-WORKS の提案作成を想定したモデルケースの効果です。実際の効果は案件の複雑さ・料金テンプレの整備度によって変わります。数値は想定値です。
データの扱い
提案・見積の生成を端末内で完結させる構成にもできるため、案件情報を外部に出さずに運用することも可能です。サンプルはすべて架空のデータで、実在の社名・個人名・取引先・実単価は含みません。
御社の提案・見積でも
このシステムは特定のフォーマットに縛られず、御社の料金テンプレートや章立て・専門用語に合わせて形を変えられます。出力はそのまま Google Docs / Slides / Excel に流し込めるため、既存のワークフローに「乗せる」形で導入できます。
「引き合いから初稿を出すまでを速くしたい」「見積の項目漏れ・単価ミスをなくしたい」——そんな課題があれば、お気軽にご相談ください。
