AI Agent Viết Code Tốn Token Quá? Context Engineering Là Câu Trả Lời

Karify98 & Amy 🌸·
Cover Image for AI Agent Viết Code Tốn Token Quá? Context Engineering Là Câu Trả Lời

Khi AI Agent Đọc Code Như Người Mù

Dùng AI coding agent như Claude Code, Cursor hay Codex ngày càng phổ biến. Nhưng có một vấn đề ít người nói tới: cách agent "đọc" codebase hiện tại rất kém hiệu quả.

Mỗi lần agent cần hiểu một function gọi từ đâu, nó grep toàn bộ project. Mỗi lần cần biết class nào import class nào, nó đọc từng file một. Kết quả: hàng chục tool call, hàng nghìn token bị đốt chỉ để… tìm file.

Hai dự án open-source trending trên GitHub ngày 26/05/2026 đưa ra hướng giải quyết từ hai góc độ khác nhau: cấu trúc dữ liệukiểm soát hành vi.

CodeGraph: Knowledge Graph Cho AI Agent

Dự án đầu tiên là CodeGraph của codegraph-ai — một công cụ xây dựng semantic graph toàn bộ codebase, parse 37 ngôn ngữ qua tree-sitter, và expose 45 MCP tool cho AI agent truy vấn.

Thay vì grep, agent gọi codegraph_find_symbol để tìm function, codegraph_get_callers để biết ai gọi nó, codegraph_get_dependencies để xem module phụ thuộc. Tất cả chạy 100% local, không cần upload code lên cloud.

Điểm đáng giá nhất: CodeGraph giảm số tool call và token tiêu thụ đáng kể. Khi agent có sẵn "bản đồ" codebase, nó không cần mò mẫm từng file. Thay vì phải đọc từng file để hiểu cấu trúc project, agent dùng knowledge graph để truy vấn trực tiếp — giảm đáng kể số tool call không cần thiết.

CodeGraph hỗ trợ Claude Code, Cursor, Windsurf, Codex, Cline, OpenCode, và Hermes Agent. Cài đặt đơn giản: thêm vào ~/.claude.json hoặc cài VS Code extension, server tự động index thư mục hiện tại.

andrej-karpathy-skills: Kiểm Soát Hành Vi Qua CLAUDE.md

Dự án thứ hai là andrej-karpathy-skills của multica-ai — một file CLAUDE.md duy nhất được thiết kế để cải thiện hành vi Claude Code, dựa trên quan sát của Andrej Karpathy về các lỗi phổ biến của LLM khi viết code.

Trích từ bài viết của Karpathy:

"Các model tự đưa ra giả định sai và chạy theo mà không kiểm tra. Chúng không quản lý sự mơ hồ, không tìm kiếm làm rõ, không chỉ ra điểm mâu thuẫn, không trình bày trade-off, không phản biện khi cần."

"Chúng thực sự thích làm phức tạp hóa code và API, thổi phồng abstraction, không dọn dead code… triển khai 1000 dòng cho việc 100 dòng là đủ."

File CLAUDE.md tổ chức thành 4 nguyên tắc:

1. Think Before Coding

Đừng đoán. Đừng giấu sự mơ hồ. Trình bày trade-off. Nếu không chắc — dừng lại và hỏi.

2. Simplicity First

Code tối thiểu giải quyết vấn đề. Không abstraction cho code dùng một lần. Không error handling cho tình huống không thể xảy ra. Nếu 200 dòng có thể thành 50 — viết lại.

3. Surgical Changes

Chỉ chạm vào dòng liên quan trực tiếp. Không "cải thiện" code bên cạnh. Không xóa comment người khác để lại. Dọn dẹp rác do chính mình tạo ra.

4. Goal-Driven Execution

Mỗi bước phải có tiêu chí xác minh. Biến "làm X" thành "làm X, chạy test, xác nhận output". Không lặp vòng vô hạn — nếu mất kiểm soát thì dừng.

Context Engineering: Mảnh Ghép Còn Thiếu

Điều thú vị là hai dự án này giải quyết cùng một vấn đề từ hai hướng:

  • CodeGraph → cung cấp context có cấu trúc (structured context)
  • andrej-karpathy-skills → kiểm soát cách agent sử dụng context đó

Đây chính là context engineering — kỹ thuật thiết kế và tối ưu thông tin đưa vào LLM. Không phải "prompt engineering" kiểu cũ (viết prompt hay hơn), mà là xây dựng pipeline cung cấp đúng thông tin, đúng lúc, đúng định dạng.

Trong thực tế, context engineering cho AI coding agent bao gồm:

  • Pre-indexing: Index codebase trước khi agent chạy (như CodeGraph)
  • Rule files: Định nghĩa quy tắc hành vi cho agent (như andrej-karpathy-skills)
  • Tool profiles: Giới hạn bề mặt tool mà agent thấy, tránh prompt context quá tải
  • Memory layer: Lưu kết quả phân tích trước đó để tái sử dụng

Một dự án Node.js trung bình có 500-2000 file. Ném toàn bộ vào prompt là không khả thi. Context engineering giúp agent chỉ thấy những gì nó cần.

Cần lưu ý: với dự án nhỏ (<50 file), chi phí setup CodeGraph có thể không đáng. Nhưng khi codebase đủ lớn để grep không còn hiệu quả, đây là khoản đầu tư xứng đáng.

Áp Dụng Cho Workflow Hàng Ngày

Nếu đang dùng Claude Code hoặc Cursor, có thể bắt đầu ngay:

Bước 1: Cài CodeGraph

# Thêm vào ~/.claude.json
{
  "mcpServers": {
    "codegraph": {
      "command": "/path/to/codegraph-server",
      "args": ["--mcp"]
    }
  }
}

Bước 2: Tạo file CLAUDE.md cho dự án, áp dụng 4 nguyên tắc từ andrej-karpathy-skills. Chép thẳng từ repo multica-ai/andrej-karpathy-skills cũng được — file này được thiết kế để dùng chung.

Bước 3: Giới hạn MCP tool profile khi không cần full surface. CodeGraph có sẵn profile core (8 tool) cho chat session và graph (16 tool) cho refactor.

Kết quả: agent phản hồi nhanh hơn, token rẻ hơn, code output sạch hơn.

Kết Luận

AI coding agent đang tiến hóa nhanh, nhưng bài toán context vẫn là bottleneck chính. Không phải model không đủ thông minh — mà là model không được cung cấp đúng thông tin.

CodeGraph và andrej-karpathy-skills là hai dự án nhỏ nhưng đi đúng hướng. Thay vì chờ model thông minh hơn, hãy cho model context tốt hơn.


Tham khảo: