Ian Chou's Blog

策略制定:從診斷到決策的關鍵一步

策略制定:從診斷到決策的關鍵一步

驗證技能覆蓋後得到一堆 MISSING/WEAK,然後呢?盲目補齊每個缺口會讓履歷失焦,甚至引入不真實內容。本文分享如何用「策略制定」把診斷結果轉成可執行決策。

問題:驗證完然後呢?

假設 verify 的結果是:

Python     → COVERED ✅
GraphQL    → MISSING 🔴
Kubernetes → WEAK 🟡
Leadership → IMPLIED 🔵
Java       → MISSING 🔴

直覺反應是「趕快補 GraphQL 和 Java」。但這樣做可能:

  1. 履歷失焦 - 硬塞不擅長的內容,弱化你真正的優勢
  2. 不真實內容 - 為了補齊而編造經驗,面試時會露餡
  3. 浪費時間 - 某些技能可能根本不是這個職位的核心

解決方案:四類策略分類

驗證結果
    ↓
┌─────────────────────────────────────┐
│ 策略分類器 (Strategy Classifier)    │
│                                     │
│ MISSING → 核心缺失 or 策略性忽略?   │
│ WEAK    → 需要補強                  │
│ IMPLIED → 可遷移技能                │
│ COVERED → 已覆蓋                    │
└─────────────────────────────────────┘
    ↓
四類策略 + 具體行動 + 下一步命令

四類策略詳解

1. 核心缺失 (Core MISSING)

判定條件

行動

用教練式提問挖掘真實經驗,寫成 STAR 後入庫
→ ingest --type story --skills "Kubernetes"

教練式提問範例

2. 策略性忽略 (Strategic Ignore)

判定條件

行動

不硬補;在 summary/experience 強化你的優勢軸

範例

3. 可遷移技能 (Transferable/IMPLIED)

判定條件

行動

調整表述用更貼 JD 的語彙,把既有素材對齊
→ search --focus "Kubernetes" --limit 3

範例

4. 補強 (WEAK → COVERED)

判定條件

行動

補上「你做了什麼/影響多大/怎麼驗證」,更新素材
→ search --focus "Leadership" --limit 5

補強重點

實作架構

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,   # 無需行動
}

為什麼這樣排?

  1. Core MISSING - 硬門檻,不補可能直接篩掉
  2. WEAK → COVERED - 既有素材,投資報酬率高
  3. Transferable - 只需調整措辭
  4. 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 要求:

策略制定:

  1. AWS (WEAK → COVERED) - 補上 EC2/Lambda 的量化數據
  2. Leadership (Transferable) - 調整 "管理團隊" → "領導跨職能 scrum 團隊"
  3. 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 建構。