Chapter 5 — Workflow Patterns
Câu hỏi trung tâm: Khi nào cần orchestration và khi nào một call là đủ?
🔒 Chapter chưa mở
Nội dung chi tiết sẽ được unlock dần. Dưới đây là outline.
Outline
5.1 — Tại sao cần workflow
- Một LLM call ≠ một sản phẩm
- Ví dụ: "tóm tắt 50 trang PDF" — một call không đủ context window
- Ví dụ: "phân loại email rồi draft reply" — cần ít nhất 2 bước
- Nguyên tắc: bắt đầu bằng 1 call, chỉ thêm bước khi cần
5.2 — 5 Pattern cốt lõi
| Pattern | Mô tả | Khi nào dùng |
|---|---|---|
| Chain | Output bước A → input bước B | Task tuần tự, mỗi bước transform data |
| Routing | Classify input → chọn handler phù hợp | Multi-intent, khác nhau về cách xử lý |
| Parallelization | Chạy nhiều LLM call đồng thời | Nhiều subtask độc lập, cần tốc độ |
| Orchestrator-Workers | 1 LLM phân task → N LLM workers thực thi | Task phức tạp, cần planning |
| Evaluator-Optimizer | 1 LLM generate → 1 LLM evaluate → lặp lại | Cần chất lượng output cao |
5.3 — Chain deep dive
- Gate: kiểm tra output trước khi chuyển bước tiếp
- Error propagation: bước A fail thì bước B xử lý thế nào
- Lab: build chain 3 bước — extract → validate → transform
5.4 — Routing deep dive
- Classification prompt → chọn handler
- Fallback khi classify sai
- Lab: email router — phân loại intent rồi chọn response template
5.5 — Parallelization & Orchestrator-Workers
asyncio.gather()— chạy song song nhiều LLM call- Orchestrator pattern: 1 model lên plan, N model thực thi
- Khi nào overhead orchestration lớn hơn lợi ích
- Lab: tóm tắt nhiều tài liệu song song
5.6 — Evaluator-Optimizer
- Generate → Evaluate → Feedback → Re-generate
- Self-critique: model đánh giá chính output của mình
- Giới hạn: khi nào loop vô ích (diminishing returns)
Checkpoint
- Phân biệt Chain vs Orchestrator-Workers — khi nào dùng cái nào?
- Vẽ sơ đồ workflow cho bài toán: "User upload CV → extract info → match với JD → generate cover letter"
- Khi nào thêm bước orchestration là overkill?
Tiếp theo: Chapter 6 — Agent Loop & Capstone →