So sánh 4 framework Codex trên cùng một tính năng thật
Bốn framework (Superpowers 7, Matt Pocock's skills, Compound Engineering, pstack) và Codex trơn cùng build một tính năng: thời gian, token và chất lượng code.
✓ Đã duyệt độc lập · cập nhật 28/10/2026 · 11 min
1. Gần bốn tiếng rưỡi cho một lần chạy
The Gray Cat mở đầu bằng một cảnh rất đời thường: lúc anh đi ngủ, Superpowers 7 vẫn còn đang chạy. Theo số đo của anh (video đăng ngày 20/10/2026), Poteto đã xong sau 27 phút, còn toàn bộ lần chạy kéo dài gần bốn tiếng rưỡi.

Anh nhắc lại những bài test mà anh gọi là "khét tiếng" của mình trước đây: chúng ngốn trọn những ngày cuối tuần và cuối cùng vẫn để lại cho anh cảm giác thất vọng. Lần này thì khác: theo đánh giá của anh trong video đăng ngày 20/10/2026, những lần chạy lâu hơn lại cho ra các bản implementation mạnh hơn.
Người xem đã yêu cầu, nên theo anh đây là lần đầu anh so sánh các framework trong Codex (video đăng ngày 20/10/2026). Anh thử Matt Pocock's skills và pstack. Compound Engineering và Superpowers cũng tham gia, cùng với Codex "trơn" (plain Codex, không dùng framework nào) làm mốc so sánh. Anh hứa sẽ cho thấy phần thời gian dôi ra đó đã đi đâu, và bản implementation nào anh giữ lại cho app của mình.
2. Tính năng cần build: tự chọn screen footage cho The Gray Cut
The Gray Cut là trình dựng video của chính anh. Theo anh (video đăng ngày 20/10/2026), app này đã cắt phần talking head (cảnh anh nói trước camera) một cách tương đối ổn định, nhưng việc tìm đúng đoạn screen footage thì vẫn tốn hàng giờ trong Premiere. Anh phải tua qua những đoạn demo dài, rồi chỉnh tốc độ phát cho khớp với điều mình đang giải thích. Anh nói thà dành thời gian đó để thử thêm nhiều công cụ khác.
Theo lời anh, app đã có sẵn một tích hợp LLM (tính đến video đăng ngày 20/10/2026). Anh muốn nó transcribe phần bình luận anh nói trong lúc quay màn hình, và cho model thấy điều gì đang diễn ra trên màn hình. Có được context đó, model có thể chọn đúng đoạn b-roll cho điều anh đang nói. Kết quả anh muốn nhận là một timeline chỉnh sửa được trong Premiere, để anh vẫn có thể sửa những lựa chọn sai.
Anh brainstorm tính năng này với Claude, rồi nhờ Claude chuẩn bị prompt cho Claude Design. Theo anh (demo trong video đăng ngày 20/10/2026), các bản design trông khá ổn, nên anh export HTML ra để đưa cho các coding agent.
3. Năm setup Codex, cùng một điểm xuất phát
Để so sánh, The Gray Cat dùng năm setup Codex tách biệt, cùng một code ban đầu. Mọi coding agent đều dùng GPT-6.1 Sol ở mức effort medium (cấu hình anh chọn cho bài test trong video đăng ngày 20/10/2026). Setup Plain chỉ nhận đúng prompt, không có plan mode.

Anh để prompt hiện trên màn hình (video đăng ngày 20/10/2026). Trong session của Plain, phần đang thấy được của prompt mở đầu bằng câu "If something important is unclear, ask me." và một danh sách luật cho công việc này:
If something important is unclear, ask me. Rules for this job: - Stay in this worktree and on its current branch. Do not create other worktrees or branches, push, merge, open pull requests, or install Git hooks. Local commits are fine. - Do not run the AI pass, transcription, or any paid or live service against real recordings. Use small generated fixtures in tests. - Do not change assistant configuration or install tools. - Existing behavior and golden fixtures must keep passing. Run `make test` before you finish. - When you finish, report each requirement as done, partial or not done, the commands you ran with their outcomes (a skip is not a pass), and what still needs a hands-on check in the running app.
Ngay bên dưới, cũng trên màn hình trong video đăng ngày 20/10/2026, là một mục tên "Code Comments" kèm lời dặn đọc hai lần. Mục này mở đầu bằng "THE DEFAULT NUMBER OF COMMENTS IS ZERO. EVERY COMMENT YOU WRITE IS A DEFECT UNTIL PROVEN OTHERWISE." và liệt kê những loại comment không được viết: comment nhiều dòng, header, banner, docstring lặp lại signature, comment nói code làm gì, comment kể lại thay đổi ("now we handle X"), nhãn phân đoạn, banner theo plan hay theo ticket ("Part A2", "Phase 3"). Comment duy nhất được phép tồn tại là một dòng khoảng mười từ, ngữ pháp bình thường, nói rõ một lý do (WHY) không hiển nhiên mà người đọc giỏi không tự suy ra được từ code, ví dụ "Retries twice because the upstream rate-limits bursts." Cuối mục là yêu cầu đọc lại mọi comment đã thêm trước khi đưa diff ra, xóa những cái vi phạm, rồi xóa thêm một nửa số còn lại.
4. Claude Opus 5.5 đứng giữa trả lời câu hỏi
Người điều phối thí nghiệm là Claude Opus 5.5 ở mức effort extra high (cấu hình anh chọn trong video đăng ngày 20/10/2026). Opus trả lời câu hỏi của các framework dựa trên bản design gốc của anh, và duyệt các bước tiếp theo của chúng.

Theo anh (video đăng ngày 20/10/2026), anh khá hài lòng với Opus ở vai trò này. Opus phản bác những đề xuất làm lệch hướng ban đầu của anh. Một ví dụ: app liệt kê các file video anh đã thêm vào project. Compound muốn khi xóa một video khỏi danh sách đó thì vẫn giữ các clip của nó trên timeline. Opus sửa lại điểm này: xóa một video khỏi project thì cũng phải xóa các clip của nó trên timeline, còn file gốc vẫn nằm nguyên trên đĩa. Nhờ vậy các session vẫn tiếp tục chạy trong lúc anh rời máy.
5. Poteto mode từ pstack: xong đầu tiên sau khoảng 27 phút
Poteto là setup xong đầu tiên. Theo The Gray Cat (video đăng ngày 20/10/2026), đây là pstack, bộ sưu tập engineering skill của Lauren Tan, và anh dùng bản port cho Codex của Michael Denyer. Các skill bao phủ design và code review, kèm những quy tắc giữ thay đổi nhỏ và kiểm tra lại kết quả.

skills/*/SKILL.md trên màn hình (video đăng ngày 20/10/2026): từ architect, blast-radius, poteto-mode, tdd đến hàng loạt skill principle như principle-prove-it-works hay principle-subtract-before-you-add.Theo anh (video đăng ngày 20/10/2026), trong đó có khá nhiều thứ, nhưng điểm vào thì đơn giản: anh dán task vào poteto mode, và nó tự chọn workflow. README của bản port cũng ghi tương tự: nói cho poteto-mode mục tiêu của bạn, nó sẽ gọi đúng workflow cho task (đọc ngày 28/10/2026).
Với tính năng này, anh dùng một skill architecture để lên kế hoạch thay đổi. Trong demo (video đăng ngày 20/10/2026), nó chạy năm sub-agent và không hỏi câu nào. Theo số đo của anh, khoảng 27 phút sau nó báo công việc đã xong.
6. Plain Codex và lỗi của hai bản làm nhanh
Plain Codex, không có framework nào, mất khoảng 35 phút theo số đo của The Gray Cat (video đăng ngày 20/10/2026). Nhưng code review tìm ra vấn đề trong cả hai bản implementation nhanh này.
Ở bản của Poteto, một khi các screen clip đã được đặt lên timeline thì không thể thay đổi độ dài đoạn cắt talking head nữa (kết quả review trong video đăng ngày 20/10/2026). Theo anh, chuyện đó sẽ gây khó chịu rất nhanh: anh muốn tiếp tục chỉnh talking head, còn các screen clip thì cứ nằm nguyên chỗ anh đã đặt.

Bản Plain thì gặp vấn đề khi đặt một screen clip chồng lên một screen clip khác (kết quả review trong video đăng ngày 20/10/2026). Hành vi đúng theo anh là clip mới chỉ thay thế đúng phần bị che.
Vậy đó là các kết quả nhanh. Theo đánh giá của anh trong video đăng ngày 20/10/2026, cả hai vẫn cần sửa đáng kể trước khi anh dùng được bất kỳ bản implementation nào trong hai bản này.
7. Compound Engineering: một tiếng rưỡi, 26 sub-agent
Compound Engineering đến từ Every. Theo The Gray Cat (video đăng ngày 20/10/2026), workflow của nó bắt đầu bằng brainstorm và lập kế hoạch. Sau đó skill work build tính năng, có kèm sẵn bước simplification và code review. Theo số đo của anh, lần chạy này mất khoảng một tiếng rưỡi và dùng 26 sub-agent.
Skill compound lưu lại những bài học hữu ích cho công việc sau này, theo mô tả của anh trong video đăng ngày 20/10/2026. Các session sau có thể dùng những ghi chú đó thay vì phải tự mò lại mọi thứ từ đầu. Trong lần chạy này, nó báo đã bỏ qua phần documentation. Theo anh, luật của nó cho phép điều đó khi không có bài học hữu ích nào để thêm.
Trong review (video đăng ngày 20/10/2026), bản của Compound giữ đúng phần narration đi với đúng section của script. Cả hai bản nhanh đều trộn lẫn các section. Nhưng Compound gặp cùng vấn đề chồng clip như Plain: nó từ chối đặt một screen clip chồng lên một screen clip khác.
The Gray Cat kể anh đã là subscriber của Every được một thời gian. Theo anh (video đăng ngày 20/10/2026), Every gần đây đã giới thiệu Builder Pack; thẻ trên màn hình lúc đó ghi "Introduced 2026-07-14". Anh nói không thật sự biện minh được việc mua gói này, vì anh sẽ không dùng phần lớn các công cụ trong đó, dù gói Cursor đi kèm thì sẽ có ích cho anh. Anh nói thêm: nếu có ai ở Every đang xem, anh sẽ không phiền nếu được giảm giá.
8. Matt Pocock's skills: grilling, spec, 12 ticket
Theo The Gray Cat (video đăng ngày 20/10/2026), skill mới implement-spec của Matt Pocock xử lý trọn bộ ticket. Trong lần test trước của anh, anh gọi skill implement cho từng ticket và dùng automation riêng của mình; trong thí nghiệm này, Opus đóng một vai trò tương tự. Repo của Matt Pocock hiện có cả hai thư mục implement và implement-spec (đọc ngày 28/10/2026).
Với lần chạy này, anh muốn bước grilling dẫn tới một spec viết ra hẳn hoi. Theo kế hoạch anh mô tả trong video đăng ngày 20/10/2026, spec đó sẽ trở thành các ticket để skill mới lần lượt đi qua.

grill-with-docs/SKILL.md, rồi bước 02 Written spec bằng to-spec/SKILL.md.Lần thử đầu tiên bắt đầu viết code ngay sau grilling. Anh nói setup của anh đã để phần bàn giao đó không rõ ràng, nên anh dừng lại và chạy lại. Trong demo (video đăng ngày 20/10/2026), lần chạy thay thế đi qua 28 câu hỏi, với Opus trả lời dựa trên design gốc. Nó tạo ra 12 ticket, và anh hướng nó sang skill mới.
Mỗi ticket có worktree riêng. Theo cách anh giải thích, worktree là một bản sao riêng của code cho task đó, sau này được merge lại vào một branch. Luật ban đầu của anh cấm tạo thêm worktree, nên anh cho phép một ngoại lệ cho lần chạy này (setup trong video đăng ngày 20/10/2026).
Theo số đo của anh (video đăng ngày 20/10/2026), lần chạy mất khoảng hai tiếng rưỡi với 16 sub-agent; biểu đồ thời gian trên màn hình ghi 2h 31m 47s. Review xếp bản implementation này thứ hai. Thả một screen clip mới lên trên một clip có sẵn thì chỉ thay phần nó che, phần còn lại vẫn giữ nguyên. Review cũng phát hiện việc sắp xếp lại các section có thể đặt screen footage vào sai chủ đề. Anh nói bình thường anh sẽ không làm vậy với một script đã chuẩn bị sẵn.
9. Superpowers 7: design, câu hỏi còn mở và 34 sub-agent
Superpowers là setup xong cuối cùng. The Gray Cat test phiên bản 7, mà theo anh lúc đó mới ra được ba ngày (video đăng ngày 20/10/2026). Theo anh, thay đổi lớn nhất là skill brainstorming được làm lại: nó điều chỉnh lượng planning theo độ lớn của công việc. Với một tính năng lớn hơn, nó viết ra một bản design. Một agent khác kiểm tra design đó để tìm những câu hỏi còn chưa được trả lời trước khi implementation.

specs/2026-10-13-screencast-broll-design.md được một "Fresh builder check" đọc với vai người build, ra "Open questions", rồi mới tới Implementation.Trong demo (video đăng ngày 20/10/2026), lần chạy này hỏi 7 câu và tạo ra một kế hoạch 11 task. Opus trả lời các câu hỏi, và gửi bản design đầu tiên trở lại để sửa trước khi duyệt.
Theo anh (video đăng ngày 20/10/2026), kế hoạch đưa ra nhiều cách thực thi khác nhau. Opus làm theo hướng dẫn test của anh và chọn subagent-driven development: các agent implement từng task, với những agent riêng biệt review công việc của chúng. Tổng cộng nó dùng 34 sub-agent. Anh để nó chạy và đi ngủ.
Theo số đo của anh, toàn bộ lần chạy mất gần bốn tiếng rưỡi, và reviewer khuyến nghị bản implementation này làm điểm khởi đầu tốt nhất (kết quả review trong video đăng ngày 20/10/2026). Giống Pocock, nó xử lý đúng việc thay phần giữa của một screen clip.

Theo anh, hành vi retry cũng hữu ích (demo trong video đăng ngày 20/10/2026). Nếu anh bảo AI thử lại một section, nó thay thế các lựa chọn b-roll trước đó của chính nó. Những clip anh tự tay đặt thì vẫn nằm nguyên chỗ anh đặt. So với những cuối tuần test trước đây, lần này cho anh nhiều thứ để làm việc tiếp hơn hẳn. Dù vậy vẫn còn bug phải sửa trước khi anh dùng được nó cho một video thật.
10. Thời gian và token: số lượng sub-agent không giải thích được hết
Theo số đo của The Gray Cat (video đăng ngày 20/10/2026), biểu đồ thời gian đi từ 27 phút tới gần bốn tiếng rưỡi. Các con số này đã tính cả thời gian chờ, vì cả năm lần chạy dùng chung một máy và một gói ChatGPT. Biểu đồ trên màn hình ghi: Poteto 27m 17s, Plain 35m 22s, Compound 1h 28m 36s, Pocock 2h 31m 47s, còn Superpowers chạy lâu nhất.
Về token (số đo trong video đăng ngày 20/10/2026), Plain dùng ít nhất. Poteto xong sớm hơn Plain nhưng dùng khoảng gấp hai lần rưỡi. Pocock dùng 16 sub-agent so với 26 của Compound, vậy mà Pocock tiêu tốn hơn gấp đôi số token. Theo anh, chỉ riêng số lượng agent không giải thích được mức sử dụng.

Theo anh (video đăng ngày 20/10/2026), phần lớn các tổng số này là input đã cache, được đếm lại mỗi lần được dùng lại. Tính theo bảng giá API đã lưu, anh nói con số vào khoảng 2 đô cho Plain và 25 đô cho Superpowers; trên biểu đồ lúc đó chỉ có dòng Poteto hiện con số $3.99. Anh dùng gói ChatGPT subscription, nên những con số đô la này chỉ để so sánh.
11. Bản nào đáng build tiếp, và những yêu cầu cả năm bản đều bỏ sót
Review (video đăng ngày 20/10/2026) xếp Superpowers thứ nhất, Pocock đứng sau. Compound theo sau, còn hai bản implementation nhanh cần sửa đáng kể. The Gray Cat nhấn mạnh đây là đánh giá về code được tạo ra trong bài test này. Theo anh, những lần chạy framework lâu hơn cho anh nền móng chắc hơn để làm tiếp.

Theo review trong video đăng ngày 20/10/2026, ngay cả các bản mạnh hơn vẫn bỏ sót yêu cầu. Chúng để các ghi chú hình ảnh (visual notes) trong script của anh nằm ngoài context của AI. Trên màn hình, phần minh họa ghi lỗi này được xác nhận ("Confirmed in") ở Compound, Pocock và Superpowers: một section script "## Groma" có hai dòng "Spoken line" và một ghi chú "Show this screen", đặt cạnh hai ô "AI context" và "Desired AI context".
Cả năm bản cũng làm sai phần kiểm tra talking head (kết quả review trong video đăng ngày 20/10/2026): các screen clip bị đếm như thể là talking head footage mà app đã giữ lại.
12. Sau khi sửa lỗi: tính năng chạy thật và được merge
The Gray Cat lấy bản của Superpowers làm nền và test tiếp. Trong quá trình đó, anh thử nó trên tư liệu từ một video về các công cụ kiến trúc của anh. Theo anh (demo trong video đăng ngày 20/10/2026), lần thử đầu khá đáng thất vọng, nhưng lần thứ hai thì gần hơn nhiều với điều anh muốn. Nó chọn được screen footage liên quan, và còn chỉnh tốc độ phát để khớp với phần anh đang giải thích. Đó chính là phần anh thường mất hàng giờ làm tay trong Premiere. Anh nói nhìn mọi thứ ráp lại như vậy khá ấn tượng.

Anh sửa các bug lộ ra trong lúc test và chạy những bước kiểm tra trước khi ship mà anh vẫn làm. Sau đó anh merge tính năng vào main (theo video đăng ngày 20/10/2026).
Lần này anh lại chọn Superpowers. Anh nói rõ Superpowers không tài trợ cho anh, và anh không dùng nó cho công việc hằng ngày. Theo anh (video đăng ngày 20/10/2026), với một tính năng cỡ này, đó là lựa chọn của anh trong Codex, và công sức bỏ thêm ở đây đã đáng giá.
Nhưng anh cũng nhắc lại (video đăng ngày 20/10/2026): model và phiên bản framework đã thay đổi kể từ những bài test Claude Code của anh, và đây cũng là một task khác. Anh sẽ dựng chính video này bằng tính năng mới.
Lần này anh đã ngủ trong lúc các sub-agent làm việc. Anh kết lại: có vẻ như con mèo xám của anh đã huấn luyện anh rất tốt.
Nguồn và liên kết 8 nguồn
- Tên gốc: I Tested 4 Codex Frameworks on the Same Real Feature
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=-LODwSuymII youtube.com
- Kênh YouTube The Gray Cat (The Gray Cat): youtube.com/channel/UCE6O7wATswjzR0JvgLy2-Og youtube.com
- Superpowers, repo có các skill brainstorming và subagent-driven-development (đọc ngày 28/10/2026): github.com/obra/superpowers github.com
- Matt Pocock's skills, repo có các skill grill-with-docs, to-spec, implement và implement-spec (đọc ngày 28/10/2026): github.com/mattpocock/skills github.com
- Compound Engineering của Every, README mô tả vòng brainstorm, plan, build, review rồi ghi lại điều đã học (đọc ngày 28/10/2026): github.com/EveryInc/compound-engineering-plugin github.com
- pstack, bản port của Michael Denyer từ pstack của Lauren Tan, có lệnh cài cho Codex và poteto-mode (đọc ngày 28/10/2026): github.com/michael-denyer/pstack-claude github.com