Lựa chọn Model — AI tạo đánh giá
| Hạng mục | Nội dung |
|---|---|
| Trạng thái | 🟡 Đang thảo luận |
| Liên quan | AI tạo đánh giá |
1. Tổng quan lựa chọn
Hệ thống sử dụng 2 model cho 2 mục đích khác nhau, cùng 1 API key duy nhất:
| Mục đích | Model | Lý do chọn |
|---|---|---|
| Tạo đánh giá (generate) | Claude Sonnet 4 | Chất lượng tiếng Nhật tốt nhất trong tầm giá |
| Kiểm tra chất lượng (quality check) | Claude Haiku 4.5 | Nhanh, rẻ, đủ cho phán định JSON |
2. So sánh chi tiết các model
2.1 Bảng so sánh
| Model | Provider | Input | Output | Chi phí/件 | Chất lượng JP | Latency | Khuyến nghị |
|---|---|---|---|---|---|---|---|
| Claude Sonnet 4 | Anthropic | $3.00/1M | $15.00/1M | ~¥0.5 | ◎ Xuất sắc | ~5-10s | Dùng cho generate |
| Claude Haiku 4.5 | Anthropic | $0.80/1M | $4.00/1M | ~¥0.1 | ○ Tốt | ~1-2s | Dùng cho quality check |
| Claude Opus 4 | Anthropic | $15.00/1M | $75.00/1M | ~¥2.5 | ◎ Xuất sắc | ~10-15s | Quá đắt cho use case này |
| GPT-4o | OpenAI | $2.50/1M | $10.00/1M | ~¥0.4 | ◎ Xuất sắc | ~3-5s | Thay thế nếu cần đổi provider |
| GPT-4o mini | OpenAI | $0.15/1M | $0.60/1M | ~¥0.03 | △ Trung bình | ~1s | Chất lượng JP không đủ |
| Gemini 2.5 Flash | $0.15/1M | $0.60/1M | ~¥0.03 | ○ Tốt | ~1-2s | Thay thế Haiku nếu cần rẻ hơn |
2.2 Tại sao chọn Claude Sonnet 4 cho generate?
| Tiêu chí | Sonnet 4 | GPT-4o | Lý do chọn Sonnet |
|---|---|---|---|
| Chất lượng tiếng Nhật | ◎ | ◎ | Tương đương, nhưng Sonnet tốt hơn ở văn phong đa dạng |
| Kính ngữ (丁寧語) | Chính xác | Đôi khi lỗi | Quan trọng cho tone 丁寧 |
| Tuân thủ prompt | Rất tốt | Tốt | Ít bỏ qua ràng buộc (số ký tự, keyword) |
| Chi phí | $3+$15/1M | $2.5+$10/1M | Sonnet đắt hơn ~20% nhưng chất lượng ổn định hơn |
| Prompt caching | Có (giảm ~90% input cost) | Có | Cả hai đều hỗ trợ |
Kết luận: Sonnet 4 được chọn vì chất lượng kính ngữ và tuân thủ prompt tốt hơn — hai yếu tố quan trọng nhất cho tạo đánh giá tiếng Nhật.
2.3 Tại sao chọn Claude Haiku 4.5 cho quality check?
| Tiêu chí | Haiku 4.5 | Sonnet 4 | Lý do chọn Haiku |
|---|---|---|---|
| Latency | 1-2s | 3-5s | Quality check nằm trong flow đồng bộ, cần nhanh |
| Chi phí | ¥0.04/件 | ¥0.2/件 | Check được gọi mỗi lần generate (kể cả retry) |
| Đủ cho phán định | ○ | ◎ | Chỉ cần trả JSON điểm số, không cần văn xuôi |
Kết luận: Haiku đủ cho "đánh giá đúng/sai" và trả JSON. Dùng Sonnet cho check sẽ tốn gấp 5x mà không cải thiện đáng kể.
3. Chi phí vận hành
3.1 Chi phí trên mỗi review
| Bước | Model | Tokens (ước tính) | Chi phí |
|---|---|---|---|
| Generate review | Sonnet | Input ~150 + Output 400 | ~¥0.4 |
| Quality check (LLM part) | Haiku | Input 500 + Output 150 | ~¥0.04 |
| Tổng (không retry) | ~¥0.44 | ||
| Tổng (trung bình 1.2 retry) | ~¥0.55 |
Input ~150 tokens (tên mục + số sao + keyword + tone) — giảm mạnh so với thiết kế cũ (~800 tokens) nhờ prompt chỉ gửi 1 mục thay vì toàn bộ survey.
3.2 Chi phí hàng tháng
| Quy mô | Số件/tháng | Chi phí/tháng | Ghi chú |
|---|---|---|---|
| Nhỏ | 50 | ~¥28 | 1-2 cửa hàng |
| Trung bình | 200 | ~¥110 | 5-10 cửa hàng |
| Lớn | 1,000 | ~¥550 | 20+ cửa hàng |
3.3 Tối ưu chi phí
| Phương pháp | Tiết kiệm | Đã áp dụng? |
|---|---|---|
| Hybrid quality check (skip LLM khi rule-based fail) | ~20% chi phí check | ✅ Có |
| Prompt tối giản (chỉ 1 mục + keyword + tone, không gửi survey) | ~80% input cost generate | ✅ Có |
| Prompt caching (cùng system prompt) | ~90% input cost cho generate | ⬜ Sau này |
4. Cấu hình theo môi trường
| Môi trường | Generate | Quality Check | Ghi chú |
|---|---|---|---|
| Production | Sonnet 4 | Haiku 4.5 | Chất lượng tối ưu |
| Staging | Haiku 4.5 | Haiku 4.5 | Tiết kiệm, test flow |
| Development | Haiku 4.5 | Haiku 4.5 | Nhanh, rẻ, lặp lại nhiều |
php
// .env.production
REVIEW_GENERATE_MODEL=claude-sonnet-4-20250514
REVIEW_CHECK_MODEL=claude-haiku-4-5-20251001
// .env.staging / .env.development
REVIEW_GENERATE_MODEL=claude-haiku-4-5-20251001
REVIEW_CHECK_MODEL=claude-haiku-4-5-202510015. Khi nào cần đổi model?
| Tình huống | Hành động |
|---|---|
| Anthropic ra Sonnet mới (ví dụ Sonnet 4.5) | Đổi REVIEW_GENERATE_MODEL, test chất lượng JP |
| Chi phí vượt budget | Chuyển generate sang Haiku, chấp nhận giảm chất lượng |
| Chất lượng JP không đạt | Thử GPT-4o làm generate model |
| Cần đổi provider hoàn toàn | Chỉ sửa AnthropicApiService → OpenAIApiService, logic không đổi |
| Latency quá chậm | Chuyển check sang Gemini Flash |
Thiết kế cho phép đổi model bằng config, không cần sửa code logic. Chỉ cần thay model ID trong
.env.
6. API Key
| Mục | Nội dung |
|---|---|
| Số key cần | 1 key duy nhất |
| Dùng cho | Tất cả model (Sonnet, Haiku, Opus...) |
| Config | ANTHROPIC_API_KEY trong .env |
| Tạo tại | console.anthropic.com |
| Billing | Chung 1 account, tính theo usage từng model |