- Đây là một dự án không chính thức phân tích trực quan toàn bộ cấu trúc và cơ chế hoạt động nội bộ của Claude Code, cho phép khám phá vòng lặp agent và hệ thống hơn 50 công cụ từ xử lý đầu vào đến render phản hồi
- Gồm 804 tệp, hơn 220 nghìn dòng mã, hơn 40 lệnh, hơn 22 công cụ, và là kết quả phân tích độc lập không liên quan đến Anthropic
- Vòng lặp agent gồm 11 giai đoạn xử lý như đầu vào, thông điệp, hệ thống, API, gọi công cụ, render..., giúp lần theo quá trình Claude Code tạo phản hồi
- Thông qua hệ thống công cụ và danh mục lệnh, dự án phân loại chi tiết các chức năng như thao tác tệp, thực thi, tìm kiếm, lập kế hoạch, quản lý hệ thống, đồng thời bao gồm nhiều tính năng riêng tư/thử nghiệm
- Các tính năng ẩn như Buddy, Kairos, UltraPlan, Coordinator Mode hỗ trợ các hành vi mở rộng như lập kế hoạch dài hạn, tác vụ song song, điều khiển từ xa, phiên duy trì liên tục
Cấu trúc và cơ chế hoạt động nội bộ của Claude Code
- Một dự án cho phép khám phá trực quan toàn bộ vòng lặp agent, hơn 50 công cụ, điều phối đa agent và các tính năng riêng tư của Claude Code, từ xử lý đầu vào đến render phản hồi
- Gồm tổng cộng 804 tệp, hơn 220 nghìn dòng mã, hơn 40 lệnh, hơn 22 công cụ
- Được phân tích dựa trên mã nguồn công khai và là dự án không chính thức không liên quan đến Anthropic
- Thời điểm phân tích là 31 tháng 3 năm 2026, được zackautocracy tuyển chọn cùng DeepWiki
-
Vòng lặp agent
- Khi người dùng nhập thông điệp, Claude Code sẽ đi qua 11 giai đoạn: đầu vào → thông điệp → lịch sử → hệ thống → API → token → công cụ → vòng lặp → render → hook → chờ
- Đầu vào được xử lý thông qua component
TextInput của Ink, còn trong chế độ không tương tác thì dùng stdin
- Mỗi giai đoạn được tổ chức để có thể theo dõi chi tiết quá trình Claude Code nhận thông điệp và tạo phản hồi
-
Trình khám phá kiến trúc
- Có thể bấm để duyệt toàn bộ cây mã nguồn, với các thành phần chính như sau
- Tools & Commands: công cụ và lệnh tích hợp
- Core Processing: logic xử lý cốt lõi
- UI Layer: cấu trúc giao diện người dùng
- Infrastructure: hạ tầng và môi trường thực thi
- Support & Utilities: tiện ích hỗ trợ
- Personality & UX: các yếu tố liên quan đến trải nghiệm người dùng
Hệ thống công cụ và lệnh
-
Hệ thống công cụ
- Phân loại theo chức năng hơn 22 công cụ tích hợp mà Claude Code có thể gọi
-
Thao tác tệp
- 6 công cụ gồm FileRead, FileEdit, FileWrite, Glob, Grep, NotebookEdit
-
Thực thi
- 3 công cụ gồm Bash, PowerShell, REPL
-
Tìm kiếm và nhập dữ liệu
- 4 công cụ gồm WebBrowser🔒, WebFetch, WebSearch, ToolSearch
-
Agent và tác vụ
- 11 công cụ gồm Agent, SendMessage, TaskCreate, TaskList, TeamCreate
-
Lập kế hoạch
- 5 công cụ gồm EnterPlanMode, ExitPlanMode, VerifyPlanExecution🔒
-
Liên quan đến MCP
- 4 công cụ gồm ListMcpResources, ReadMcpResource, McpAuth
-
Hệ thống
- 11 công cụ gồm AskUserQuestion, TodoWrite, Config, Workflow🔒, TerminalCapture🔒
-
Tính năng thử nghiệm
- 8 công cụ gồm Sleep, SendUserMessage, LSP🔒, PushNotification🔒
-
Danh mục lệnh
- Phân loại theo chức năng toàn bộ lệnh slash có thể dùng trong Claude Code
-
Thiết lập và cấu hình
- 12 lệnh gồm /init, /login, /logout, /config, /permissions, /model, /theme
-
Quy trình làm việc hằng ngày
- 24 lệnh gồm /compact, /memory, /context, /plan, /resume, /files, /summary
-
Code review và Git
- 13 lệnh gồm /review, /commit, /diff, /branch, /issue, /autofix-pr🔒
-
Debug và chẩn đoán
- 23 lệnh gồm /status, /stats, /usage, /think-back, /debug-tool-call, /heapdump
-
Tính năng nâng cao và thử nghiệm
- 23 lệnh gồm /advisor, /remote-control🔒, /teleport, /plugin, /web-setup, /help, /exit
Các tính năng ẩn
- Bao gồm nhiều tính năng riêng tư có trong mã nhưng chưa được triển khai
-
Buddy
- Thú cưng ảo tồn tại trong terminal, với loài và độ hiếm được quyết định theo ID tài khoản
-
Kairos
- Chế độ duy trì hỗ trợ hợp nhất ký ức giữa các phiên và hoạt động nền tự chủ
-
UltraPlan
- Phiên lập kế hoạch dài hạn có thể chạy tối đa 30 phút trên mô hình cấp Opus
-
Coordinator Mode
- Agent trưởng chia nhỏ công việc và tạo worker song song để thu thập kết quả
-
Bridge
- Tính năng cho phép điều khiển Claude Code từ xa bằng điện thoại hoặc trình duyệt
-
Daemon Mode
- Chạy phiên nền với tùy chọn
--bg, nội bộ sử dụng tmux
-
UDS Inbox
- Hỗ trợ giao tiếp giữa các phiên thông qua Unix domain socket
-
Auto-Dream
- Giữa các phiên, AI sẽ ôn lại hoạt động trước đó và sắp xếp nội dung đã học
Thông tin dự án
- Là dự án phân tích không chính thức, không có liên hệ trực tiếp với Anthropic
- Được tạo dựa trên mã nguồn Claude Code đã công khai, và một số nội dung có thể không chính xác hoặc đã cũ
- Phân tích được thực hiện dựa trên mã nguồn do @Fried_rice công khai
- Được tạo bởi zackautocracy với sự hỗ trợ tuyển chọn AI từ DeepWiki
1 bình luận
Ý kiến trên Hacker News
Một codebase CLI tác nhân quy mô 500k dòng cho thấy việc điều khiển một LLM mang tính xác suất theo cách quyết định là địa ngục quản lý trạng thái phức tạp đến mức nào
Nó hoạt động tốt trên các nền tảng đơn giản, nhưng rất dễ vỡ trong các kho mã doanh nghiệp lớn
Nếu không có state machine bên ngoài, độ tin cậy phải được cưỡng ép bằng brute force, nên 90% mã bị lấp đầy bởi defensive programming — regex, dọn ngữ cảnh, vòng lặp retry, rollback trạng thái, v.v. để ngăn tác nhân bị trôi
Phần trực quan hóa thì đẹp, nhưng vẫn tạo cảm giác đang cưỡi lên một khối mã hơn là có governance ở cấp hệ thống
Điểm cốt lõi là phía client chỉ cung cấp một bộ công cụ đơn giản (read file, output rich text, v.v.) và được thiết kế để server có thể đổi mới nhanh chóng
Tôi nghĩ nước sốt bí mật nằm ở chính cấu trúc buộc đội server phải nghĩ xem “với API giới hạn này thì có thể khai thác sáng tạo đến đâu?”
Nếu nó không giữ được lời hứa thì đó không chỉ là mức “code không ổn định”, mà là vấn đề có thể làm rung chuyển toàn bộ hệ thống tài chính
Những nơi như Meta ngược lại còn là ví dụ dùng CC hiệu quả nhất
Tôi là tác giả. Chỉ vài giờ sau khi Claude Code bị rò rỉ, tôi đã làm trang trực quan hóa này
Bình thường tôi dùng pi để xây coding agent của riêng mình, và muốn nghiên cứu cấu trúc của Anthropic (tool system, agent loop, v.v.)
Vì 500 nghìn dòng mã quá khó khám phá nên tôi tạo bản đồ trực quan để dùng làm tài liệu tham khảo
Tôi vẫn đang tiếp tục cập nhật trang dựa trên phản hồi, nên nếu còn phần nào thiếu thì rất mong được báo lại
Tôi đã so sánh, phân tích thiết kế và cách triển khai của hai hệ thống, và thấy ấn tượng vì trang của tác giả có vẻ cũng được làm bằng pi
Nếu có thể, tôi muốn xem thêm trực quan hóa pi vs cc
Tuy vậy, sẽ hay hơn nếu thêm chú thích hoặc tooltip ở phần ‘định dạng message của Anthropic’ — vì thực chất đó cũng là định dạng của OpenAI
Tôi tò mò liệu có tồn tại agent harness nào được viết mà không cần AI không
Cấu trúc chỉ là một TUI đơn giản gọi model endpoint mà lại thành 500k dòng thì cảm giác hơi quá tay
Nó có thể nhằm mục đích tái sử dụng mã hoặc đóng gói thành thư viện, cũng có thể là hệ quả của áp lực thời gian kiểu startup
Vấn đề chuyển đổi ASCII → Unicode có thể làm hỏng pipe hoặc parser, và cũng khiến copy/paste khó khăn
Chức năng lẽ ra phải đơn giản lại biến thành một cỗ máy Rube Goldberg
Có ý kiến thắc mắc: “500k dòng, chẳng phải chỉ ở mức REPL đơn giản sao?”
Opencode 670k, Codex 720k, Gemini khoảng 570k dòng, nên kích thước của Claude Code không phải bất thường
Dù vậy, một số ý tưởng chi tiết như theo dõi cache TTL vẫn khá thú vị
Nếu là năm 2020 thì hẳn không ai tưởng tượng nổi việc phân tích trực quan mã bị rò rỉ như thế này
Tôi cũng làm một trang tương tự từ 11 tiếng trước nhưng không được chú ý
Dù vậy, vẫn vui khi thấy một cách triển khai khác
Thử nghiệm của tôi ở đây
Điều vẫn khiến tôi ngạc nhiên là người ta có thể làm một trang đẹp như vậy chỉ trong hai ngày
Các trang do LLM tạo ra đôi khi trông rất chất lượng nhưng độ tin cậy của nội dung lại thấp
Ví dụ như nzoilwatch.com — nhìn như do chuyên gia làm nhưng thực tế lại là dự án cá nhân
Nếu công khai rõ ràng việc có dùng LLM hay không thì sẽ giảm bớt hiểu nhầm
Khi tôi nói UI mình làm còn sơ sài, họ đáp rằng họ tận dụng thư viện UI component nội bộ
Thế là tôi cũng tự tạo một thư viện tên substrateui.dev, rồi dùng Claude Code để tái cấu trúc design system và thưởng thức chính quá trình học UI
Có thể xem source bị rò rỉ trong kho Codeberg
Việc Anthropic dùng công cụ của chính mình để phát triển sản phẩm của mình khá thú vị
Nhưng với một dự án đã tồn tại 1 năm thì giờ cũng nên đến giai đoạn ổn định hơn rồi
Vì rốt cuộc LLM trong tương lai sẽ lo bảo trì, nên theo góc nhìn đó con người không nhất thiết phải tự tay dọn dẹp
Có thể thêm dự án này vào Awesome Claude Code