| Fine-tuning to teach new knowledgeFine-tune để dạy kiến thức mới | Facts are learned poorly, still fabricated, retrain on every data changeModel nhớ sự kiện kém, vẫn bịa, dữ liệu đổi là phải huấn luyện lại | RAG or put it in contextRAG hoặc đưa vào context |
| An agent for a fixed processDựng agent cho quy trình cố định | Pay cost, latency and risk for nothingChịu chi phí, độ trễ, rủi ro mà không được gì | Code-controlled workflowWorkflow do code điều khiển |
| Stuffing the whole corpus into contextNhét cả kho tài liệu vào context | Expensive, slow, the middle gets missedĐắt, chậm, phần giữa bị bỏ sót | Selective retrieval, token budgetTruy xuất chọn lọc, ngân sách token |
| Editing a prompt and eyeballing outputsSửa prompt rồi nhìn vài câu bằng mắt | Fixes one case, silently breaks anotherSửa ca này, hỏng ca khác mà không biết | Evals after every changeChạy evals sau mỗi thay đổi |
| Self-hosting on day one "to save money"Tự host từ đầu "cho rẻ" | Idle GPUs cost more than an APIGPU nhàn rỗi đắt hơn API | API first, self-host past break-evenAPI trước, tự host khi qua điểm hoà vốn |
| Optimizing before measuringTối ưu trước khi đo | Wrong target, needless complexitySai chỗ, thêm phức tạp vô ích | Observe, find the bottleneck, then optimizeQuan sát, tìm nút thắt, rồi mới tối ưu |
| Vector search onlyChỉ dùng vector search | Misses product codes and exact namesTrượt mã sản phẩm, tên riêng chính xác | Hybrid search + rerankerTìm kiếm lai + reranker |
| Trusting tool/web output in an agentTin đầu ra tool/web trong agent | Prompt injection from external dataPrompt injection từ dữ liệu bên ngoài | Treat as untrusted; limit tool permissionsCoi là không tin cậy; giới hạn quyền tool |
| Logging only technical errorsChỉ log lỗi kỹ thuật | Wrong answers still return HTTP 200Trả lời sai vẫn là HTTP 200 | Full traces + quality scoringTrace đầy đủ + chấm chất lượng |