Đưa agent lên production an toàn, có thể quan sát & tối ưu chi phí. Ch.16 + Ch.20 sách Gulli + best practice cộng đồng 2025.
Cost phình, latency cao, không debug được…
Model routing · Prompt caching · Batch · Compression
Trace, metrics, alert — agent-native
Feature flag · Canary · Shadow · Kill switch
Roadmap 21 pattern nhìn lại + next steps
1000 user × 5 turn × 10K token = $$$. Prototype dùng Opus tất tay ⇒ bill sốc.
Chain 5 step × 2s = 10s. User bỏ chờ. p95 > 30s là dead.
Không có trace ⇒ user report bug, dev không reproduce được. Ngồi mò log.
Auto-upgrade model version ⇒ hành vi thay đổi, regression âm thầm.
Nỗi đau thứ 5: không rollback được. Deploy version xấu, không có kill switch, không revert nhanh.
Haiku task nhỏ · Sonnet phần lớn · Opus khi thực sự cần. Tiết kiệm 60-80%.
Anthropic cache hit −90%. Gemini implicit cache.
Async 24h ⇒ −50%. Cho eval, backfill, không cần realtime.
Summarize old messages · Autocompact · Context prune.
Max tokens / turn, max turn / session. Kill switch khi vượt.
Nhớ thứ tự: route trước → cache kế → batch sau → compress. Áp dụng dần, đo delta cost mỗi bước.
Span per turn: input, prompt, tool_call, tool_result, output, tokens, latency, cost.
Success rate, p95/p99 latency, cost/session, tool fail rate, thumbs ratio.
Cost spike, error rate spike, SLA breach. On-call rotation.
Replay conversation + tool calls để reproduce bug user report.
Chuẩn: OpenTelemetry + OpenLLMetry span, sink vào LangSmith / Langfuse / Arize / Datadog LLM.
| Tool | OSS? | Trace | Eval | Điểm mạnh |
|---|---|---|---|---|
| Langfuse | ✅ | ✅ | ✅ | Self-host + SaaS, OpenTelemetry native |
| Arize Phoenix | ✅ | ✅ | ✅ | OTel + eval, local dev tốt |
| LangSmith | ❌ | ✅ | ✅ | Tích hợp sâu LangChain/Graph |
| Braintrust | ❌ | ✅ | ✅ | Enterprise, eval flow mạnh |
| Datadog LLM Observability | ❌ | ✅ | Basic | Nếu đã dùng Datadog full stack |
| Helicone | ✅ | ✅ | Basic | Proxy đơn giản, ít setup |
LaunchDarkly / GrowthBook / Unleash. Bật/tắt agent theo user segment.
1% → 10% → 50% → 100%. Monitor metric mỗi tầng.
Chạy song song, không trả user, compare output cũ vs mới.
Tắt agent version bằng 1 lệnh. Fallback human hoặc version trước.
Bonus: Model version pinning. Không dùng claude-sonnet-latest. Dùng claude-sonnet-4-6 để tránh drift.
from opentelemetry import trace tracer = trace.get_tracer("agent") def run_turn(user_id, message): with tracer.start_as_current_span("agent.turn") as span: span.set_attributes({"user.id": user_id, "input.length": len(message)}) # Route theo tier & task model = "haiku" if is_simple(message) else "sonnet-4-6" span.set_attribute("model", model) # Cache-aware call resp = llm.generate( model=model, system=SYSTEM_PROMPT, cache_control={"type": "ephemeral"}, # 90% off on hit messages=[{"role": "user", "content": message}], ) span.set_attributes({ "tokens.input": resp.usage.input_tokens, "tokens.output": resp.usage.output_tokens, "cost.usd": calc_cost(resp.usage, model), "cache.hit": resp.usage.cache_read_input_tokens > 0, }) return resp.content
Không log tool_call ⇒ mù khi bug prod. Ưu tiên số 1.
Dùng -latest ⇒ drift âm thầm. Pin version.
Bug loop ⇒ đốt $10k qua đêm. Đặt cap per user + global.
Weekend không ai on-call. Deploy đầu tuần.
Router Agent chọn Flash/Haiku cho query đơn, Pro/Sonnet cho phức.
Chọn đường suy luận nhanh cho SLA < 2s. Skip reflection nếu deadline gần.
Mobile agent chọn model nhỏ tại thiết bị ⇒ tiết kiệm pin + latency thấp.
Provider chính lỗi ⇒ tự switch model dự phòng. Circuit breaker.
Truy hồi summary thay vì raw doc ⇒ giảm token 5-10×.
Critique Agent quan sát route decisions ⇒ feedback loop cải thiện router theo thời gian.
Nguyên tắc: Router + Critique là combo tối thiểu. Router quyết định nhanh — Critique cải thiện router dần bằng data thực tế.
Nguồn: Cẩm nang thực hành HTTM (VN Gulli Ch.16 — Resource-Aware Optim).
Harness ≠ framework code. Harness = infra + policy + observability + rollback để prompt/agent thay đổi không phá production.
Tham chiếu: Harness Engineering + Báo cáo NC hệ thống tác tử — Harness Engineering (VN).
# Model routing (rẻ→đắt) claude -m haiku-4-5 # $ claude -m sonnet-4-6 # $$ claude -m opus-4-7 # $$$ # Xem cost + usage claude # /cost → session cost # /status → context % # Prompt caching (auto) # CLAUDE.md + system prompt # tự cache -90% cost hit # Hook cost tracker # settings.json: "hooks": { "Stop": [{ "command": "./track.sh" }] } # ./track.sh append log # Pin version claude -m \ claude-sonnet-4-6
# Model management # Settings → Models # Turn OFF model đắt # nếu team overuse Opus # Auto mode routing # Chọn model theo task # complexity tự động # Usage dashboard # cursor.com/dashboard # → Usage → per user # → Set spend limit # Fast/Slow request pool # Slow = queue, không cost # thêm sau khi hết fast # Team plan: SSO + audit # dashboard tracking # Version pinning # Settings → Models # chọn version cụ thể
# Model tier gemini -m gemini-2.5-flash # $ gemini -m gemini-2.5-pro # $$ # Xem cost + telemetry gemini # /stats → token dùng # /quit → summary # Context caching # Long GEMINI.md tự cache # -75% cost trên hit # Batch API (async, -50%) gemini batch create \ --requests req.jsonl \ --output out.jsonl # Log telemetry local # ~/.gemini/settings.json "telemetry": { "target": "local", "logPrompts": true } # File: ~/.gemini/logs/
Kill switch tương đương: Claude Code — edit settings.json đổi "allow": []; Cursor — toggle Privacy Mode + tắt Auto-Apply; Gemini CLI — đổi safety BLOCK_LOW_AND_ABOVE.
Monitoring cross-CLI: tất cả log ra ~/.claude/logs/, ~/.cursor/logs/, ~/.gemini/logs/ (Windows: %USERPROFILE%\...) — nạp vào Datadog / Loki bằng agent forward.
12 buổi cover đủ 21 pattern. Ch.7 Multi-Agent tại S-04; Ch.9/11/12/17/21 rải trong ngữ cảnh các buổi.
Model routing + prompt caching là 2 đòn bẩy cost mạnh nhất. Áp trước tiên.
Trace mọi turn bằng OpenTelemetry / OpenLLMetry. Không trace = mù prod.
Pin model version. Không dùng -latest. Nâng version có kế hoạch, có eval.
Roll-out an toàn: Feature flag + Canary + Shadow + Kill switch. 4 phòng tuyến.
Budget cap per user + global. Bug loop có thể đốt $10k qua đêm nếu không cap.
DocumentAI/.Hết khoá LLM → Agentic — 12 buổi, 21 pattern.
Chúc đội bạn build được agent đáng tin cậy trong production. 👋