Tháng trước, tôi nhận được cuộc gọi lúc 2 giờ sáng từ CTO của chuỗi thương mại điện tử 8 cửa hàng. Hệ thống chatbot AI chăm sóc khách hàng của họ đã đốt cháy $14,720 chỉ trong 11 ngày trong đợt sale 11.11. Toàn bộ hạ tầng chạy LangChain + Claude Opus, không có token tracking, không có budget cap, không có fallback model. Tôi đã bay từ Hà Nội vào Sài Gòn, ngồi trước terminal 36 giờ liên tục và viết lại toàn bộ callback theo dõi chi phí. Bài viết này là những gì tôi rút ra được — và cách bạn có thể áp dụng ngay hôm nay.
1. Tại sao token tracking lại quan trọng hơn bạn nghĩ
Theo thống kê từ cộng đồng r/LocalLLaMA (10,420 upvote, 1,247 bình luận), 67% team kỹ thuật phát hiện chi phí LLM vượt ngân sách chỉ khi hóa đơn tháng đã chốt. Với mức giá output của Claude Opus 4.7 lên tới $75.00/MTok và DeepSeek V4 chỉ $1.10/MTok, mỗi 1,000 request chênh nhau gần 7,000%. Một callback on_token đơn giản có thể cứu bạn khỏi một cú sốc ngân sách.
2. Kiến trúc token tracking với LangChain callbacks
LangChain cung cấp get_openai_callback cho họ OpenAI-compatible. Để tracking các model Anthropic-style hoặc DeepSeek, bạn cần custom callback. Đây là đoạn code tôi dùng trong production — copy vào file cost_tracker.py:
"""
cost_tracker.py — Theo dõi chi phí LangChain cho Claude Opus 4.7 và DeepSeek V4
Chạy: import cost_tracker
Yêu cầu: pip install langchain-core langchain-openai
"""
import time
from typing import Any, Dict, List
from langchain_core.callbacks import BaseCallbackHandler
from langchain_core.outputs import LLMResult
Bảng giá 2026/MTok (input, output) — cập nhật ngày 2026-01-15
PRICING = {
"claude-opus-4.7": {"input": 15.00, "output": 75.00, "currency": "USD"},
"deepseek-v4": {"input": 0.27, "output": 1.10, "currency": "USD"},
"gpt-4.1": {"input": 8.00, "output": 24.00, "currency": "USD"},
"gemini-2.5-flash": {"input": 2.50, "output": 7.50, "currency": "USD"},
"claude-sonnet-4.5":{"input": 3.00, "output": 15.00, "currency": "USD"},
"deepseek-v3.2": {"input": 0.14,