## 🛠️ 核心技能與方法論

### 工作流程設計框架：WADE

```
W - Workflow Mapping（流程映射）
A - Agent Architecture（Agent 架構）
D - Data & Context Strategy（資料與上下文策略）
E - Evaluation & Evolution（評估與演進）
```

#### W - Workflow Mapping
1. **業務目標分解**：OKR → User Story → Acceptance Criteria
2. **流程圖繪製**：識別決策點、平行節點、迴圈與終止條件
3. **SLA 定義**：延遲、準確率、可用性、成本上限
4. **Stakeholder 映射**：誰觸發、誰審核、誰消費結果

#### A - Agent Architecture
1. **單 Agent vs 多 Agent 決策樹**
   - 單 Agent：線性任務、上下文 < 32K、無需專業分工
   - 多 Agent：需要專業分工、平行處理、複雜協調
2. **Agent 角色定義模板**
   ```yaml
   role: "Research Analyst"
   goal: "收集並綜合關於 X 的資訊"
   backstory: "你是一位資深產業分析師..."
   tools: [web_search, document_reader]
   constraints: ["僅使用提供的來源", "標註不確定性"]
   ```
3. **編排模式選擇**
   | 模式 | 適用場景 | 框架 |
   |------|----------|------|
   | Sequential | 線性管道 | LangChain LCEL |
   | Parallel | 獨立子任務 | asyncio, LangGraph Send |
   | Supervisor | 動態路由 | LangGraph, CrewAI Manager |
   | Hierarchical | 複雜專案 | AutoGen GroupChat |
   | Cyclic | 迭代優化 | LangGraph cycles, Reflexion |

#### D - Data & Context Strategy
1. **RAG 設計決策樹**
   ```
   需要外部知識？
   ├─ 否 → 依賴 LLM 內建知識 + Few-shot
   └─ 是 → 知識會更新？
       ├─ 否 → 微調或長 Context
       └─ 是 → RAG
           ├─ 結構化資料 → SQL Agent / Text-to-SQL
           └─ 非結構化 → Vector RAG
               ├─ 精確匹配重要 → Hybrid Search
               └─ 語意理解為主 → Dense Retrieval
   ```
2. **Chunking 策略選擇**
   | 文件類型 | 建議策略 | Chunk Size |
   |----------|----------|------------|
   | 技術文件 | Semantic + Header | 512-1024 |
   | 對話紀錄 | Turn-based | 2-4 turns |
   | 程式碼 | AST-based | Function-level |
   | 法律合約 | Clause-based | 256-512 |
3. **Context Window 管理**
   - Summarization Middleware：壓縮歷史對話
   - Selective Retrieval：只取相關片段
   - Observation Masking：隱藏中間步驟給最終 LLM

#### E - Evaluation & Evolution
1. **評估金字塔**
   ```
   Level 4: Business Metrics（轉換率、節省工時）
   Level 3: Task Success Rate（端到端成功率）
   Level 2: Component Metrics（各節點準確率）
   Level 1: Unit Tests（Prompt 輸出格式驗證）
   ```
2. **Golden Dataset 建構**
   - 收集 50-100 個真實案例
   - 標註預期輸出與 edge cases
   - 區分：smoke test (10) / regression (50) / stress (20)
3. **持續優化循環**
   ```
   Deploy → Monitor → Analyze Failures → Hypothesize → A/B Test → Deploy
   ```

### 提示工程進階技巧

#### System Prompt 分層架構
```
Layer 1: Identity（你是誰）
Layer 2: Capabilities（你能做什麼）
Layer 3: Constraints（你不能做什麼）
Layer 4: Output Format（輸出格式）
Layer 5: Examples（Few-shot 範例）
```

#### 結構化輸出強制
```python
from pydantic import BaseModel, Field

class WorkflowOutput(BaseModel):
    summary: str = Field(description="執行摘要")
    steps_completed: list[str]
    confidence: float = Field(ge=0, le=1)
    requires_human_review: bool
    next_actions: list[str]
```

#### Self-Reflection 模式
```
1. Generate → 2. Critique → 3. Revise → 4. Validate
```

### 工具鏈精通

| 類別 | 工具 | 用途 |
|------|------|------|
| 編排 | LangGraph, Temporal, n8n | 狀態機、長期運行任務 |
| 觀測 | LangSmith, Arize Phoenix, Langfuse | Tracing, Eval |
| 向量庫 | Pinecone, Weaviate, Qdrant | RAG 儲存 |
| 模型路由 | LiteLLM, Portkey | 多模型 fallback |
| 部署 | Modal, Replicate, AWS Lambda | Serverless 推理 |

### 成本優化策略

1. **模型分層**：簡單任務用 Haiku/GPT-4o-mini，複雜任務用 Sonnet/GPT-4o
2. **Prompt 快取**：利用 Anthropic/OpenAI 的 prompt caching
3. **輸出長度控制**：max_tokens 限制 + 結構化輸出
4. **批次處理**：非即時任務合併請求
5. **Embedding 快取**：避免重複計算相同文本