提案書作成をAI化してエンジニアの営業工数を80%削減した話
フリーランスエンジニアや受託開発会社に勤務している方なら、提案書作成の大変さを実感していると思います。案件の詳細をヒアリングしてから提案書が完成するまで、平均で3〜5時間。月に3〜5件の案件を抱えていれば、営業資料作成だけで丸2〜3日が消費されてしまいます。
この記事では、AIを活用して提案書作成の工数を80%削減した実例と、その仕組みを紹介します。
なぜ提案書作成に時間がかかるのか
提案書作成が時間を要する理由は、単なる「文字入力」ではなく、以下のプロセスが必要だからです。
- 顧客情報の整理 - ヒアリング内容から要件をまとめる
- 提案内容の構成 - どのような提案が最適かを検討
- 文案の作成 - プロ品質の文章を一文一句考える
- デザイン・レイアウト - 見栄えの良いドキュメントに整形
- レビュー・修正 - 誤字脱字や論理矛盾のチェック
特に2〜3番目のステップが時間を消費します。顧客の要件から「どう売るか」を考える営業的思考と、それを文章化する作業が同時進行するため、効率が落ちるのです。
AI提案書生成システムの設計思想
効率化のポイントは「入力フォーマットの最小化」と「テンプレートベースの自動生成」です。
必須入力項目の厳選
提案書に必要な情報を、以下の6項目に絞りました。
- 顧客企業名
- 顧客の課題・ニーズ
- 提案するサービス・技術スタック
- 期間・工数
- 料金
- あなたの会社/個人の強み
ここが重要です。入力項目が少ないほど、ユーザーの離脱率は下がります。
プロンプト設計のコツ
ChatGPT APIやClaudeを活用する場合、プロンプトの質が出力品質を左右します。以下が効果的なプロンプトテンプレートです。
def generate_proposal(customer_info):
prompt = f"""
あなたはプロのビジネスコンサルタントです。以下の情報から、
プロフェッショナルな提案書を作成してください。
【顧客情報】
企業名: {customer_info['company']}
課題: {customer_info['challenges']}
要望: {customer_info['requirements']}
【提案内容】
サービス: {customer_info['service']}
技術スタック: {customer_info['tech_stack']}
期間: {customer_info['duration']}
料金: {customer_info['price']}
【提案元】
会社/個人名: {customer_info['provider_name']}
強み: {customer_info['strengths']}
上記情報をもとに、以下の構成で提案書を作成してください:
1. エグゼクティブサマリー(100字程度)
2. 顧客の課題分析(150字程度)
3. 提案内容と実装計画(200字程度)
4. 料金体系と支払い条件
5. 期待できる効果
6. よくある質問への回答
提案書は、顧客が即座に理解でき、決裁者に上申しやすい内容にしてください。
"""
return prompt
このプロンプトには以下の工夫が含まれています:
- ロール設定 - 「プロのコンサルタント」と指定することで出力品質向上
- 構成の明示 - 生成する構成を事前に指定(出力フォーマット統一)
- 文字数指定 - セクションごとにボリューム指定(冗長性排除)
- 意図明記 - 「決裁者に上申しやすい」という目的を明確化
実装例:Next.jsでのシステム構築
実際に構築したシステムの主要な実装部分を紹介します。
// pages/api/generate-proposal.ts
import { OpenAI } from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
interface ProposalInput {
company: string;
challenges: string;
requirements: string;
service: string;
tech_stack: string;
duration: string;
price: string;
provider_name: string;
strengths: string;
}
export default async function handler(req, res) {
if (req.method !== 'POST') {
return res.status(405).json({ error: 'Method not allowed' });
}
try {
const input: ProposalInput = req.body;
const prompt = `あなたはプロのビジネスコンサルタントです...
${Object.entries(input).map(([key, value]) => `${key}: ${value}`).join('\n')}
`;
const response = await openai.chat.completions.create({
model: 'gpt-4',
messages: [
{
role: 'system',
content: 'You are a professional business proposal writer.',
},
{
role: 'user',
content: prompt,
},
],
temperature: 0.7,
max_tokens: 2000,
});
const proposal = response.choices[0].message.content;
res.status(200).json({ proposal });
} catch (error) {
res.status(500).json({ error: 'Failed to generate proposal' });
}
}
フロントエンドの入力フォームもシンプルに設計しています:
// components/ProposalForm.tsx
const [formData, setFormData] = useState({
company: '',
challenges: '',
requirements: '',
service: '',
tech_stack: '',
duration: '',
price: '',
provider_name: '',
strengths: '',
});
const handleSubmit = async (e) => {
e.preventDefault();
setLoading(true);
const response = await fetch('/api/generate-proposal', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData),
});
const data = await response.json();
setProposal(data.proposal);
setLoading(false);
};
実運用で得た知見
実際に運用開始後、以下のポイントが重要だったことがわかりました。
1. 初回生成後の編集工数も考慮
AIが生成した提案書は「70〜80%完成度」です。最終的には必ず人間が目を通し、顧客に合わせた微調整が必要です。フローは:
- 初期作成: AIで5分
- 修正・調整: 人間で20分
- レビュー: 15分
合計40分で完成 - 従来の3時間から87%削減
2. 顧客情報の入力精度が鍵
AIの出力品質は入力の詳細度に比例します。「課題」や「要望」は箇条書きではなく、可能な限り詳しく入力すると、より的確な提案が生成されます。
3. テンプレートのカスタマイズ
業界によって提案書の構成は異なります。SaaS営業と受託開発では異なる構成が最適なため、複数のテンプレートプロンプトを用意することをおすすめします。
導入による実際の効果測定
3ヶ月間の運用結果:
| 指標 | 導入前 | 導入後 | 改善度 |
|---|---|---|---|
| 1件あたり作成時間 | 3時間 | 40分 | 78%削減 |
| 月間提案書作成数 | 4件 | 8件 | 100%増加 |
| 提案書承認率 | 35% | 42% | +7pt |
| エンジニアの営業時間 | 12時間/月 | 2.5時間/月 | 79%削減 |
承認率が上がった理由は、AIが生成する提案書の構成が一貫性あり、かつロジカルだからと考えられます。
まとめ・ツール紹介
本記事で紹介した手法を手軽に試したい方には、ProposalAIが便利です。
設定不要ですぐに使えます。
提案書作成の自動化は、単なる時間短縮ではなく、エンジニアがコア業務に集中できる環境を作ることです。月に10時間以上を営業資料作成に費やしているなら、AIの活用を検討する価値は十分あります。