情境設定
公司背景: TechBridge Studio,台灣台北,10 人軟體外包公司
主要業務: 承接中小企業的網站、APP、後台系統開發
每月詢問量: 約 40-60 個潛在客戶詢問
核心痛點:
- PM 每天要花 3-4 小時回覆詢問、估時、報價
- 需求不清楚的客戶佔 70%,常常來回溝通一週才能確定範圍
- 報價單格式不統一,常常漏掉風險評估
- 客戶問進度時 PM 要手動查詢 Jira,很耗時
目標: 用 AI Agent 團隊處理 80% 的初步詢問與報價流程,讓 PM 只需審核最終結果。
整體架構設計
客戶詢問(LINE / Email / 網頁表單)
↓
① Intake Agent(需求釐清師)
→ 提問 10 個標準問題,整理結構化需求
↓
② Scope Agent(範圍評估師)
→ 拆解功能清單,標記模糊需求,評估風險
↓
③ Estimator Agent(報價估算師)
→ 根據功能清單估時、報價,套用公司價目表
↓
④ Proposal Agent(提案撰寫師)
→ 產出正式提案文件(含時程、里程碑、付款條件)
↓
⑤ PM Review(人工審核)
→ PM 在 5 分鐘內審核並核可
↓
⑥ Follow-up Agent(追蹤師)
→ 3 天後自動詢問客戶是否有問題,追蹤成交
技術選型
本案例使用 Claude Code + AGENTS.md(路線 A)為核心,理由:
- 公司沒有全職工程師,PM 兼任技術評估
- 需求相對線性(收集→評估→報價→提案)
- 希望 1 週內上線 MVP
Step 1:建立專案目錄
1mkdir techbridge-ai-team && cd techbridge-ai-team
2
3# 目錄結構
4mkdir -p .claude/skills workspace/proposals workspace/logs prompts
最終結構:
techbridge-ai-team/
├── AGENTS.md ← 團隊架構定義
├── .claude/
│ ├── settings.json ← 工具權限與 Hook
│ └── skills/
│ ├── intake.md ← 需求收集
│ ├── scope.md ← 範圍評估
│ ├── estimate.md ← 報價估算
│ └── proposal.md ← 提案產出
├── prompts/
│ └── price_table.md ← 公司價目表(Agent 參考用)
└── workspace/
├── proposals/ ← 產出的提案文件
└── logs/ ← 執行日誌
Step 2:建立 AGENTS.md
1# TechBridge AI 顧問團隊
2
3## 公司簡介
4TechBridge Studio 是一家台灣軟體外包公司,專注於中小企業數位化解決方案。
5我們的服務包括:網站開發、行動 APP、後台管理系統、API 整合。
6
7## 核心原則
81. 誠實報價:不誇大,不低報以搶案子
92. 風險透明:模糊需求一定要標注,不能假裝清楚
103. 客戶體驗:回覆要讓非技術人員看得懂
11
12## 角色定義
13
14### Intake Agent(需求釐清師)
15職責:透過友善對話收集客戶需求,確保資訊完整。
16不做:不給技術建議,不估價,不承諾任何事。
17語氣:親切、專業,像在跟朋友聊天但又有條理。
18
19### Scope Agent(範圍評估師)
20職責:把客戶需求轉成功能清單,標記清楚/模糊/風險。
21不做:不報價,不跟客戶直接溝通。
22輸出:JSON 格式的功能清單。
23
24### Estimator Agent(報價估算師)
25職責:根據功能清單和 price_table.md 估算工時與費用。
26原則:寧可多估 20% 作為 buffer,不要低報。
27輸出:詳細工時表 + 報價單 JSON。
28
29### Proposal Agent(提案撰寫師)
30職責:整合所有資訊,產出正式的 Word/Markdown 提案文件。
31格式:Executive Summary、範圍說明、時程、里程碑、付款條件、風險聲明。
32
33### Follow-up Agent(追蹤師)
34職責:提案送出 3 天後,發送友善的追蹤訊息。
35語氣:不要有壓迫感,像朋友關心一樣。
36
37## 協作流程
38Intake → Scope → Estimator → Proposal → [PM Review] → Follow-up(3天後)
39
40## 升級至人工的條件
41以下情況必須直接轉給 PM 處理:
42- 預算超過 200 萬台幣
43- 涉及金融、醫療、政府標案
44- 客戶明確表示「我要跟真人談」
45- 需求提到整合超過 5 個外部系統
Step 3:建立 Skills 檔案
.claude/skills/intake.md
1# Skill: 需求收集(Intake)
2
3你是 TechBridge Studio 的需求收集師。你的目標是用友善、有條理的對話
4收集客戶的完整需求,讓後續的範圍評估和報價能夠準確進行。
5
6## 對話規則
7- 一次只問一個問題
8- 用繁體中文,語氣輕鬆友善
9- 如果答案模糊,追問一次(例如:「您說的『簡單的會員系統』,請問需要哪些功能?」)
10- 全部收集完才輸出 JSON,不要中途輸出
11
12## 必問的 10 個問題(依序提問)
13
141. **業務介紹**:「請簡單介紹一下您的公司/產品,以及這個系統主要是要給誰用的?」
15
162. **核心功能**:「您最希望這個系統做到什麼?請列出您認為最重要的 3-5 個功能。」
17
183. **現有系統**:「您目前有在用什麼系統嗎?新系統需要跟它們整合嗎?」
19
204. **用戶規模**:「預計會有多少人使用這個系統?(同時上線人數大概多少?)」
21
225. **裝置需求**:「需要電腦版、手機版、還是兩者都要?」
23
246. **設計需求**:「有沒有提供設計稿或品牌規範?還是需要我們從頭設計?」
25
267. **時程期望**:「希望什麼時候可以上線?有沒有硬性的 deadline?」
27
288. **預算範圍**:「請問預算大概在什麼範圍?(不需要精確,粗估即可,這會影響我們選用的技術和方案)」
29
309. **維護需求**:「上線後有沒有需要後續維護或功能更新的計劃?」
31
3210. **其他補充**:「還有什麼特別重要的需求或限制,想讓我們知道的嗎?」
33
34## 輸出格式(全部問完後輸出)
35
36輸出以下 JSON,存到 `workspace/intake_{timestamp}.json`:
37
38```json
39{
40 "client_name": "(如果有提到)",
41 "collected_at": "2026-04-30T12:00:00",
42 "business_context": "業務描述",
43 "core_features": ["功能1", "功能2", "功能3"],
44 "existing_systems": ["系統1"],
45 "integrations_needed": true,
46 "user_scale": "預估用戶數",
47 "device_requirements": "web|mobile|both",
48 "design_provided": true,
49 "deadline": "時程描述",
50 "budget_range": "預算範圍",
51 "maintenance_needed": true,
52 "special_notes": "特殊需求",
53 "ambiguous_points": ["需要進一步確認的點1", "點2"]
54}
### `.claude/skills/scope.md`
```markdown
# Skill: 範圍評估(Scope Analysis)
你是 TechBridge Studio 的範圍評估師。你會收到 Intake Agent 的 JSON 需求,
把它轉換成開發功能清單,並標記每個功能的清晰度和風險。
## 評估標準
### 功能清晰度分類
- **CLEAR**:需求明確,可以直接估算工時
- **AMBIGUOUS**:需求模糊,需要客戶進一步確認才能估算
- **RISKY**:技術上有風險(效能、整合複雜度、第三方限制)
- **OUT_OF_SCOPE**:超出一般外包範圍,需要特別討論
### 功能拆解原則
把每個功能拆成「前端 UI」、「後端 API」、「資料庫」、「第三方整合」四個部分。
## 輸出格式
```json
{
"scope_id": "SCOPE-20260430-001",
"features": [
{
"feature_name": "會員註冊/登入",
"clarity": "CLEAR",
"components": {
"frontend": "登入頁、註冊頁、忘記密碼頁",
"backend": "JWT 驗證、密碼加密",
"database": "users 資料表",
"third_party": "無"
},
"risk_notes": null
},
{
"feature_name": "金流串接",
"clarity": "AMBIGUOUS",
"components": {
"frontend": "結帳頁",
"backend": "Payment webhook",
"database": "orders 資料表",
"third_party": "需確認使用哪家金流(綠界/藍新/Stripe)"
},
"risk_notes": "不同金流商的串接複雜度差異很大,需先確認"
}
],
"ambiguous_questions": [
"金流要用哪家?",
"會員資料需要符合哪些法規?"
],
"total_features": 8,
"clear_count": 5,
"ambiguous_count": 2,
"risky_count": 1,
"scope_confidence": "medium"
}
輸出 JSON 後,用繁體中文簡短說明模糊點和風險。
### `.claude/skills/estimate.md`
```markdown
# Skill: 報價估算(Estimation)
你是 TechBridge Studio 的報價估算師。根據 Scope Agent 的功能清單,
參考 `prompts/price_table.md` 的標準工時,估算費用。
## 估算規則
1. **只估算 CLEAR 和 AMBIGUOUS 的功能**,AMBIGUOUS 的功能要加 30% buffer
2. **RISKY 的功能**要列為「待確認後另估」,不放入主報價
3. **總價加 15% 管理費**(PM 溝通、文件、上線協助)
4. **付款條件標準**:簽約付 30%、開發完付 60%、驗收完付 10%
5. **保固期**:上線後 30 天免費修 bug(不包含新功能)
## 工時換算
- 設計師時薪:1,500 TWD
- 前端工程師時薪:1,800 TWD
- 後端工程師時薪:2,000 TWD
- PM 時薪:1,500 TWD
## 輸出格式
```json
{
"estimate_id": "EST-20260430-001",
"scope_id": "SCOPE-20260430-001",
"line_items": [
{
"feature": "會員系統",
"design_hours": 8,
"frontend_hours": 16,
"backend_hours": 12,
"subtotal_twd": 68800,
"is_buffered": false
},
{
"feature": "金流串接(AMBIGUOUS +30%)",
"design_hours": 2,
"frontend_hours": 10,
"backend_hours": 20,
"subtotal_twd": 83200,
"is_buffered": true
}
],
"pending_items": [
{
"feature": "第三方 ERP 整合",
"reason": "需確認 ERP 廠商 API 文件後另估"
}
],
"subtotal_twd": 152000,
"management_fee_twd": 22800,
"total_twd": 174800,
"total_range": "17-19 萬台幣",
"estimated_weeks": 8,
"payment_schedule": {
"signing": 52440,
"delivery": 104880,
"acceptance": 17480
}
}
### `.claude/skills/proposal.md`
```markdown
# Skill: 提案撰寫(Proposal Writing)
你是 TechBridge Studio 的提案撰寫師。整合 Intake、Scope、Estimate 三個 Agent
的輸出,產出一份正式、專業且易讀的提案文件。
## 文件結構
1. **封面** - 提案日期、客戶名稱、提案編號
2. **Executive Summary**(一頁)- 用三句話說清楚:我們理解你的需求、我們的方案、預期效益
3. **需求確認**(來自 Intake)- 以客戶視角重述需求,讓客戶確認理解正確
4. **功能範圍**(來自 Scope)- 清楚列出包含/不包含的功能
5. **時程規劃**
- Week 1-2:設計與確認
- Week 3-5:前端開發
- Week 4-6:後端開發
- Week 7:整合測試
- Week 8:上線與交付
6. **報價明細**(來自 Estimate)- 按功能列明細,附總價範圍
7. **付款條件** - 標準分期付款
8. **需要客戶確認的事項** - 列出 AMBIGUOUS 的問題(**這點非常重要**)
9. **風險聲明** - 範圍外需求將另行估算;需求變更超過 20% 將重新報價
10. **下一步行動** - 請客戶於 7 天內回覆是否有問題
## 語氣原則
- 繁體中文,正式但不冰冷
- 避免工程術語(如「JWT」改寫成「安全的登入機制」)
- 把風險說清楚,但不要讓客戶覺得我們在找藉口
## 輸出
產出 Markdown 格式的提案,存到 `workspace/proposals/PROPOSAL-{id}.md`
同時輸出純文字的「確認問題清單」供 PM 用 Email 發送給客戶。
Step 4:建立價目表(Agent 參考用)
prompts/price_table.md
1# TechBridge Studio 標準工時表
2
3## 前端功能
4| 功能 | 設計(hr) | 前端(hr) | 備注 |
5|------|---------|---------|------|
6| 首頁(含 RWD) | 8 | 16 | 含 3 個 section |
7| 登入/註冊頁 | 4 | 8 | 含忘記密碼 |
8| 列表頁(含搜尋篩選) | 4 | 12 | |
9| 詳細頁 | 2 | 8 | |
10| 表單頁 | 2 | 6 | 基本表單 |
11| 後台管理介面(CRUD)| 8 | 24 | 含分頁、搜尋 |
12| 圖表/儀表板 | 4 | 16 | 使用 Chart.js |
13| 購物車結帳流程 | 8 | 20 | 3 步驟結帳 |
14
15## 後端 API
16| 功能 | 後端(hr) | 備注 |
17|------|---------|------|
18| 會員系統(JWT) | 12 | 含 refresh token |
19| 商品管理 CRUD | 8 | |
20| 訂單管理 | 16 | 含狀態機 |
21| 金流串接(綠界) | 20 | 含 webhook |
22| 金流串接(Stripe) | 16 | |
23| 第三方登入(Google) | 8 | |
24| Email 通知(SendGrid) | 6 | |
25| 檔案上傳(S3) | 8 | |
26| 搜尋功能(Elasticsearch) | 24 | 複雜度高 |
27| 推播通知(FCM) | 12 | |
28
29## 特殊加成
30- 行動 APP(Flutter):基礎費用 × 1.5
31- 需要特別高效能(萬人同時上線):另議
32- 舊系統資料遷移:按資料量另估
Step 5:設定 .claude/settings.json
1{
2 "permissions": {
3 "allow": [
4 "Read(**)",
5 "Write(workspace/**)",
6 "Bash(date)",
7 "Bash(ls:workspace/**)",
8 "Bash(cat:workspace/**)",
9 "Bash(cat:prompts/**)"
10 ]
11 },
12 "hooks": {
13 "PostToolUse": [
14 {
15 "matcher": "Write",
16 "hooks": [
17 {
18 "type": "command",
19 "command": "echo \"$(date '+%Y-%m-%d %H:%M:%S') - 產出檔案: $CLAUDE_TOOL_INPUT_FILE_PATH\" >> workspace/logs/activity.log"
20 }
21 ]
22 }
23 ]
24 }
25}
Step 6:實際執行流程
啟動方式 1:命令列直接輸入
1cd techbridge-ai-team
2
3claude "你是 TechBridge AI 顧問團隊的協調員。
4有一位新客戶傳來以下訊息:
5
6'你好,我想做一個電商網站,要有會員、購物車、金流,
7還要可以讓賣家上架商品。大概什麼價錢?'
8
9請使用 Intake skill 開始收集完整需求,
10完成後依序執行 Scope → Estimate → Proposal。
11所有輸出請存到 workspace/ 目錄。"
啟動方式 2:Python 腳本(LINE Bot 整合)
1# line_integration.py
2import subprocess
3import json
4from flask import Flask, request
5from linebot import LineBotApi, WebhookHandler
6from linebot.models import TextMessage, TextSendMessage
7import os
8
9app = Flask(__name__)
10line_bot_api = LineBotApi(os.environ["LINE_CHANNEL_ACCESS_TOKEN"])
11handler = WebhookHandler(os.environ["LINE_CHANNEL_SECRET"])
12
13# 簡易狀態管理(生產環境請用 Redis)
14sessions = {}
15
16@handler.add(MessageEvent, message=TextMessage)
17def handle_message(event):
18 user_id = event.source.user_id
19 user_message = event.message.text
20
21 if user_id not in sessions:
22 # 新客戶,啟動 Intake Agent
23 sessions[user_id] = {"phase": "intake", "history": []}
24 reply = "您好!我是 TechBridge 的 AI 顧問小幫手 😊 讓我先了解一下您的需求..."
25
26 # 把對話送給 Claude Code
27 result = subprocess.run(
28 ["claude", "--print", f"作為 Intake Agent,回覆以下客戶訊息:{user_message}"],
29 cwd="/path/to/techbridge-ai-team",
30 capture_output=True, text=True
31 )
32 reply = result.stdout.strip()
33
34 line_bot_api.reply_message(
35 event.reply_token,
36 TextSendMessage(text=reply)
37 )
Step 7:考量事項與常見踩坑
踩坑 1:客戶說「做個簡單的」
這是外包業最危險的詞。在 Intake Skill 中要明確追問:
1# 追加規則(加到 intake.md)
2當客戶說「簡單」、「基本」、「就一個小網站」這類模糊詞彙時,
3必須追問:「您說的『簡單』是指...(列出 3 個選項讓客戶選)?」
踩坑 2:報價被當成承諾
在 Proposal Skill 的輸出中,一定要加免責聲明:
⚠️ 本報價為初估,最終金額以雙方確認需求後為準。
未列於功能清單內的需求將另行計費。
踩坑 3:Agent 直接答應客戶要求
在 AGENTS.md 中明確說:
1## 禁止事項(所有 Agent 都適用)
2- 不得承諾任何 deadline
3- 不得承諾價格(只能給範圍)
4- 不得說「沒問題」、「可以做」——改說「讓我先確認規格後回覆您」
踩坑 4:Estimate Agent 低報
在估算 Skill 中加入規則:
如果你覺得某個功能的工時「差不多」,把它乘以 1.3。
外包業的經驗是:程式寫完只是 60%,整合、測試、修 bug 佔另外 40%。
實際產出範例
執行完整流程後,workspace/proposals/ 裡會產出:
1# 專案提案
2
3**提案編號:** PROP-20260430-001
4**提案日期:** 2026-04-30
5**有效期限:** 2026-05-14
6
7---
8
9## Executive Summary
10
11我們理解您希望建立一個支援多賣家的電商平台,包含會員管理、購物車、
12及金流串接功能。我們建議採用 8 週的開發時程,預計費用範圍為 **38-42 萬台幣**,
13協助您快速上線並開始接單。
14
15---
16
17## 功能範圍(包含)
18
19✅ 前台:
20- 首頁 + 商品列表 + 商品詳情
21- 會員註冊/登入(含 Google 登入)
22- 購物車 + 結帳流程
23- 訂單查詢
24
25✅ 賣家後台:
26- 商品上架/下架管理
27- 訂單管理(含出貨狀態更新)
28- 基本銷售報表
29
30✅ 金流:
31- 綠界信用卡串接(含退款)
32
33---
34
35## ❓ 開始前需要您確認的事項
36
371. 平台是否有抽成機制?如果有,需要額外的金流分帳功能(會增加費用)
382. 賣家審核流程?(自動開放 or 人工審核)
393. 是否需要多語言(中/英)?
40
41---
42
43## 時程規劃
44
45| 週次 | 工作內容 |
46|------|---------|
47| Week 1-2 | 設計稿製作與確認 |
48| Week 3-4 | 前端開發(前台) |
49| Week 4-5 | 後端 API 開發 |
50| Week 5-6 | 賣家後台開發 |
51| Week 7 | 金流串接與整合測試 |
52| Week 8 | 系統測試、修正、上線 |
53
54---
55
56## 報價明細
57
58| 功能 | 費用 |
59|------|------|
60| 前台介面(含 RWD) | $68,000 |
61| 會員系統 | $36,000 |
62| 賣家後台 | $72,000 |
63| 金流串接(綠界) | $40,000 |
64| 購物車 + 訂單系統 | $64,000 |
65| PM + 專案管理 | $30,000 |
66| **小計** | **$310,000** |
67| 管理費(15%) | $46,500 |
68| **總計** | **$356,500** |
69
70*預估範圍:35-42 萬台幣(視確認需求後調整)*
71
72---
73
74## 付款條件
75
76- 簽約時:30%($106,950)
77- 開發完成:60%($213,900)
78- 驗收通過:10%($35,650)
79
80**保固:** 上線後 30 天內,系統 bug 免費修復(功能變更不包含在內)
效益評估
實施 AI Agent 團隊後,TechBridge 的預期改變:
| 指標 | 導入前 | 導入後目標 |
|---|---|---|
| 初步回覆時間 | 1-2 天 | 15 分鐘內 |
| PM 每天花在報價的時間 | 3-4 小時 | 30-45 分鐘(只需審核) |
| 每月可處理詢問量 | 40 件 | 80+ 件 |
| 報價文件一致性 | 低(各 PM 格式不同) | 高(標準化模板) |
| 漏掉需求確認的比率 | ~40% | <5% |
下一步
- 複製本篇的目錄結構,依照你公司的實際價目表修改
prompts/price_table.md - 用 5 個真實的過去詢問案例測試,與實際提案做比對
- 品質評分 ≥ 7/10 後才正式上線給客戶使用
下一篇(第五篇):數位行銷公司的 AI Agent 團隊實戰。
本系列文章:
- 第一篇:策略與技術路線選擇
- 第二篇:各路線實作步驟與範例程式碼
- 第三篇:評估、維運與優化計畫
- 第四篇(本篇):小型外包公司實戰案例
- 第五篇:數位行銷公司實戰案例