Là một lập trình viên trong kỷ nguyên AI, chắc hẳn bạn đã từng quăng cả một codebase hàng ngàn dòng vào Gemini hoặc GitHub Copilot để bắt nó giải thích, debug hoặc viết tính năng mới.
Nhưng có bao giờ bạn thắc mắc: “Liệu hành động này có đang âm thầm ngốn sạch credit hoặc làm tăng hóa đơn cuối tháng của mình không?” và “Nên chat tiếp trong một session hay tạo session mới thì tiết kiệm hơn?”
Bài viết này sẽ bóc tách toàn bộ cơ chế tính phí, giới hạn kỹ thuật của hai công cụ phổ biến nhất hiện nay là Gemini (Web) và GitHub Copilot (Trả phí) để giúp anh em dev “bào” AI một cách thông minh và tiết kiệm nhất.
1. Với Gemini (Bản Web Miễn Phí): Không tốn tiền nhưng tốn “Hạn mức tính toán”
Nếu bạn đang dùng giao diện Web của Gemini (Free tier) để import GitHub hoặc dán code, câu trả lời là: Bạn không bị trừ tiền mặt hay token theo kiểu truyền thống. Tuy nhiên, hệ thống có những luật chơi riêng:
- Giới hạn cứng khi Import từ GitHub: Mỗi lần import, Gemini chỉ chấp nhận tối đa 5.000 files và dung lượng dưới 100 MB. Nếu sửa code trên GitHub, bạn phải import lại thủ công vì hệ thống không tự đồng bộ.
- Cơ chế “Hạn mức dựa trên tài nguyên” (Compute-based limits): Thay vì đếm token, Gemini tính toán độ phức tạp của câu lệnh. Đọc 10.000 dòng code + giải thích logic thuật toán hóc búa chắc chắn sẽ ngốn nhiều tài nguyên hệ thống hơn là đọc 100 dòng.
- Cơ chế hồi phục 5 giờ: Khi bạn bắt AI làm việc quá nặng, hạn mức của bạn sẽ vơi đi nhanh hơn. Hạn mức này sẽ tự động hồi phục dần dần theo dạng cuốn chiếu sau mỗi 5 giờ.
- Hiện tượng “Loãng ngữ cảnh”: Khi quăng 10.000 dòng code vào một session chat qua lại nhiều lần, AI rất dễ bị “ảo tưởng” (hallucination), quên các file ở đầu đoạn chat hoặc bỏ sót logic ở giữa do cửa sổ ngữ cảnh (Context Window) bị quá tải.
2. Với GitHub Copilot (Bản Trả Phí): Cách tính phí “Bào ví” theo Token
Từ khi GitHub chuyển sang mô hình Tính phí dựa trên lượng tiêu thụ (Usage-based billing) thông qua hệ thống GitHub AI Credits, mọi câu lệnh bạn gửi lên đều được quy đổi ra tiền (hoặc credit).
- Inline Completion (Gợi ý code khi gõ): Hoàn toàn MIỄN PHÍ và không giới hạn.
- Copilot Chat / Agent / Review Code: Tính bằng AI Credits. Mỗi tháng gói Copilot Pro ($10) tặng sẵn khoảng 1.500 credits. Nếu dùng hết, bạn phải mua thêm (Overage billing, ~0.01 USD / credit) hoặc bị giới hạn tính năng.
Đọc 100 dòng vs 10.000 dòng: Khác biệt một trời một vực!
Hệ thống tính credit dựa trên tổng số Input Token (Code bạn gửi lên) và Output Token (Câu trả lời của AI). Đọc cả một kho codebase 10.000 dòng đồng nghĩa với việc bạn đang nhồi hàng vạn token vào AI, lượng credit bị trừ cho mỗi câu hỏi sẽ cực kỳ lớn.
3. Hỏi tiếp trên Session cũ hay Tạo Session mới: Cái nào tốn Credit hơn?
Đây là câu hỏi cốt lõi mà rất nhiều dev hiểu lầm. Câu trả lời chính xác cho GitHub Copilot là: Hỏi tiếp trên Session cũ TIẾT KIỆM hơn rất nhiều, nhưng phải biết điểm dừng!
Tại sao Session cũ lại RẺ hơn? 👉 Cơ chế “Prompt Caching”
Khi bạn quăng 10.000 dòng code vào session ở câu hỏi đầu tiên, Copilot đã nạp và lưu đoạn code này vào bộ nhớ đệm (Cache).
- Nếu bạn hỏi câu thứ 2, 3 trên session cũ: AI sẽ dùng lại Cached input tokens. Theo quy định, token đã cached chỉ tính phí bằng khoảng 10% so với giá token mới. Bạn có thể thoải mái đào sâu, hỏi chi tiết về đoạn code đó với chi phí cực rẻ.
- Nếu bạn tạo Session mới: Hệ thống hoàn toàn trống rỗng. Bạn hỏi lại về codebase đó, Copilot buộc phải quét và nạp lại từ đầu -> Bị tính 100% giá Fresh input tokens. Ví của bạn sẽ bị “bào” liên tục.
Cái bẫy “Tích tụ ngữ cảnh” (Context Accumulation)
Mặc dù dùng session cũ rẻ nhờ Cache, nhưng mỗi lượt chat mới, bạn phải trả tiền cho toàn bộ lịch sử trò chuyện phía trước (bao gồm cả câu hỏi của bạn và câu trả lời trước đó của AI). Đáng nói là Output Token (câu trả lời của AI) có giá đắt gấp ~5 lần Input Token. Khi session kéo dài quá 15-20 câu, đống câu trả lời dài dòng cũ bị nhồi ngược lại làm Input cho câu hỏi mới, khiến chi phí của session đó tăng tiến lũy kế và phình to khủng khiếp.
💡 Chiến lược “Sống sót” và Tối ưu chi phí cho Developer
Để vừa tận dụng sức mạnh của AI, vừa không làm cạn kiệt credit hay làm đơ bộ nhớ của Gemini/Copilot, hãy áp dụng các nguyên tắc sau:
- Chiến thuật “Nằm vùng” cho cùng một Task: Khi đang tập trung debug hoặc code một tính năng cụ thể trên codebase vừa nạp, hãy giữ nguyên session cũ để tận dụng lợi thế giá rẻ 10% của Prompt Caching.
- Sử dụng lệnh
/compacthoặc/clear: Khi session cũ đã quá dài, hãy dùng các lệnh nén ngữ cảnh để AI tóm tắt lại bản chất, xóa bỏ các đoạn giải thích thừa thãi, làm nhẹ Input cho các câu lệnh tiếp theo. - Chỉ mở Session mới khi Đổi Task: Khi đã giải quyết xong module này và chuyển sang một phần hoàn toàn khác của dự án, hãy nhấn
Ctrl + Nđể làm sạch bộ nhớ. - Sử dụng Tag
@filethay vì quét cả Repo: Thay vì bắt Copilot tự mò mẫm trong 10.000 dòng code, hãy gõ@file:path/to/file.jsđể chỉ đích danh file cần xử lý. Thu hẹp Input là cách trực tiếp nhất để bảo vệ ví tiền của bạn. - Chia để trị (Dành cho Gemini): Đừng quăng cả folder dự án vào AI nếu chỉ cần sửa một hàm. Hãy copy cấu trúc thư mục (Folder structure) để AI hiểu tổng quan, sau đó cần sửa file nào thì gửi riêng file đó.
TaDev