Project Headroom: Công cụ mã nguồn mở giúp "cắt máu" chi phí AI từ kỹ sư Netflix
Tejas Chopra, kỹ sư cao cấp tại Netflix, đã phát triển Project Headroom để nén dữ liệu đầu vào cho LLM, giúp người dùng tiết kiệm hàng trăm nghìn USD chi phí tính toán token.

Khi các giám đốc vận hành (COO) của Uber và Microsoft nhận ra rằng việc khuyến khích kỹ sư sử dụng AI một cách mạnh mẽ có thể dẫn đến những hóa đơn sử dụng khổng lồ, thậm chí bù đắp cho lợi ích từ việc sa thải nhân viên, thì tại Netflix, vấn đề này đã được giải quyết nhờ một kỹ sư tài ba.
Tejas Chopra, kỹ sư cao cấp tại Netflix, đã tạo ra một phần mềm có tên Project Headroom nhằm cắt giảm các chỉ dẫn thừa thãi (tính theo token) trước khi chúng được gửi đến các Mô hình Ngôn ngữ Lớn (LLM). Chopra ước tính rằng tới 90% số token là dư thừa đối với các "cỗ máy tư duy" khổng lồ này.
Mặc dù không phải là dự án chính thức của Netflix, nhiều đội nhóm tại đây và một số dự án bên ngoài đã tin dùng Headroom.
Tiết kiệm hàng trăm nghìn USD
Tại Hội nghị Thượng đỉnh Mã nguồn Mở (Open Source Summit) tuần trước, Chopra cho biết Headroom đã giúp người dùng tiết kiệm ước tính 700.000 USD. Tổng cộng, cộng đồng người dùng hiện có thêm 200 tỷ token để chi tiêu cho các mục đích khác. Đây là một kết quả ấn tượng đối với một ứng dụng mã nguồn mở mới chỉ ra mắt từ tháng 1 năm nay.
Hiện tại, Headroom ở phiên bản v0.22 và đã thu hút 2.000 sao (stars) trên GitHub cũng như được fork hơn 120 lần.
"Rất nhiều người dùng của chúng tôi là những người đã thực sự bị 'đốt cháy' bởi chi phí token, hơn là bất cứ thứ khác," Chopra chia sẻ trong bài thuyết trình của mình.
Nén ngữ cảnh không mất mát dữ liệu
Ý tưởng tối ưu hóa token xuất hiện khi Chopra nhận thấy một hóa đơn 287 USD từ Claude Sonnet. Hóa đơn này đến từ các dự án cá nhân điển hình: một chút gỡ lỗi (debugging), tái cấu trúc code, và các công cụ MCP truy vấn cơ sở dữ liệu. Mặc dù mức giá 3 USD cho mỗi triệu token đầu vào nghe có vẻ hời, nhưng các chi phí nhỏ tích tụ lại rất nhanh.
Khi kiểm tra kỹ, ông nhận thấy phần lớn dữ liệu này là dư thừa đối với LLM. Thủ phạm không phải là các chỉ dẫn do chính ông viết ra, mà là các dữ liệu mẫu (boilerplate) và siêu dữ liệu của máy đi kèm: các lược đồ JSON dài dòng, mẫu lồng nhau trong phản hồi API, và các cột cơ sở dữ liệu trùng lặp.
"Đây không phải văn xuôi. Đây không phải sáng tác văn học. Đây là dữ liệu có thể nén được nhưng lại ngụy trang dưới dạng văn bản," Chopra viết trong một bài đăng blog giới thiệu phần mềm của mình.
Các nhà cung cấp mô hình cũng có công cụ tiết kiệm token riêng, nhưng các cài đặt này thường khá mơ hồ đối với người dùng cuối. Ví dụ, theo mặc định, Claude có cài đặt bộ nhớ đệm tiền tố (prefix cache) chỉ trong năm phút. Sau năm phút không hoạt động, toàn bộ cửa sổ ngữ cảnh cần được làm mới, ngay cả khi LLM cần chính xác dữ liệu đó.
Cơ chế hoạt động của Headroom
Headroom hoạt động như một proxy (cổng 8787) trên máy tính của kỹ sư, chạy bằng Python và Node. Người dùng bao bọc LLM của họ tại giao diện dòng lệnh (ví dụ: "headroom wrap codex") và công cụ sẽ phân tích đầu vào.
Mặc dù Headroom có nén một chút mã lập trình và chỉ dẫn của con người, nó hoạt động tốt nhất trong việc cắt giảm nhật ký máy chủ (90% trong số này có thể loại bỏ), đầu ra công cụ MCP (70% JSON dư thừa), đầu ra cơ sở dữ liệu (tất cả đều là một lược đồ), và cây tệp tin (nhiều siêu dữ liệu lặp lại).
Quy trình của Headroom bao gồm các bước sau:
- CacheAligner: Chỉ tìm kiếm thông tin đã thay đổi trong đầu vào đã được nhập và chỉ gửi thông tin mới, loại bỏ nhu cầu thay thế toàn bộ văn bản lớn phần lớn không thay đổi trong KV Cache — nơi nhà cung cấp AI lưu trữ cửa sổ ngữ cảnh của người dùng.
- Bộ nén: Một quy trình định tuyến sẽ suy luận loại nội dung và gửi nó đến một trong số các bộ nén. Bộ nén Abstract Syntax Tree (AST) nén mã lập trình. Các bộ nén JSON và Document Object Model (DOM) cắt bỏ JSON và dữ liệu mẫu web không cần thiết.
- Squashers: Các công cụ này xem xét đầu vào văn bản hoặc JSON và quyết định các phần nào thực sự liên quan dựa trên phân tích thống kê. Chúng học hỏi trong một vòng phản hồi nếu chúng đang nén quá nhiều hoặc quá ít.
- Compress Cache and Retrieve (CCR): Quy trình cuối cùng này cung cấp khả năng cho LLM xem xét dữ liệu gốc chưa bị nén. Nó đặt các đánh dấu nơi dữ liệu đã được nén, vì vậy nếu LLM muốn lấy lại ngữ cảnh gốc, nó có thể gọi một Headroom MCP để truy xuất tài liệu cần thiết từ máy của người dùng. Ngữ cảnh gốc được lưu trữ trên Redis hoặc SQLite.
Không chỉ tiết kiệm tiền, còn tăng tốc độ
Chopra thừa nhận vẫn còn nhiều việc phải làm với ngăn xếp phần mềm này, đặc biệt là trong việc kiểm tra độ chính xác. Nhiều bộ nén hơn cũng có thể được xây dựng cho các loại dữ liệu cụ thể khác như dữ liệu tài chính. Âm thanh, hình ảnh và video cũng sẽ cần được giải quyết (một người dùng đã fork dự án để phân tích video).
Một dự án liên quan có tên Headlight sẽ sớm được mã nguồn mở để theo dõi nguồn gốc của từng token, điều này rất hữu ích để đảm bảo độ chính xác trong công việc đa mô hình.
Việc tiết kiệm token không chỉ giúp tiết kiệm tiền mà còn có thể cải thiện kết quả, các nghiên cứu cho thấy. Các tác nhân (agents) thường gửi nhiều ngữ cảnh hơn mức mô hình có thể sử dụng, điều này không chỉ làm rỗng túi tiền của người dùng mà còn thực sự khiến LLM trở nên "ngu ngốc" hơn.
Giống như chúng ta, LLM cũng bị bối rối khi gặp quá nhiều thông tin. Một nhóm các nhà nghiên cứu từ Đại học Stanford phát hiện ra rằng LLM có xu hướng chú ý nhiều hơn vào đầu và cuối cửa sổ ngữ cảnh, và có xu hướng bỏ qua các phần ở giữa. Tương tự, các nhà nghiên cứu từ Chroma suy ra rằng "hiệu suất ngày càng không đáng tin cậy khi độ dài đầu vào tăng lên". Họ gọi hiện tượng này là "context rot" (ngữ cảnh mục nát).
Việc cắt giảm các câu lệnh (prompt) cũng có thể cải thiện độ trễ (latency). Chopra kể lại rằng một người dùng Headroom đã fork phần mềm cho một ứng dụng kích hoạt bằng giọng nói. Với giọng nói, ngay cả sự im lặng cũng có thể tạo ra token. Người dùng mong đợi phản hồi từ ứng dụng trong vòng 200 mili-giây để dịch vụ nghe có vẻ tự nhiên, vì vậy công ty đang sử dụng Headroom để giúp thu hẹp cửa sổ độ trễ này.
Headroom cũng mang lại tin tốt cho những người lo ngại về việc các trung tâm dữ liệu làm nóng thế giới. Ít token hơn có nghĩa là cửa sổ ngữ cảnh nhỏ hơn, đồng nghĩa với việc sử dụng ít năng lượng hơn — ít nhất là cho đến khi nghịch lý Jevons xảy ra và con người tìm ra những cách tiêu tốn năng lượng hơn để làm phim hoạt hình mèo của họ.
Bài viết liên quan

Phần mềm
Tấn công chuỗi cung ứng WordPress: Kẻ tấn công mua 30 plugin trên Flippa và cài cửa sau
06 tháng 5, 2026

Công nghệ
CEO Palantir: 10% thế giới "ghét chúng tôi một cách chuyên nghiệp"
05 tháng 5, 2026

Phần mềm
MySQL 9.7: Bản LTS lớn đầu tiên kể từ 8.4 mang tính năng Enterprise xuống phiên bản Community
10 tháng 5, 2026
