策略制定:從診斷到決策的關鍵一步
策略制定:從診斷到決策的關鍵一步
驗證技能覆蓋後得到一堆 MISSING/WEAK,然後呢?盲目補齊每個缺口會讓履歷失焦,甚至引入不真實內容。本文分享如何用「策略制定」把診斷結果轉成可執行決策。
問題:驗證完然後呢?
假設 verify 的結果是:
Python → COVERED ✅
GraphQL → MISSING 🔴
Kubernetes → WEAK 🟡
Leadership → IMPLIED 🔵
Java → MISSING 🔴
直覺反應是「趕快補 GraphQL 和 Java」。但這樣做可能:
- 履歷失焦 - 硬塞不擅長的內容,弱化你真正的優勢
- 不真實內容 - 為了補齊而編造經驗,面試時會露餡
- 浪費時間 - 某些技能可能根本不是這個職位的核心
解決方案:四類策略分類
驗證結果
↓
┌─────────────────────────────────────┐
│ 策略分類器 (Strategy Classifier) │
│ │
│ MISSING → 核心缺失 or 策略性忽略? │
│ WEAK → 需要補強 │
│ IMPLIED → 可遷移技能 │
│ COVERED → 已覆蓋 │
└─────────────────────────────────────┘
↓
四類策略 + 具體行動 + 下一步命令
四類策略詳解
1. 核心缺失 (Core MISSING)
判定條件:
- JD 明確要求且是硬門檻
- 你確實有相關經驗,只是素材庫沒記錄
- evidence_count = 0
行動:
用教練式提問挖掘真實經驗,寫成 STAR 後入庫
→ ingest --type story --skills "Kubernetes"
教練式提問範例:
- 你在哪個專案用過 Kubernetes?
- 具體做了什麼?(部署、監控、scaling?)
- 遇到什麼挑戰?怎麼解決的?
- 量化影響?(降低多少部署時間?)
2. 策略性忽略 (Strategic Ignore)
判定條件:
- JD 提到但不是這個 role 的主戰場
- 你有更強的差異化賣點
- 或者完全不符合你的背景
行動:
不硬補;在 summary/experience 強化你的優勢軸
範例:
- JD 要求 Java,但職位是 Node.js Lead
- 策略:強調 Node/TypeScript/Ownership,淡化 Java
3. 可遷移技能 (Transferable/IMPLIED)
判定條件:
- 系統判定 IMPLIED(從 Skill Graph 推論)
- 或有相近證據,只是詞彙不對
行動:
調整表述用更貼 JD 的語彙,把既有素材對齊
→ search --focus "Kubernetes" --limit 3
範例:
- JD 要求 "container orchestration"
- 你有 Docker Swarm 經驗
- 策略:調整描述,強調「容器編排」而非只說 Docker
4. 補強 (WEAK → COVERED)
判定條件:
- 已有提及但缺量化、決策脈絡、負責範圍
- status = WEAK
行動:
補上「你做了什麼/影響多大/怎麼驗證」,更新素材
→ search --focus "Leadership" --limit 5
補強重點:
- 量化:"管理團隊" → "管理 8 人跨職能團隊"
- 決策脈絡:為什麼這樣做?有什麼取捨?
- 驗證:怎麼知道成功了?KPI 是什麼?
實作架構
class StrategyType(Enum):
CORE_MISSING = "core_missing"
STRATEGIC_IGNORE = "strategic_ignore"
TRANSFERABLE = "transferable"
WEAK_TO_COVERED = "weak_to_covered"
ALREADY_COVERED = "already_covered"
@dataclass
class Strategy:
skill: str
strategy_type: StrategyType
title: str # 短標題
description: str # 這意味著什麼
action: str # 該怎麼做
next_command: str # 建議的 CLI 命令
priority: int # 優先順序 (1 = 最高)
分類邏輯
def classify_strategy(skill, status, evidence_count, is_core_skill):
if status == "COVERED":
return StrategyType.ALREADY_COVERED
elif status == "IMPLIED":
return StrategyType.TRANSFERABLE
elif status == "WEAK":
return StrategyType.WEAK_TO_COVERED
elif status == "MISSING":
# 核心技能且沒有證據 → 需要挖掘
if is_core_skill and evidence_count == 0:
return StrategyType.CORE_MISSING
# 非核心技能 → 可以忽略
else:
return StrategyType.STRATEGIC_IGNORE
CLI 輸出
uv run career-kb verify --skills "Python,K8s,Java" --with-strategy
輸出:
Skill Verification Results
┏━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━┓
┃ 技能 ┃ 狀態 ┃ 嚴重性 ┃ 證據 ┃ 來源 ┃
┡━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━┩
│ Python │ COVERED │ ✅ │ Built RAG... │ LLM │
│ K8s │ MISSING │ 🔴 │ - │ LLM+2 │
│ Java │ MISSING │ 🔴 │ - │ LLM │
└─────────┴─────────┴────────┴──────────────┴───────┘
╭─────────── 策略制定 (Step 3.5) ───────────╮
│ 核心缺失 (Core MISSING) │
│ JD 硬門檻技能,你可能有經驗但素材庫缺證據 │
│ • K8s │
│ 行動: 用教練式提問挖掘真實經驗 │
│ → ingest --type story --skills "K8s" │
│ │
│ 策略性忽略 (Strategic Ignore) │
│ 非此職位主戰場,或你有更強的差異化賣點 │
│ • Java │
│ 行動: 不硬補;強化你的優勢軸 │
╰────────────────────────────────────────────╯
優先行動:
1. K8s: 用教練式提問挖掘真實經驗,寫成 STAR 後入庫
→ ingest --type story --skills "K8s"
優先順序排列
priority_order = {
StrategyType.CORE_MISSING: 1, # 最優先
StrategyType.WEAK_TO_COVERED: 2, # 次優先
StrategyType.TRANSFERABLE: 3, # 調整表述
StrategyType.STRATEGIC_IGNORE: 4, # 暫時忽略
StrategyType.ALREADY_COVERED: 5, # 無需行動
}
為什麼這樣排?
- Core MISSING - 硬門檻,不補可能直接篩掉
- WEAK → COVERED - 既有素材,投資報酬率高
- Transferable - 只需調整措辭
- Strategic Ignore - 刻意不處理
與 Step 4 的銜接
策略制定後,進入 Step 4(履歷生成):
| 策略 | Step 4 行動 |
|---|---|
| Core MISSING | 先 ingest 新素材,再 generate |
| WEAK → COVERED | search → 找到素材 → 補強後 ingest |
| Transferable | generate 時調整用詞 |
| Strategic Ignore | generate 時不特別提及 |
實務經驗
案例:Node.js Lead 職位
JD 要求:
- Node.js ✅ COVERED
- TypeScript ✅ COVERED
- AWS 🟡 WEAK
- Java 🔴 MISSING
- Team Leadership 🔵 IMPLIED
策略制定:
- AWS (WEAK → COVERED) - 補上 EC2/Lambda 的量化數據
- Leadership (Transferable) - 調整 "管理團隊" → "領導跨職能 scrum 團隊"
- Java (Strategic Ignore) - 不補;履歷強調 Node/TS 深度
結果:履歷聚焦 Node.js 專家形象,而非「什麼都會一點」。
總結
| 策略 | 判定條件 | 行動 | 優先順序 |
|---|---|---|---|
| Core MISSING | 核心技能 + 無證據 | 教練式挖掘 | 1 |
| WEAK → COVERED | 有提及但薄弱 | 補量化/脈絡 | 2 |
| Transferable | IMPLIED | 調整措辭 | 3 |
| Strategic Ignore | 非核心技能 | 不處理 | 4 |
策略制定讓你從「盲目補缺口」進化為「精準強化優勢」。
Career Knowledge Base 是一個本地優先的履歷知識庫系統,使用 Python + LanceDB + Voyage AI 建構。
- ← Previous
中文 BM25:用 jieba 解決履歷搜尋的分詞問題 - Next →
教練循環:用 STAR 法把經驗變成履歷素材