Cho AI assistant Jarvis quyền reverse engineer mọi thứ bằng REA

Zubair nối REA vào AI assistant Jarvis để mổ xẻ website igloo.inc và app Apple Notes bằng giọng nói, rồi build lại một app ghi chú từ bản teardown.

Đã duyệt độc lập · cập nhật 20/10/2026 · 18 min

1. Đoạn mở màn: "Jarvis, reverse engineer igloo.inc"

Video mở bằng đúng một câu ra lệnh bằng giọng nói. Zubair nói với AI assistant của mình: "Jarvis, reverse engineer igloo.inc for me" (Jarvis, reverse engineer trang igloo.inc cho tôi). Jarvis trả lời bằng giọng nói, gọi anh là "sir" như một người quản gia: nó đang mở igloo.inc trong một clean browser (một trình duyệt sạch, không đăng nhập, không cookie), REA sẽ tháo rời trang web trong lúc nó cuộn trang, và xin anh chừng một phút.

Zubair chỉ cho người xem thấy REA đã bắt đầu làm việc ngay trong lúc Jarvis đang cuộn website. "REA is watching while I scroll", tức REA đang quan sát trong khi Jarvis cuộn. Đó là Jarvis kể lại cho chúng ta những gì đang diễn ra ở hậu trường: REA nhận việc và bắt đầu ghi lại bản teardown (bản mổ xẻ). Một lát nữa, nó sẽ cho ra một bản phân tích đầy đủ.

Anh gọi chuyện này là "absolutely incredible" rồi tua nhanh tới đoạn sau của video. Lần này anh hỏi: "Jarvis, can you build me a Notes app similar to the Apple Notes?" (Jarvis, build cho tôi một app ghi chú giống Apple Notes được không?). Jarvis đáp rằng nó đang build, và sẽ test app trong một hidden browser (một trình duyệt chạy ẩn) trước khi mở ra cho anh. Kết quả là một app Notes của riêng anh, và anh khen nó "absolutely beautiful".

Lý do của cả video, theo Zubair: repo GitHub tên Reverse Engineer Anything đang "chiếm lĩnh internet" (theo video đăng ngày 14/10/2026). Anh nối nó vào AI assistant Jarvis của mình. Giờ anh chỉ cần nói "reverse engineer cái này", và Jarvis lấy bất kỳ website hay app nào, tháo nó ra từng mảnh, rồi build lại cho anh một bản của riêng anh.

Anh hứa hai việc cho phần còn lại: giải thích bằng những từ thật đơn giản REA là gì và reverse engineering là gì, rồi cho xem vài ví dụ để người xem hiểu hẳn cách nó chạy.

2. REA là gì, và Jarvis là ai

REA là viết tắt của Reverse Engineer Anything. Trên trang GitHub của repo morluto/rea, dòng giới thiệu là "One MCP for reverse engineering across binaries, applications, and runtime behavior": một MCP server duy nhất để reverse engineering binary, ứng dụng và hành vi lúc chạy. Theo phần mô tả của video (đăng ngày 14/10/2026), repo có hơn 230.000 star và là repo trending số 1 trên GitHub; README của repo gắn huy hiệu "#1 Repository Of The Day" của GitHub Trending. Mô tả video cũng nói REA cho các coding agent như Claude Code, Codex và Cursor khoảng 170 tool để nhìn vào bên trong phần mềm mà chúng không có source code, và rằng ai cũng đang chạy nó trong terminal, còn Zubair thì cho nó một giọng nói.

README của repo morluto/rea trên GitHub với tiêu đề REA: Reverse Engineer Anything
README của morluto/rea: tiêu đề "REA: Reverse Engineer Anything", dòng mô tả "One MCP for reverse engineering across binaries, applications, and runtime behavior", các huy hiệu npm, MCP tool catalog, license MIT, huy hiệu "#1 Repository Of The Day" và lệnh cài npx rea-agents setup.

Còn Jarvis là AI assistant của chính Zubair, thứ anh đã build suốt mấy tháng qua. Lúc quay video (đăng ngày 14/10/2026), Jarvis chạy trên Opus 5.5, nhưng anh nói mình có thể đổi "bộ não" của nó sang model khác.

Hình khối 3D đang xoay phía sau màn hình là một cách biểu diễn toàn bộ file của anh: mọi thứ về bản thân anh và công việc kinh doanh của anh mà Jarvis được quyền truy cập. Mỗi chấm là một note, các đường nối là liên kết giữa chúng; bảng bên trái ghi tên "AI WORKSHOP OS" cùng số note và số connection. Ngoài kho kiến thức đó, Jarvis còn có cả một bộ tool để dùng. Nói gọn, đây là một personal AI assistant đầy đủ.

3. Hai ví dụ của video

Ví dụ đầu tiên: Zubair sẽ nhờ Jarvis dùng REA để mổ xẻ website của Igloo Inc., theo lời anh là một trong những website 3D scrolling animation (hiệu ứng 3D chạy theo thao tác cuộn) nổi tiếng nhất, và từng đoạt giải, nên là ví dụ rất tốt để thấy REA được dùng ra sao khi cần bẻ mọi thứ ra xem cái trang này chạy thế nào.

Ví dụ thứ hai: anh sẽ nhờ Jarvis mổ xẻ app Apple Notes, rồi build một app mới tinh giống như vậy. Như đã hứa, sau demo thứ nhất anh sẽ dừng lại giải thích REA là gì và chuyện gì đã xảy ra khi kết quả trả về.

Ví dụ 1: website igloo.incVí dụ 2: app Apple Notes mở + cuộnREAteardown mở Notes.appREAteardown khoảng 30 đến 40 giây vài phút, rồi Jarvis build app mới bằng Claude Code (khoảng 15 phút)
Hình 3.1Lộ trình của video: một website (nhanh) và một app thật (lâu hơn, kèm bước build lại), cả hai đều qua REA.

4. Demo 1: Jarvis tự mở và tự cuộn igloo.inc

Zubair ra lệnh: "Jarvis, reverse engineer igloo.inc". Jarvis lặp lại câu quen thuộc: mở igloo.inc trong clean browser, REA sẽ tháo nó ra trong lúc nó cuộn, xin khoảng một phút.

Anh giải thích điều đang diễn ra: Jarvis mở website và cuộn trang, còn anh không đụng vào gì cả. Chính Jarvis làm việc cuộn. Một cửa sổ Chrome mới hiện lên trên nền "bộ não" 3D, trang igloo.inc với hình một cái lều tuyết (igloo) giữa vùng núi băng, logo IGLOO ở góc trái và đoạn "Manifesto" ở góc phải.

Cửa sổ Chrome mở trang igloo.inc với hình lều tuyết 3D, phía sau là giao diện Jarvis
Jarvis mở igloo.inc trong một cửa sổ Chrome riêng. Bên phải là bảng điều khiển của Jarvis (vòng tròn J.A.R.V.I.S., trạng thái online, nhãn Opus 5.5), bên trái là thanh của "AI Workshop OS".

Quay lại màn hình chính, anh chỉ vào một thẻ có tiêu đề "TEARDOWN igloo.inc", gắn nhãn "via REA". Thẻ này liệt kê từng bước: mở site trong clean browser, chờ trang tải xong, REA quan sát trong lúc Jarvis cuộn, REA đọc code, chụp một snapshot, liệt kê mọi thứ trang đã tải, nhận diện stack, và cuối cùng là viết bản teardown. Bên cạnh mỗi bước là con số đi kèm: "2 scripts captured", "2 routes", "95 requests · 14.7…", "Three.js r165, GSA…".

Zubair tóm lại: Jarvis đã mở được một trang Chrome mới, cuộn hết website để xem chính xác nó vận hành ra sao, rồi dùng REA để mổ xẻ toàn bộ và nhìn trọn trải nghiệm của trang. Các bước kia đều đã xong, Jarvis đã liệt kê hết những gì trang tải về: 95 request, 14,7 MB, Three.js bản r165.

5. Jarvis đọc kết quả: một scene Three.js trong một cái vỏ Svelte

Xong việc, Jarvis đọc to kết luận. Theo lời nó, Igloo Inc. là một scene Three.js chỉ dài đúng một màn hình. Bên ngoài là một cái vỏ (shell) Svelte rất nhỏ, vỏ này lazy load (chỉ tải khi cần) một bundle 3D lớn duy nhất. GSAP và ScrollTrigger điều khiển chuyển động, còn thư viện post-processing của pmndrs thêm các hiệu ứng bloom (vầng sáng), depth of field (độ sâu trường ảnh, phần xa bị mờ như ống kính máy ảnh) và anti-aliasing (khử răng cưa).

Điều bất ngờ, Jarvis nói, là phần texture (ảnh bề mặt cho vật thể 3D) nặng hơn mọi thứ còn lại, và một trong số đó là một texture chuyên chứa dữ liệu cuộn trang (scroll data texture). "The full teardown is on screen, sir": bản teardown đầy đủ đã hiện trên màn hình.

Zubair nhấn mạnh tốc độ: với website thì nhanh, vì website rõ ràng không phức tạp bằng một app thật. Lát nữa họ sẽ xem Jarvis dùng REA mổ xẻ Apple Notes, một app thật, rồi build một bản cho mình. Còn ở ca này, chỉ mất vài giây, khoảng 30 đến 40 giây, để bóc ra hết "nguyên liệu" và cách trang web này hoạt động.

6. Bản teardown đầy đủ của igloo.inc

Lúc này anh có hai cách: bảo Jarvis mở bản teardown đầy đủ và đọc cho anh nghe, hoặc tự bấm vào để mở toàn bộ báo cáo. Anh bấm mở. Đây là bản teardown đầy đủ cho igloo.inc, và anh nhắc lại: tất cả đều do REA làm. Jarvis dùng REA để bóc tách mọi thứ bên trong trang và trả về một báo cáo đầy đủ, gọn gàng. Ở góc trên của báo cáo có nút "Open in Obsidian".

Báo cáo TEARDOWN igloo.inc với các mục The answer và The stack
Phần đầu báo cáo: câu tóm tắt "A Svelte-shelled, scroll-driven Three.js scene", mục "The answer" (DOM chỉ 27 element, bundle App3D 1,4 MB, routes / và /portfolio/:project) và mục "The stack" liệt kê từng thư viện kèm bằng chứng.

Báo cáo viết rằng igloo.inc về bản chất là một ứng dụng WebGL. DOM của nó rất nhỏ: 27 element, dài một màn hình, không có ảnh, SVG, video hay iframe nào. Trên màn hình, báo cáo ghi thêm: một chunk Svelte 16 KB nạp động bundle App3D (1,4 MB) chứa Three.js, GSAP và một post-processing stack. Trang không có pin-spacer hay phần tử data-scroll nào dù chỉ cao một màn hình, nên "scroll" ở đây nhiều khả năng là ảo: thao tác lăn chuột hoặc chạm được đổi thành một giá trị tiến độ đưa vào scene 3D, thay vì thực sự di chuyển trang.

Báo cáo đưa ra stack. Three.js, Zubair nói, nếu bạn từng làm website thì đó có lẽ là một trong những tool phổ biến nhất. GSAP, báo cáo còn ghi cả version đang dùng (3.12.5, kèm ScrollTrigger và các plugin easing CustomEase, CustomWiggle, CustomBounce). Bloom, depth of field, FXAA, GLTFLoader với Draco và Meshopt, texture KTX2/Basis, GLSL tự viết: nó đưa ra toàn bộ stack mà website này dùng, và mỗi mục ghi rõ bằng chứng (fingerprint trong bundle, chuỗi ký tự tìm thấy, số request).

Tiếp theo là phần hiệu ứng chạy thế nào: khi cuộn trang, cái gì xảy ra; chính xác thì trang nạp động bundle 3D ra sao; các transcoder Draco và Basis có lẽ chạy trong worker như thế nào. Vân vân, cả một đống thuật ngữ kỹ thuật. Nhưng điều anh muốn cho thấy là: với bản phân tích này, bạn có một bức tranh đầy đủ về chính xác website vận hành thế nào ở hậu trường.

Anh cũng nói rõ: đây không phải một tool độc quyền bí mật nào, cũng không phải hack. Điều REA làm là dùng các developer tool có sẵn, như Chrome DevTools, để bóc tách mọi tài nguyên và tìm ra chính xác bên trong trang có gì. Anh sẽ cho thấy nó làm điều tương tự với một app, rồi build một bản cho mình.

Phần sau của báo cáo igloo.inc: dung lượng, Rebuild it và What the evidence can't show
Phần sau báo cáo: 95 request tổng 14,7 MB, toàn bộ cùng origin, không bên thứ ba (texture GPU 10,5 MB, audio 2,8 MB, model 0,5 MB); mục "Rebuild it" gồm 7 bước dựng lại (Vite + Svelte, GLTFLoader, virtual scroll, ShaderMaterial, postprocessing, Web Audio, routing); và mục "What the evidence can't show".

Như người xem thấy, báo cáo còn có cách hiệu ứng hoạt động, những gì trang tải về, phần dựng lại (rebuild), phần "bằng chứng không cho thấy được gì", và cuối cùng là bản thân các bằng chứng. Ở mục "What the evidence can't show", báo cáo thành thật liệt kê những chỗ nó không chắc: không tìm thấy phần tử canvas nào dù có cả một stack Three.js; không thấy được scroll input được nối vào scene ra sao; không biết scroll data texture và volume texture thực sự mã hóa gì; chưa xác nhận được vai trò của 6 worker; và không thấy cách 18 file audio được kích hoạt.

7. REA giải thích thật đơn giản: cho agent đôi mắt X-quang

Trước khi sang ví dụ thứ hai, Zubair giải thích REA bằng ngôn ngữ đơn giản hơn. Nói gọn, bạn cho AI agent của mình đôi mắt X-quang (x-ray vision). Anh mở một trang giải thích tự làm với tiêu đề "Give your AI X-ray vision", chia làm bốn bước.

Trang giải thích Give your AI X-ray vision với bốn bước You ask, Your AI, REA, Evidence
Bạn hỏi, AI lập kế hoạch điều tra và gọi REA, REA quan sát trang chạy, đọc code và ghi lại từng file tải về, rồi bằng chứng quay về AI. Khung dưới cùng ghi "No hacking": REA chỉ đọc những gì website vốn đã gửi tới trình duyệt của bạn.

Bước 1: bạn hỏi. Bạn đưa cho AI agent của mình, như Claude Code, GPT-6 Astra, hay trong trường hợp của anh là Jarvis, một yêu cầu cụ thể. Ví dụ: "How does this website work?" (website này hoạt động thế nào?). Ở đây anh đang nói đúng về ví dụ igloo vừa xem: chỉ cần hỏi AI assistant "website này làm được cái đó bằng cách nào", hay "website này chạy thế nào".

Bước 2: AI của bạn. AI agent, Claude Code hay ở đây là Jarvis, chuẩn bị một cuộc điều tra rồi gọi REA.

Bước 3: REA, bộ đồ nghề X-quang. REA quan sát trang khi nó đang chạy. Vì vậy người xem mới thấy Jarvis mở một cửa sổ Chrome mới, đi qua website và cuộn nó: REA thu lấy toàn bộ thông tin đó. Nó đọc code mà trang tải về, xem những gì diễn ra ở phía developer bằng các developer tool của Chrome, rồi ghi lại từng file trang tải, vân vân. Nó gom hết bằng chứng.

Bước 4: bằng chứng. REA gửi bằng chứng về cho AI agent của bạn. Dù bạn dùng Claude Code, GPT-6 Astra hay Jarvis như anh, nó gửi toàn bộ thông tin, toàn bộ báo cáo đó về, và đó chính xác là bản báo cáo đầy đủ người xem vừa thấy. Bằng chứng gồm: trang được build bằng gì, hiệu ứng hoạt động thế nào, và những gì REA không nhìn thấy được.

Như vậy REA đóng vai người trung gian (middleman): nó điều tra và đưa lại toàn bộ dữ liệu, bằng cách nhìn qua những tool có sẵn như Chrome DevTools. Đó là cách giải thích đơn giản nhất, theo Zubair.

Trang One sentence. 45 seconds. với dòng thời gian năm bước của ví dụ igloo
Trang "One sentence. 45 seconds.": anh hỏi to Jarvis "How does this site do that scroll?" rồi không chạm vào gì nữa. Dòng thời gian trên màn hình: 0s mở site, 3s REA bắt đầu quan sát, 11s REA đọc code, 17s xếp bằng chứng, 45s lưu bản teardown.

Nếu gói vào một câu: bạn mở site, REA bắt đầu quan sát những gì diễn ra trong khi Jarvis cuộn; REA đọc code, xếp bằng chứng thành hàng, rồi lưu bản teardown. Trong trường hợp của anh, bản teardown đó là một báo cáo đầy đủ gửi lại để họ đọc.

8. Không phải đoán, mà là công thức

Và tất nhiên, như họ đã thấy, nó không chỉ đoán. Nó đưa ra đúng công thức (the exact recipe). Trong báo cáo đầy đủ, phần stack ghi trang dùng Three.js, GSAP, rồi chỉ ra cách các animation và mọi thứ khác hoạt động.

Trang Not a guess. The recipe. với sáu ô kết quả REA tìm thấy
"Not a guess. The recipe.": sáu phát hiện về igloo.inc. Three.js (version 165) vẽ cả thế giới 3D; GSAP (version 3.12.5) canh thời gian chuyển động; blur, glow và polish bằng post-processing; 95 file, 14,7 MB (10,5 MB texture 3D nén, 2,8 MB nhạc, chỉ 0,5 MB model); "It doesn't scroll", trang chỉ cao một màn hình; và file "scroll data" 1,2 MB, phần Jarvis tự đoán và gắn nhãn "flagged as a guess". Dòng dưới: bản teardown được lưu vào bộ não của Jarvis kèm công thức 7 bước để dựng lại.

Trên trang này, phát hiện lớn nhất được gọi là "The big reveal": trang không hề cuộn. Nó chỉ cao một màn hình, và bánh xe chuột của bạn di chuyển một camera xuyên qua thế giới 3D. Ô "The secret file" thì khác: Jarvis đoán một phần animation được cất bên trong một bức ảnh, và chính trang ghi rõ đó là phỏng đoán.

Zubair gói lại: REA giống như đôi mắt X-quang cho agent của bạn, tức là các Claude Code trên đời, và trong trường hợp của anh là Jarvis AI assistant. Jarvis chạy trên Anthropic API; ở video này anh dùng Opus 5.5.

9. Chuẩn bị ví dụ 2: một app thật trên máy Mac

Ví dụ đầu tiên là vậy, anh hy vọng người xem đã hiểu. Giờ anh sẽ nhờ nó đánh giá một app, việc có lẽ phức tạp hơn đọc một website khá nhiều, rồi build một app tương tự.

Anh giải thích trước: anh sẽ cho nó nhìn vào Apple Notes. Máy Mac nào cũng có sẵn Apple Notes. Anh sẽ nhờ Jarvis giải mã, mổ xẻ toàn bộ bằng REA, rồi build một app ghi chú mới, về cơ bản là một "Apple Note" của riêng anh.

Cách Jarvis làm việc này: như anh đã nói, Jarvis dùng Claude Code và Claude cho phần build. Nó dựa vào REA để có bản phân tích, rồi sau đó dùng Claude Code để build mọi thứ.

Lệnh bằng giọng"reverse engineer…" REAteardown + bằng chứng Claude Codebuild từ blueprint App mớiđã test bản teardown được lưu vào long-term memory của Jarvis
Hình 9.1Chuỗi việc của ví dụ 2 theo lời Zubair: REA lo phần phân tích, Claude Code lo phần build, Jarvis điều phối bằng giọng nói.

Như anh nói, Jarvis có rất nhiều tool trong tay: mọi tool hằng ngày mà anh dùng. Thêm vào đó, nó có hẳn một số điện thoại, nó có thể nhắn tin cho anh, nó làm được rất nhiều thứ. Đó là lý do anh đưa REA vào trong Jarvis: đây là trợ lý cá nhân thật sự anh dùng mỗi ngày cho công việc kinh doanh.

10. Jarvis tháo rời Notes.app

Anh đóng cửa sổ báo cáo cũ và ra lệnh: "Jarvis, can you go ahead and reverse engineer the Apple Notes app on my Mac?" (Jarvis, reverse engineer app Apple Notes trên máy Mac của tôi nhé). Jarvis đáp rằng nó đang tháo rời Notes bằng REA, xin vài phút, và sẽ báo anh khi bản teardown đã nằm trong vault (kho note của nó).

App Notes mở ra ngay lập tức. Thẻ tiến trình lúc này ghi "TEARDOWN Notes.app via REA": nó tìm thấy Notes.app, mở Notes và chụp một snapshot. Tiếp theo là các dòng "REA Analyst Online", đọc playbook của REA, chọn route, chọn đúng tool, rồi "Inspecting with REA".

Thẻ TEARDOWN Notes.app via REA với các bước inspect plist, inspect macho, trace dylib resolution
Thẻ tiến trình khi REA mổ xẻ Notes.app: đọc playbook của REA hai lần, chọn route và tool, rồi các lời gọi REA lần lượt mở target, inspect plist, inspect macho (file thực thi của macOS), trace dylib resolution (lần theo các thư viện được nạp) và lấy danh sách class Objective-C.

Từ đây REA tiếp quản và về cơ bản là soi mọi thứ bên trong app. Anh nói rõ việc này sẽ lâu hơn ví dụ website, vì app Notes có nhiều chức năng hơn hẳn và dùng nhiều thứ hơn so với một website. Chắc chắn sẽ mất vài phút, nên anh để nó chạy.

Ít phút sau, Jarvis lên tiếng: "Teardown complete, sir." Kết luận ngắn của nó: Notes là một cái vỏ AppKit mỏng với năm plug-in, còn bộ máy thật sự nằm bên ngoài bundle của app, trong các private framework của Apple. Zubair xác nhận việc đã xong, rồi mở bản teardown đầy đủ của Apple Notes.

11. Bên trong bản teardown của Apple Notes

Anh bấm vào báo cáo. Dòng đầu ghi target là system, application, Notes.app (trên màn hình: /System/Applications/Notes.app, phân tích bằng REA 6.4.0 qua Jarvis). Anh giải thích lựa chọn của mình: vì anh cho nó quyền vào máy của chính anh và bảo nó build app của riêng anh, nên người xem cũng nên thử trên app của chính máy Mac mình, để ít nhất thấy thứ này hoạt động ra sao. Anh dùng Notes; người xem có thể thử với Preview hay một app nhỏ nào đó trên Mac, hoặc trên Windows.

Báo cáo kèm một ảnh chụp màn hình để chắc chắn nó đang mổ xẻ đúng thứ được yêu cầu. Câu tóm tắt: Notes là một app AppKit native, version 4.11, với năm extension cho Siri, widget, Quick Look, chia sẻ và Spotlight. Bộ máy lưu trữ và đồng bộ của nó nằm trong system framework, không nằm trong bundle của app.

Báo cáo TEARDOWN Apple Notes với mục The answer và The stack
Báo cáo Apple Notes: Notes là app Mac native truyền thống, không phải web app bọc trong vỏ; database ghi chú, đồng bộ iCloud và text engine nằm trong system framework dùng chung; năm plug-in nối Notes với Siri và Shortcuts, widget, Quick Look, menu Share và Spotlight. Mục "The stack" liệt kê Objective-C với AppKit (class có tiền tố ICM), bản build cho cả Apple Silicon và Intel, Interface Builder, asset catalog, localization, extension qua XPC, CloudKit và AppleScript.

Phần trả lời đưa ra stack: Objective-C với AppKit. Hợp lý, Zubair nói, vì đây là sản phẩm của Apple nên tất nhiên nó được build bằng Objective-C và AppKit. Rồi tới bản build cho cả Apple Silicon và Intel, các layout làm bằng Interface Builder, asset catalog đã compile: toàn bộ stack và cách nó hoạt động. Sau đó là các tính năng để dựng lại (rebuild features), phần bằng chứng không cho thấy được gì, và bản thân bằng chứng, đúng cấu trúc như báo cáo trước.

Anh lưu ý thêm: bản teardown này được tự động lưu vào long-term memory của Jarvis, và của Claude Code. Nhờ vậy giờ họ có thể nhờ nó dựng lại một thứ tương tự của riêng mình.

12. "Build me a Notes app": Jarvis dựng app từ bản thiết kế

Anh đóng báo cáo và nói: "Jarvis, can you build me a Notes app similar to the Apple Notes?" Jarvis trả lời đúng như đoạn mở màn: nó đang build, và sẽ test trong hidden browser trước khi mở cho anh.

Quá trình build bắt đầu. Một thẻ mới hiện ra với tiêu đề "BUILD, A NOTES APP SIMILAR T…" (build một app ghi chú giống app trên Mac). Lần này Jarvis dùng chính bản teardown, bản blueprint lấy được lúc nãy. Anh cố ý để thẻ này nhỏ, vì nếu to quá nó sẽ chiếm hết màn hình.

Thẻ BUILD a Notes app với blueprint Teardown Apple Notes và các giai đoạn Scaffold, Code, Test, Launch
Thẻ build: Jarvis lấy blueprint "Teardown · Apple Notes", một builder đang deploy và chạy online trong sandbox; bốn giai đoạn Scaffold, Code, Test, Launch. Phía trên còn thấy dòng của bản teardown trước: 9 lời gọi REA, đã lưu vào vault.

Nó sẽ đi qua scaffold (dựng khung), code, test và launch. Đây là build cả một app hoàn chỉnh nên sẽ mất thời gian. Anh để nó chạy vài phút, rồi quay lại xem khi xong.

13. Thử app Jarvis vừa build

Sau chừng 15 phút, Jarvis đã build xong app ghi chú của riêng anh. "Look at this. This is absolutely beautiful." App tên Slate, cửa sổ ghi "Slate, Notes", note đầu tiên "Welcome to Slate" giải thích rằng Slate giữ mọi thứ trong ba cột: folder, các note, và note bạn đang đọc.

App Slate Notes do Jarvis build với ba cột folder, danh sách note và note đang mở
App Slate do Jarvis build: cột trái có All Notes, Pinned, Unfiled và các folder Ideas, Work, Personal; cột giữa là danh sách note (một note được ghim, Markdown shortcuts, Launch checklist, Groceries…); cột phải là note "Welcome to Slate" với mục "Try these" (phím tắt tạo note, đánh dấu việc, nhảy tới note, ghim note) và dòng "Everything saves to this browser automatically, no account, no server".

Để so sánh, anh mở Apple Notes thật của mình và đặt hai cửa sổ cạnh nhau. Về giao diện và cảm giác, hai app trông rất giống nhau. Bên trái có danh sách note, có các note được ghim, có folder. "Actually I like this one better", thật ra anh thích bản này hơn. Có folder Ideas, anh bấm thử, đó là các folder khác nhau.

Ở dưới cùng có nút tạo folder mới. Giống hệt trong Apple Notes, nơi anh bấm dấu cộng để tạo folder, ở đây anh cũng làm được y vậy: bấm vào, một folder mới hiện ra, anh đặt được tên cho nó. "Nice."

Bấm vào mục Notes, mọi note của anh hiện lên. Anh đoán mấy cái nằm trên là các note đã ghim; tính năng này cho thấy app làm được cả những thứ mà anh nghĩ Apple Notes cũng có. Rồi anh thêm một note mới: nút tạo note nằm ngay trên cùng. Anh bấm, gõ tiêu đề "Testing" và vài ký tự thử, "perfect".

App Slate với note Testing vừa tạo, bên phải là Apple Notes để so sánh
Note "Testing" vừa tạo trong Slate (danh sách giờ có 10 note), đặt cạnh cửa sổ Apple Notes thật của Zubair ở bên phải để so sánh bố cục.

Theo anh, làm rất tốt. App có cùng kiểu chức năng; định dạng trông khác thì đương nhiên, và đúng là nên khác, vì nó không đi clone y nguyên. Nhưng mọi chức năng đều có mặt. Anh xóa thử một note: "perfect". Anh thử các nút định dạng xem có chạy không, bôi đậm (bold) một đoạn chữ: "nice". Mọi thứ đều chạy.

14. Vì sao REA làm bản build chính xác hơn

Zubair tổng kết demo: có vẻ Jarvis đã dùng REA để bóc tách mọi thứ, đưa một bản phân tích đầy đủ về chính xác cách app Notes của anh hoạt động, rồi dùng báo cáo đó để build một ứng dụng gần như rất giống cho anh.

Nếu chỉ nhờ Claude Code làm việc này mà không có REA, anh nghĩ nó có lẽ cũng build được thứ tương tự, nhưng có thể không chính xác bằng về mặt chức năng và các chi tiết khác. Với REA, mọi thứ được bóc tách: chức năng, giao diện và cảm giác, tất cả. Rồi toàn bộ báo cáo được trả về cho Claude Code hoặc AI assistant của bạn, bất kể bạn dùng assistant nào, để bản build chính xác hơn nhiều.

Claude Code tự làmClaude Code + bản teardown REA đoán từ trí nhớ, hỏi qua hỏi lại sửa đi sửa lại tới 10 lần có sẵn blueprint: chức năng, giao diện, stack, bằng chứng không bắt đầu từ con số 0
Hình 14.1Lợi thế Zubair nêu: không có REA thì agent phải đoán và qua lại nhiều lần; có bản teardown thì agent build từ một blueprint.

Đó là cái hay của REA, theo anh. Trước đây agent kiểu như phải đoán, và bạn phải qua lại với nó rất nhiều. Giờ REA đưa cho nó một bản blueprint gọn gàng, nên nó không phải bắt đầu từ con số 0, và bạn không phải qua lại tới 10 lần. Anh nghĩ lợi thế lớn nằm đúng ở chỗ đó.

15. Không phải công nghệ mới, và lời kết

Zubair nói rõ đây không phải công nghệ mới tinh. Khái niệm reverse engineering ứng dụng và website đã có từ lâu. Điều REA làm là cho các agent của bạn, các Claude Code hay các Jarvis trên đời, khả năng làm việc dễ dàng hơn nhiều và tăng độ chính xác. Nó bóc tách và tạo một bản báo cáo nhỏ gọn về mọi tính năng của những thứ nó nhìn thấy được, để agent của bạn tiếp cận được các tính năng, các thư viện và mọi thứ khác mà trước đó có lẽ nó không tự nhìn ra.

Một bản teardown của REA, như hai ví dụ trong video Cấu trúc + stacktrang/app được build bằng gì Bằng chứngfile, request, fingerprint Giới hạnnhững gì không thấy được
Hình 15.1Cả hai báo cáo trong video đều chia theo cùng khung: câu trả lời và stack, công thức dựng lại, những gì bằng chứng không cho thấy, và bản thân bằng chứng.

Anh hy vọng người xem thấy video hữu ích và hiểu sức mạnh của repo này. Đây là một tool rất hay, và anh sẽ tiếp tục build thêm trên nền nó, vì như ai đã xem các video trước của anh đều biết, anh liên tục cải tiến Jarvis cùng các "AI employee" khác của mình. Anh nghĩ tương lai nằm ở đó.

Thấy những repository như thế này thật tuyệt, anh nói. Càng có nhiều open source, càng có nhiều phần mềm open source, anh nghĩ càng tốt cho cả hệ sinh thái. Đây là chuyện rất đáng phấn khởi, và anh hy vọng sẽ thấy thêm nhiều thứ như vậy trong tương lai.

Anh cảm ơn người xem, mời like và subscribe, và nếu có câu hỏi thì để lại ở phần bình luận; anh sẽ cố trả lời sớm nhất có thể. Trong phần mô tả video, anh cũng hỏi người xem muốn Jarvis reverse engineer thứ gì tiếp theo, và hứa sẽ làm yêu cầu được nhiều người chọn nhất trong video sau. Phần mô tả còn ghi rằng REA dành cho việc học, cho khả năng tương thích (interoperability) và cho phần mềm bạn được phép phân tích; rằng Jarvis không bao giờ sao chép code, asset hay thương hiệu, không đụng tới licensing hay cơ chế chống sao chép; và nhắc người xem đọc license của bất cứ thứ gì họ cho nó phân tích.

Nguồn và liên kết 6 nguồn

  1. Tên gốc: I Gave My AI Assistant the Power to Reverse Engineer ANYTHING!
  2. Sự kiện: YouTube
  3. Video gốc: https://www.youtube.com/watch?v=84CkBM_jF4g youtube.com
  4. Kênh YouTube Zubair Trabzada | AI Workshop (Zubair Trabzada): youtube.com/channel/UC2b2wgxm0vFjQfJJ0iRcFRw youtube.com
  5. REA (Reverse Engineer Anything), repo trên GitHub, giấy phép MIT (README có lệnh setup npx rea-agents setup và phần How REA works): github.com/morluto/rea github.com
  6. Trang chính thức của REA, có guide và showcase: rea.tools rea.tools