60 điểm bởi spilist2 2026-04-20 | 5 bình luận | Chia sẻ qua WhatsApp

Động cơ

  • Trong ghi chú phát hành Claude Opus 4.7, phần “mức sử dụng token tăng” là điều nổi bật nhất.
  • Khi chúng ta đang bước vào thời đại mà chỉ cần đủ token và thời gian thì có thể làm được rất nhiều việc, hiệu quả sử dụng token cũng liên tục trở thành một vấn đề.
  • Từ câu hỏi “Liệu có cách nào tăng hiệu quả token bằng cách thay đổi giá trị cài đặt trong Claude Code và Codex không?”, tôi đã phân tích tài liệu chính thức của Claude Code (cài đặt/biến môi trường/IDE), tài liệu chính thức của Codex (cài đặt/biến môi trường/MCP), cũng như mã nguồn của Codex, và thu được kết quả khá có ý nghĩa.
  • Không chỉ với chế độ tương tác tôi thường dùng, tôi còn biết thêm nhiều cách để cải thiện hiệu quả token/tốc độ khởi động/độ ổn định trong chế độ không tương tác có thể lập trình được.

Prompt để phân tích trạng thái của tôi

Prompt dành cho những ai muốn đi thẳng vào việc kiểm tra cấu hình coding agent của mình:

https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘  

Điều gì thực sự ngốn token

Trong coding agent, nhìn chung có ba con đường làm rò rỉ token:

Quảng cáo
  1. Văn bản bổ sung được tự động gắn vào mỗi phiên hoặc mỗi lượt
  2. Kết quả đầu ra của các lệnh gọi công cụ quá dài còn lưu trong lịch sử hội thoại
  3. Các lệnh gọi bổ sung do kết nối bên ngoài như tìm kiếm, connector, tích hợp IDE

Giới thiệu các đòn bẩy có thể dùng để giảm 3 yếu tố trên trong Claude Code và Codex. (Bỏ qua các nội dung cơ bản như tắt MCP server/plugin không dùng, điều chỉnh model và mức reasoning.)

  • Phần giải thích cho từng cài đặt, cũng như trade-off của chúng, được viết chi tiết trong bài blog.

Claude Code (phiên bản xác nhận cuối cùng: 2.1.114)

  1. includeGitInstructions: false

  2. autoConnectIde: false

    Quảng cáo
  3. CLAUDE_CODE_GLOB_NO_IGNORE=false

  4. Thiết lập giới hạn đầu ra (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)

  5. Các biến môi trường và cờ dành cho tác vụ ngắn, đơn giản hoặc chế độ không đối thoại

    • ENABLE_CLAUDEAI_MCP_SERVERS=false: tắt MCP server
    • CLAUDE_CODE_DISABLE_AUTO_MEMORY=1: không tải bộ nhớ đã được lưu tự động
    • CLAUDE_CODE_DISABLE_CLAUDE_MDS=1: bỏ qua CLAUDE.md toàn cục/dự án
    • CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: loại trừ sub-agent tích hợp sẵn và định nghĩa skill khỏi system prompt
    • --tools: kích hoạt có chọn lọc các công cụ native. Nếu --tools "" thì vô hiệu hóa toàn bộ. Với worker thật sự chỉ dùng trí thông minh của model thì có thể tắt hết; còn khi giao việc đơn giản ở chế độ tương tác, nếu tắt hết thì gần như không thể làm gì, nên chỉ bật những thứ cần thiết như "Bash,Edit,Glob,Grep,Read,Write"
    • --strict-mcp-config: chỉ dùng cấu hình MCP được chỉ định qua CLI và bỏ qua cấu hình MCP toàn cục. Có thể tiêm gọn gàng chỉ những connector cần thiết cho từng worker.
    • --disable-slash-commands: định nghĩa các slash command như /help, /clear sẽ bị loại khỏi system prompt
    • --no-session-persistence: không dùng đường dẫn lưu/khôi phục phiên, nên không để lại dấu vết của các lần chạy dùng một lần
    • --exclude-dynamic-system-prompt-sections: loại bỏ các phần thay đổi theo từng máy/môi trường để tăng tỷ lệ tái sử dụng cache của prompt
    • --system-prompt: ngoài tất cả những điều đó, bạn thậm chí có thể thay thế hoàn toàn system prompt của Claude
    Quảng cáo
  6. Xóa attribution

Codex CLI (phiên bản xác nhận cuối cùng: 0.121.0 + mã nguồn Codex trên Github của phiên bản đó)

  1. Tắt MCP (app/connector) được kết nối với ChatGPT (features.apps = false)
  2. web_search = "disabled"
  3. Thiết lập giới hạn đầu ra (tool_output_token_limit)
  4. Các cờ giúp chạy tốt trong chế độ không đối thoại
    • --profile: có thể gom và áp dụng chọn lọc một bộ cài đặt cụ thể (web_search = "disabled", tool_output_token_limit = 2000, v.v.)
    • --json + --output-last-message FILE : giúp việc parse/trích xuất trong pipeline dễ hơn, từ đó giảm việc tiêu tốn lại token ở bước hậu xử lý
    • --sandbox read-only: trong các tự động hóa chỉ cần đọc, chặn việc vô tình thử ghi → vòng lặp retry → lãng phí token
    • --skip-git-repo-check: cho phép chạy ngay cả khi không phải thư mục đáng tin cậy
    • --ephemeral: không lưu file phiên vào đĩa
    • --color never: giúp đầu ra pipe sạch hơn
  5. Xóa attribution

Kết

Tôi đã kiểm chứng sự thật một cách kỹ lưỡng, nhưng dĩ nhiên vẫn có thể có chỗ sai. Nếu bạn thoải mái báo lại, tôi sẽ rất cảm kích.

5 bình luận

 
dzzwe 2026-04-20

Đây có vẻ sẽ là một bài viết tham khảo rất tốt. Nếu phần chính của bài viết là cách tiếp cận khóa van của “token đầu vào”,
thì tôi lại thường gặp nhiều trường hợp vấn đề nằm ở chỗ “chính những thứ đã được đăng ký” ngày càng nhiều lên, nên đã thử làm một công cụ tên là claude-slim.

Đây là một CLI quét, phân loại và sắp xếp các tình huống như: trong 60 skill thì có đến một nửa chưa từng được dùng lần nào, hoặc CLAUDE.md bị phình to do plugin. Token counting dựa trên js-tiktoken,
không xóa hẳn mà chuyển sang skills.disabled/ nên có thể restore bất cứ lúc nào.

https://github.com/iops-leo/claude-slim

Hướng đi này bổ sung chính xác cho các thiết lập trong bài viết, nên có vẻ sẽ rất tốt nếu dùng song song.

 
spilist2 2026-04-20

Ồ, cảm ơn vì đã chia sẻ!

 
duse0001 2026-04-20

Cảm ơn bạn đã chia sẻ thông tin hữu ích. Về cơ bản, tôi đang cảm nhận rõ rằng lượng token sử dụng bản thân nó đã giảm đi quá nhiều, nên mong là phía Claude sẽ tăng lên một chút. Vì khi harness chạy thì lại bị ngắt giữa chừng...

 
spilist2 2026-04-20

Cảm ơn. Claude cũng tiêu tốn nhiều token, mà hiệu quả công việc thì tôi cũng hơi không hài lòng so với Codex, nên dạo này tôi làm việc với Codex nhiều hơn.

 
windbug99 2026-04-27

Cảm ơn.