Hồi tháng 10, đội mình nhận ra mắt hệ thống RAG nội bộ cho một tập đoàn bán lẻ 4.000 nhân viên. Ngày đầu deploy, hóa đơn cuối tháng nhảy vọt 22 triệu đồng chỉ vì một dòng cấu hình sai — em Windsurf Cascade đang đẩy toàn bộ truy vấn từ khâu trích xuất embedding đơn giản qua GPT-5.5 thay vì Gemini 2.5 Flash. Bài viết này là cái giá phải trả và chiến lược routing mình đã tinh chỉnh suốt 4 tuần để cắt giảm 67% chi phí mà vẫn giữ chất lượng trả lời ở mức 4.7/5 theo đánh giá của team nội bộ.

1. Windsurf Cascade là gì và vì sao routing lại quan trọng

Windsurf Cascade là lớp agent của IDE Windsurf (tiền thân Codeium), cho phép gọi nhiều mô hình nền tảng khác nhau trong cùng một workflow. Ý tưởng cốt lõi: phân loại độ phức tạp của task rồi đẩy sang mô hình phù hợp — thay vì "một mô hình cân tất". Khi tích hợp qua Đăng ký tại đây, Cascade có thể truy cập GPT-5.5, Claude Sonnet 4.5, Gemini 2.5 Pro, Gemini 2.5 Flash, DeepSeek V3.2 với một endpoint duy nhất https://api.holysheep.ai/v1, không cần quản lý nhiều tài khoản nhà cung cấp.

2. So sánh giá output các mô hình trên HolySheep (bảng giá 2026, đơn vị USD / 1M token)

Với dự án RAG xử lý 10 triệu token/tháng, hai kịch bản routing cho hai con số rất khác nhau:

3. File cấu hình Windsurf Cascade mình commit lên repo nội bộ

Toàn bộ request đều đi qua gateway HolySheep, key lưu trong biến môi trường để tránh lộ trong log.

{
  "cascade": {
    "router": "complexity_v2",
    "models": {
      "tier_1_flash": {
        "provider": "holysheep",
        "model": "gemini-2.5-flash",
        "base_url": "https://api.holysheep.ai/v1",
        "tasks": ["intent_classify", "entity_extract", "embedding_rewrite"]
      },
      "tier_2_pro": {
        "provider": "holysheep",
        "model": "gemini-2.5-pro",
        "base_url": "https://api.holysheep.ai/v1",
        "tasks": ["rag_synthesis", "tool_planning"]
      },
      "tier_3_reasoning": {
        "provider": "holysheep",
        "model": "gpt-5.5",
        "base_url": "https://api.holysheep.ai/v1",
        "tasks": ["code_review", "ambiguous_query", "fallback"]
      }
    },
    "fallback_chain": ["tier_3_reasoning", "tier_2_pro"],
    "task_whitelist": {
      "tier_3_reasoning": ["code_review", "ambiguous_query", "fallback"],
      "tier_2_pro":       ["rag