Cơ bản
Giao ngay
Giao dịch tiền điện tử một cách tự do
Giao dịch ký quỹ
Tăng lợi nhuận của bạn với đòn bẩy
Chuyển đổi và Đầu tư định kỳ
0 Fees
Giao dịch bất kể khối lượng không mất phí không trượt giá
ETF
Sản phẩm ETF có thuộc tính đòn bẩy giao dịch giao ngay không cần vay không cháy tải khoản
Giao dịch trước giờ mở cửa
Giao dịch token mới trước niêm yết
Futures
Truy cập hàng trăm hợp đồng vĩnh cửu
TradFi
Vàng
Một nền tảng cho tài sản truyền thống
Quyền chọn
Hot
Giao dịch với các quyền chọn kiểu Châu Âu
Tài khoản hợp nhất
Tối đa hóa hiệu quả sử dụng vốn của bạn
Giao dịch demo
Giới thiệu về Giao dịch hợp đồng tương lai
Nắm vững kỹ năng giao dịch hợp đồng từ đầu
Sự kiện tương lai
Tham gia sự kiện để nhận phần thưởng
Giao dịch demo
Sử dụng tiền ảo để trải nghiệm giao dịch không rủi ro
Launch
CandyDrop
Sưu tập kẹo để kiếm airdrop
Launchpool
Thế chấp nhanh, kiếm token mới tiềm năng
HODLer Airdrop
Nắm giữ GT và nhận được airdrop lớn miễn phí
Launchpad
Đăng ký sớm dự án token lớn tiếp theo
Điểm Alpha
Giao dịch trên chuỗi và nhận airdrop
Điểm Futures
Kiếm điểm futures và nhận phần thưởng airdrop
Đầu tư
Simple Earn
Kiếm lãi từ các token nhàn rỗi
Đầu tư tự động
Đầu tư tự động một cách thường xuyên.
Sản phẩm tiền kép
Kiếm lợi nhuận từ biến động thị trường
Soft Staking
Kiếm phần thưởng với staking linh hoạt
Vay Crypto
0 Fees
Thế chấp một loại tiền điện tử để vay một loại khác
Trung tâm cho vay
Trung tâm cho vay một cửa
AI Agent thực sự đang làm gì? Phân tích toàn diện vụ rò rỉ 500.000 dòng mã của Claude Code
51,2 vạn dòng mã, 1.906 tệp, 59,8 MB source map. Rạng sáng ngày 31 tháng 3, Chaofan Shou của Solayer Labs phát hiện sản phẩm chủ lực Claude Code của Anthropic đã phơi bày toàn bộ mã nguồn trên kho npm công cộng. Chỉ trong vài giờ, mã đã được nhân bản lên GitHub, số lượt fork vượt 41.000.
Đây không phải lần đầu Anthropic phạm lỗi như vậy. Khi Claude Code lần đầu phát hành vào tháng 2 năm 2025, cũng đã xảy ra một lần rò rỉ source map tương tự. Lần này phiên bản là v2.1.88, nguyên nhân rò rỉ giống nhau: công cụ dựng Bun mặc định tạo source map, còn tệp .npmignore lại bị bỏ sót tệp này.
Phần lớn các bài đưa tin tập trung điểm lại các “trứng phục sinh” trong vụ rò rỉ, như hệ thống thú cưng ảo, hay “chế độ nằm vùng” để Claude ẩn danh gửi mã cho các dự án mã nguồn mở. Nhưng vấn đề thực sự đáng mổ xẻ là: tại sao cùng một mô hình Claude lại thể hiện chênh lệch quá lớn giữa phiên bản web và Claude Code? 51,2 vạn dòng mã rốt cuộc đang làm gì?
Mô hình chỉ là một phần của tảng băng
Câu trả lời nằm trong cấu trúc mã. Theo phân tích ngược của cộng đồng GitHub đối với mã nguồn rò rỉ, trong 51,2 vạn dòng TypeScript, mã giao diện trực tiếp chịu trách nhiệm gọi mô hình AI chỉ khoảng 8.000 dòng, chiếm 1,6% tổng lượng.
Phần còn lại 98,4% đang làm gì? Hai mô-đun lớn nhất là công cụ truy vấn (46.000 dòng) và hệ thống công cụ (29.000 dòng). Công cụ truy vấn xử lý các lệnh gọi LLM API, đầu ra dạng luồng, điều phối cache và quản lý hội thoại nhiều lượt. Hệ thống công cụ định nghĩa khoảng 40 công cụ tích hợp sẵn và 50 lệnh gạch chéo (slash command), tạo thành một kiến trúc kiểu plugin; mỗi công cụ có cơ chế kiểm soát quyền riêng.
Ngoài ra còn có 25.000 dòng mã render giao diện người dùng terminal (trong đó có một tệp tên print.ts dài tới 5.594 dòng, một hàm duy nhất kéo dài 3.167 dòng), 20.000 dòng kiểm soát an toàn và quyền (bao gồm 23 hạng mục kiểm tra an ninh Bash được đánh số và 18 lệnh bash nội tại của Zsh bị chặn), và 18.000 dòng hệ thống điều phối đa tác tử (multi-agent).
Nhà nghiên cứu về học máy Sebastian Raschka cho biết, sau khi phân tích mã nguồn rò rỉ, Claude Code mạnh hơn phiên bản web dù cùng mô hình không phải vì chính mô hình, mà vì “giàn giáo phần mềm” được xây quanh mô hình, bao gồm tải ngữ cảnh kho mã, điều phối công cụ chuyên dụng, chiến lược cache và sự phối hợp giữa các tác tử con. Ông thậm chí còn cho rằng, nếu áp cùng kiến trúc kỹ thuật đó lên các mô hình khác như DeepSeek hoặc Kimi, cũng có thể đạt mức cải thiện hiệu năng lập trình tương tự.
Một so sánh trực quan có thể giúp hiểu sự chênh lệch này. Bạn nhập một câu hỏi vào ChatGPT hoặc Claude phiên bản web, mô hình xử lý xong thì trả về đáp án, và khi hội thoại kết thúc thì chẳng để lại gì. Nhưng cách Claude Code làm hoàn toàn khác: khi khởi động, nó đọc trước các tệp dự án của bạn, hiểu cấu trúc kho mã của bạn, và ghi nhớ sở thích bạn từng nói như “đừng mock database trong test”. Nó có thể trực tiếp thực thi lệnh, chỉnh sửa tệp và chạy test ngay trên terminal của bạn; khi gặp tác vụ phức tạp, nó sẽ chia thành nhiều tác vụ con và phân phối cho các tác tử con khác nhau xử lý song song. Nói cách khác, AI trên phiên bản web là một cửa sổ hỏi đáp, còn Claude Code là một cộng tác viên sống trong máy tính của bạn.
Có người ví kiến trúc này như một hệ điều hành: 42 công cụ tích hợp sẵn tương đương với system call, hệ thống quyền tương đương quản lý người dùng, giao thức MCP tương đương trình điều khiển thiết bị, và sự điều phối tác tử con tương đương lập lịch tiến trình. Mỗi công cụ khi xuất xưởng mặc định bị gắn nhãn là “không an toàn, có thể ghi”, trừ khi nhà phát triển chủ động khai báo nó là an toàn. Công cụ chỉnh sửa tệp sẽ bắt buộc kiểm tra xem bạn đã đọc tệp đó trước chưa; nếu chưa đọc thì sẽ không cho phép sửa. Đây không phải là một tiện ích mở rộng của chatbot mà chỉ “gắn thêm vài công cụ”, mà là một môi trường chạy có lõi là LLM, kèm cơ chế an toàn đầy đủ.
Điều này ngụ ý một điều: rào cản cạnh tranh của các sản phẩm AI có thể không nằm ở tầng mô hình, mà ở tầng kỹ thuật (engineering).
Mỗi lần cache bị xuyên thủng, chi phí tăng gấp 10 lần
Trong mã nguồn rò rỉ có một tệp tên promptCacheBreakDetection.ts, nó theo dõi 14 kiểu vectơ có thể khiến prompt cache bị mất hiệu lực. Tại sao các kỹ sư của Anthropic lại phải tốn nhiều công sức để ngăn cache bị xuyên thủng?
Nhìn vào bảng giá chính thức của Anthropic là hiểu. Ví dụ với Claude Opus 4.6: giá cho đầu vào chuẩn là 5 USD cho mỗi một triệu token, nhưng nếu trúng cache, giá đọc chỉ còn 0,5 USD—rẻ hơn 90%. Ngược lại, mỗi lần cache bị xuyên thủng, chi phí suy luận sẽ tăng gấp 10 lần.
Điều này lý giải các quyết định kiến trúc “tưởng như quá tay” trong mã nguồn rò rỉ. Khi Claude Code khởi động, nó tải nhánh git hiện tại, các bản ghi commit gần đây và tệp CLAUDE.md làm ngữ cảnh; những nội dung tĩnh này được cache toàn cục, tách nội dung động bằng các dấu ranh giới, để đảm bảo mỗi hội thoại không lặp lại xử lý cùng ngữ cảnh đã có. Trong mã còn có một cơ chế gọi là sticky latches, ngăn việc chuyển đổi chế độ phá vỡ các cache đã được thiết lập. Các tác tử con được thiết kế để tái sử dụng cache của tiến trình cha, thay vì dựng lại cửa sổ ngữ cảnh của riêng mình.
Có một chi tiết đáng khai triển. Ai đã dùng công cụ lập trình bằng AI đều biết: hội thoại càng dài, AI càng trả lời chậm, vì mỗi lượt hội thoại lại phải gửi lại toàn bộ lịch sử trước đó cho mô hình. Cách thông thường là xóa các tin cũ để giải phóng dung lượng, nhưng vấn đề là: xóa bất kỳ tin nào cũng phá vỡ tính liên tục của cache, khiến toàn bộ lịch sử hội thoại phải được xử lý lại—trễ và chi phí đều tăng vọt.
Trong mã nguồn rò rỉ có một cơ chế tên cache_edits. Cách làm là không thật sự xóa tin nhắn, mà ở tầng API đánh dấu các tin cũ là “skip”. Mô hình sẽ không thấy các tin này nữa, nhưng tính liên tục của cache không bị phá vỡ. Điều này có nghĩa là với một hội thoại dài kéo dài vài giờ, sau khi dọn đi vài trăm tin nhắn cũ, tốc độ phản hồi ở lượt tiếp theo gần như tương đương với lượt đầu tiên. Với người dùng phổ thông, đây chính là câu trả lời nền tảng cho “vì sao Claude Code có thể hỗ trợ hội thoại vô hạn mà không bị chậm”.
Theo dữ liệu giám sát nội bộ rò rỉ (từ phần ghi chú mã của autoCompact.ts, có đánh dấu ngày 10 tháng 3 năm 2026), trước khi đặt giới hạn cho việc tự nén thất bại, Claude Code mỗi ngày đã lãng phí khoảng 250.000 lần gọi API. Có 1.279 phiên người dùng (user sessions) gặp từ 50 lần trở lên các lần tự nén liên tiếp thất bại, và phiên tệ nhất thất bại liên tiếp 3.272 lần. Cách khắc phục chỉ là thêm một dòng giới hạn: MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3.
Vì vậy, đối với sản phẩm AI, chi phí suy luận của mô hình có thể không phải là lớp đắt nhất; thất bại trong quản lý cache mới là thứ tốn kém.
44 công tắc, cùng hướng tới một mục tiêu
Trong mã nguồn rò rỉ có giấu 44 feature flags—các công tắc bật/tắt chức năng đã được biên dịch xong, chỉ là chưa công bố ra bên ngoài. Theo phân tích của cộng đồng, các flags này được chia thành năm nhóm theo miền chức năng; nhóm dày đặc nhất là “tác tử tự chủ” (12), nhắm đến một hệ thống tên KAIROS.
KAIROS được trích dẫn trong mã nguồn hơn 150 lần; đó là một chế độ thường trú dạng daemon chạy nền. Claude Code không còn chỉ là công cụ phản hồi khi bạn chủ động gọi; nó là một tác tử luôn chạy trong nền, liên tục quan sát, ghi nhận, và chủ động hành động vào đúng thời điểm. Giả định là không làm gián đoạn người dùng—mọi thao tác có thể làm người dùng bị chặn quá 15 giây sẽ bị trì hoãn thực thi.
KAIROS còn tích hợp cảm nhận tiêu điểm terminal. Trong mã có một trường terminalFocus, dùng để phát hiện theo thời gian thực liệu người dùng đang xem cửa sổ terminal hay không. Khi bạn chuyển sang trình duyệt hoặc ứng dụng khác, tác tử phán đoán bạn “không ở đó”; nó sẽ chuyển sang chế độ tự chủ, chủ động thực thi tác vụ, gửi trực tiếp mã, và không chờ bạn xác nhận. Khi bạn quay lại terminal, tác tử ngay lập tức chuyển về chế độ cộng tác: báo cáo ngay vừa làm gì xong, rồi hỏi ý kiến bạn. Mức độ tự chủ không cố định; nó dao động theo sự chú ý của bạn theo thời gian thực. Điều này giải quyết một vấn đề lúng túng lâu nay của công cụ AI: AI hoàn toàn tự chủ khiến người ta không yên tâm, còn AI hoàn toàn thụ động thì hiệu suất lại quá thấp. Lựa chọn của KAIROS là để tính chủ động của AI tự điều chỉnh động theo sự chú ý của người dùng: bạn nhìn vào nó thì nó yên phận, bạn đi khỏi thì nó tự làm việc.
Một hệ thống con khác của KAIROS tên autoDream: cứ tích lũy 5 hội thoại hoặc cách 24 giờ, tác tử sẽ khởi động trong nền một quy trình “tự phản tư”, đi theo 4 bước. Đầu tiên, quét các trí nhớ sẵn có để hiểu hiện tại mình đang nắm gì. Sau đó trích xuất tri thức mới từ nhật ký hội thoại. Tiếp theo hợp nhất tri thức mới và cũ, sửa mâu thuẫn và loại bỏ trùng lặp. Cuối cùng rút gọn chỉ mục, xóa các mục đã lỗi thời. Thiết kế này học hỏi từ lý thuyết củng cố trí nhớ trong khoa học nhận thức: con người khi ngủ sẽ sắp xếp lại ký ức ban ngày, còn KAIROS khi người dùng rời đi sẽ sắp xếp lại ngữ cảnh dự án. Với người dùng phổ thông, điều này có nghĩa là bạn dùng Claude Code càng lâu thì mức độ hiểu của nó về dự án của bạn càng chính xác—không chỉ là “nhớ bạn đã nói gì”.
Nhóm thứ hai là “chống chưng cất giả mạo và an toàn” (8 flags). Trong số đó đáng chú ý nhất là cơ chế fake_tools: khi đồng thời thỏa mãn 4 điều kiện (flag bật ở thời điểm biên dịch, CLI entry được kích hoạt, dùng API của bên thứ nhất, và GrowthBook remote switch là true), Claude Code sẽ chèn định nghĩa các công cụ giả vào yêu cầu API, nhằm mục đích làm nhiễm bẩn các bộ dữ liệu có thể được dùng để ghi lại luồng API và huấn luyện mô hình của đối thủ cạnh tranh. Đây là một hình thái phòng thủ mới trong cuộc đua “vũ khí AI”: không phải ngăn bạn bê đi, mà là để bạn bê nhầm thứ sai.
Ngoài ra, trong mã còn xuất hiện mã hiệu mô hình Capybara (chia thành ba tầng: bản tiêu chuẩn, bản fast và bản cửa sổ ngữ cảnh triệu cấp), được cộng đồng đoán rộng rãi là mã hiệu nội bộ của dòng Claude 5.
Trứng phục sinh: Trong 51,2 vạn dòng mã cất giấu một thú cưng điện tử
Giữa tất cả các kiến trúc kỹ thuật nghiêm túc và cơ chế an toàn, các kỹ sư của Anthropic vẫn lén lắp một hệ thống thú cưng ảo hoàn chỉnh, mã nội bộ BUDDY.
Theo mã nguồn rò rỉ và phân tích của cộng đồng, BUDDY là một thú cưng dạng giả lập hiển thị trong terminal: nó xuất hiện trong khung bong bóng ASCII cạnh ô nhập của người dùng. Nó có 18 loài (bao gồm chuột chũi nước/capybara-like, kỳ nhông đuôi vặn (salamander-like), nấm, ma, rồng, và một loạt sinh vật nguyên bản như Pebblecrab, Dustbunny, Mossfrog). Các loài được chia thành năm hạng theo độ hiếm: phổ thông (60%), hiếm (25%), rất hiếm (10%), sử thi (4%) và huyền thoại (1%). Mỗi loài còn có “phiên bản lấp lánh”: riêng xác suất xuất hiện Shiny Legendary Nebulynx hiếm nhất chỉ là 1/10.000.
Mỗi BUDDY có năm thuộc tính: DEBUGGING (gỡ lỗi), PATIENCE (kiên nhẫn), CHAOS (hỗn loạn), WISDOM (trí tuệ) và SNARK (lời nói mỉa mai). Chúng còn đội mũ, với các lựa chọn như vương miện, mũ lễ phục, mũ cánh quạt xoắn (spiral/propeller), vòng hào quang (halo), mũ phù thủy, thậm chí có cả một chú vịt con mini. Giá trị băm của user ID quyết định bạn sẽ nở ra con thú cưng nào; Claude sẽ tạo tên và tính cách cho nó.
Theo kế hoạch triển khai được rò rỉ, BUDDY ban đầu dự kiến được đưa vào thử nghiệm nội bộ từ 1/4 đến 7/4, và lên chính thức vào tháng 5, bắt đầu từ nhân viên nội bộ của Anthropic.
51,2 vạn dòng mã, 98,4% làm công trình kỹ thuật “xịn sò”, nhưng cuối cùng vẫn có người bỏ thời gian để tạo ra một con tắc kè điện tử sẽ đội mũ cánh quạt xoắn. Có lẽ đây mới là dòng mã người tính người nhất trong toàn bộ vụ rò rỉ.