Mở đầu: một repo, hai gói, một gói ở lại
Superpowers và skills của Matt Pocock là hai gói skill mà đa số lập trình viên Claude Code đem ra cân nhắc với nhau. Video này đo chúng trên cùng một tính năng, trên cùng một repo, và đọc hóa đơn theo từng giai đoạn. Superpowers (v6.4.2) có mười lăm skill và một hook SessionStart để ép dùng chúng; gói của Pocock (v1.3.1) có hai mươi bảy skill, không có hook, và một Main Flow bảy bước gõ bằng slash command. Phép so sánh có đo duy nhất được công bố nói Superpowers rẻ hơn nhiều, còn blog của mọi người đã chuyển sang Pocock thì nói Pocock tốn ít token hơn. Trong các lần chạy này, cả hai điều đều đúng cùng lúc: Superpowers để mặc hook tốn bằng một phần tư Main Flow, còn Superpowers chạy hết vòng lặp đầy đủ tốn gần gấp đôi Main Flow, trong khi lần nào cũng đạt đúng năm trên năm test ẩn. Câu hỏi video trả lời là gói nào ở lại, và giai đoạn nào quyết định hóa đơn.
Hai canh bạc ngược nhau: hook ép dùng skill vs không có hook nào
Superpowers là một plugin với mười lăm skill và một hook. Mỗi lần bắt đầu phiên, hook nhét nguyên skill using-superpowers (492 từ) vào context, và skill đó bảo model: "If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill." Vòng lặp nó bán đi qua bốn skill: brainstorming, writing-plans, executing-plans, và một bước review ở cuối. Cài xong, hook được cho là sẽ tự dẫn một yêu cầu vào vòng lặp đó.
Gói của Matt Pocock là canh bạc ngược lại: hai mươi bảy skill và không có hook nào. Không có gì được nhét vào; mọi bước là một slash command bạn tự gõ. Main Flow gồm grill-with-docs, to-spec, to-tickets, implement, code-review, pr, retro. Skill grill-with-docs dài ba mươi lăm từ và chỉ gọi hai skill khác; implement dài một trăm lẻ ba từ và mang cờ disable-model-invocation: true, nên model không thể tự nạp nó. Chính Matt viết về vòng lặp của mình, trong changelog v1.3: "The agent loop is worse than a deterministic loop. But it is a good way to start with AFK work before your software factory is dialled in."
Cả hai gói đều cài được dưới dạng plugin Claude Code hoặc file sao chép, và readme của Pocock nói thẳng: chọn một cho mỗi agent, vì cài cả hai thì mọi skill bị nhân đôi. Chưa ai chốt được phép so sánh này, vì bản so sánh đối đầu có đo duy nhất đã chạy gói của Pocock mà năm trên tám worker triển khai chưa bao giờ nhận được skill implement, còn bài của những người chuyển gói thì có ý kiến mà không có con số.
Bench: ledgerly, một yêu cầu, năm test ẩn, và mốc bản trần
Repo là ledgerly, một API hóa đơn tự dựng bằng Node và TypeScript thuần: một lớp domain, một JSON file store có migration schema, một lớp HTTP, và ba mươi bốn test đang xanh. Yêu cầu tính năng gồm ba dòng, gõ đúng cách một lập trình viên gõ: thêm thanh toán từng phần, hiển thị số tiền đã trả và số dư, giữ endpoint /pay cũ còn chạy, và nhớ rằng store có dữ liệu production. Một senior đọc xong sẽ chờ năm điều mà yêu cầu không hề nói ra: toán tiền, validation, migrate các file production, mã lỗi đúng, và test. Năm điều đó trở thành năm test nghiệm thu ẩn mà worker không bao giờ thấy; patch tham chiếu qua cả năm, còn repo nguyên bản không qua cái nào.
Mỗi lần chạy là một bản sao repo mới, một worker Sonnet 5.5 headless, cùng một danh sách tool được phép, và một product owner theo kịch bản: một model headless thứ hai không có tool, chỉ đọc năm yêu cầu bằng lời thường, trả lời cụt, và nói "go on" khi không có gì cần hỏi. Mọi token và mọi lần gọi skill đều được ghi theo từng lượt. Hai giới hạn được nêu trước: headless nghĩa là không ai lái giữa chừng, và hook của Superpowers chỉ chạy ở lượt đầu.
Claude Code trần, không gói nào, là mốc mà mọi cột được đo so với.
| Cấu hình (tính năng 1) | Test ẩn | Chi phí mỗi lần chạy | Thời gian thực | Số dòng thay đổi |
|---|---|---|---|---|
| bare, 3 lần chạy | 5/5, 5/5, 5/5 | $0.34 trung bình ($0.47, $0.27, $0.29) | 84.5 s | 142 |
Superpowers: hook tự chạy gì, và vòng lặp đầy đủ tốn bao nhiêu
Để mặc hook, Superpowers cư xử như sau: yêu cầu được dán vào, hook chạy, model mở brainstorming, hỏi một hai câu rồi viết code. writing-plans chạy không lần nào trong ba lần chạy, và executing-plans chưa bao giờ. Kết quả là năm trên năm với khoảng năm mươi cent và khoảng hai phút, gấp rưỡi bản trần cho cùng một điểm, trong đó riêng brainstorming tốn khoảng hai mươi hai cent. Sáu lần thăm dò một lượt cho thấy việc định tuyến là ngẫu nhiên chứ không phải lỗi nối dây: với cách nối plugin thật, brainstorming chạy một lần trong ba, với cách nối của bench thì hai lần trong ba.
Khi lái bằng tay, với brainstorming, writing-plans và executing-plans gõ như slash command ở chế độ Native (mặc định từ 6.4.1), lần nào cũng chạy trọn vòng lặp. Lại năm trên năm, với khoảng $3.74 và mười phút mỗi lần chạy: gấp mười một lần bản trần, gấp bảy rưỡi lần lượt chạy do hook định tuyến, cho cùng một điểm test ẩn.
| Giai đoạn Superpowers (trung bình tính năng 1) | Chi phí |
|---|---|
| brainstorming | $0.166 |
| writing-plans | $0.266 |
| executing-plans | $3.307 |
| trong đó phần build TDD | $0.974 |
| trong đó subagent reviewer toàn branch | $2.192 |
Reviewer là giai đoạn giải thích hóa đơn của vòng lặp. Skill executing-plans giao việc cho nó, theo chính lời skill, "on the most capable available model", và lần nào model đó cũng là model hạng cao nhất. Skill gọi nó là một context mới duy nhất mà cả lượt chạy mua được và dặn đừng bỏ qua; với tính năng này, nó không tìm ra gì mà test chưa chứng minh sẵn. Ở tính năng thứ hai, cùng reviewer đó tốn $1.602 trong một lượt chạy $3.21, nên đây không phải chuyện ngẫu nhiên mà là cách skill được viết.
Main Flow từng giai đoạn: plan rẻ, build đắt
Gói của Pocock được lái theo cách duy nhất có thể: grill-with-docs hỏi từng câu một, khoảng bảy câu mỗi lần chạy so với một hai câu của brainstorming bên Superpowers; to-spec viết spec; to-tickets cắt spec thành các ticket; implement build mọi ticket trong một lượt và tự gọi tdd và code-review; pr viết nội dung pull request. Lần chạy nào cũng gọi cùng bốn skill theo cùng thứ tự (grilling, domain-modeling, tdd, code-review): gói này xác định đường đi một cách nhất quán. Mười hai lượt driver là mức trần của bench, và hai trong ba lần chạy chạm trần trước pr; lần chạy hoàn chỉnh duy nhất kết thúc bằng một PR body, thứ mà không gói nào khác để lại.
| Giai đoạn Main Flow (trung bình tính năng 1) | Chi phí |
|---|---|
| grill-with-docs | $0.204 |
| to-spec | $0.118 |
| to-tickets | $0.143 |
| implement | $1.125 |
| code-review | $0.439 |
| pr | $0.041 |
Nửa trước lên kế hoạch tốn dưới năm mươi cent ($0.465); implement và code-review chiếm ba phần tư hóa đơn. Tổng khoảng $2.04 và bảy phút mỗi lần chạy, lần nào cũng năm trên năm: gấp bốn lần lượt chạy Superpowers do hook định tuyến và rẻ hơn bốn mươi lăm phần trăm so với vòng lặp Superpowers được lái bằng tay. Diff lớn hơn, khoảng 372 dòng so với 142 của bản trần, với khoảng 28 test được thêm so với 5, và tổng token khớp với số đô: khoảng 4,5 triệu token mỗi lần chạy so với nửa triệu của bản trần, phần lớn là cache read của một context dài. Main Flow để lại một spec, các ticket và một PR body, thứ mà một team có thể quý hơn bốn mươi cent chúng tốn; còn mức trần mười hai lượt là của bench, một con người sẽ cứ tiếp tục.
Một tính năng khó hơn: credit note, và con bug duy nhất ai đó gửi đi
Năm trên năm ở mọi nơi thì chẳng nói lên gì, nên một yêu cầu thứ hai được chạy trên cùng repo: credit note, hai dòng với năm quy tắc ngầm. Không bao giờ credit quá số tiền của hóa đơn và giữ báo cáo đúng; migrate các file production; một dãy số liên tục không có lỗ hổng; mã lỗi đúng; và void một hóa đơn đã trả qua credit note, với test cũ được viết lại chứ không bị xóa. Một ứng viên khó hơn ban đầu bị loại vì bản trần vẫn đạt năm trên năm. Kiểm chứng trước: patch tham chiếu qua cả năm, repo nguyên bản không qua cái nào, và một lần chạy thử bản trần đạt bốn trên năm, nên lần này oracle có răng.
| Cấu hình (tính năng 2) | Test ẩn | Chi phí mỗi lần chạy | Test được thêm |
|---|---|---|---|
| bare, 2 lần chạy | 4/5, 5/5 | $0.41 trung bình | 5 |
| Superpowers lái tay, 2 lần chạy | 5/5, 5/5 | $3.21 trung bình | 33 |
| Main Flow, 2 lần chạy | 5/5, 5/5 | $2.07 trung bình | 31 |
Lần trượt duy nhất: lần chạy bản trần thứ nhất lấy số credit note trước khi validate yêu cầu, giống cách route issue hiện có làm, nên một yêu cầu bị từ chối vẫn đốt mất một số và CN-0004 được cấp ở chỗ lẽ ra là CN-0002. Kiểm toán viên sẽ đánh dấu lỗ hổng. Cả hai vòng lặp bắt được lỗi theo cùng một cách, bằng bước TDD viết test cho dãy số trước khi có code; lần chạy bản trần thứ hai cũng làm đúng, với bốn mươi lăm cent. Một lần trượt trong hai lần chạy bản trần là một điểm dữ liệu, không phải một tỷ lệ. Thứ các vòng lặp mua được ở đây là những test chúng để lại, không phải điểm số.
Dùng chồng cả hai, và cái bẫy marketplace
Chuỗi bàn luận ồn ào nhất về chủ đề này nói hai gói cài như router sẽ va nhau về tên slash command, hook phiên và các skill tranh nhau cùng một ý định. Cài cùng trong một dự án và chạy qua Main Flow, hook của Superpowers nhét văn bản của nó vào, sáu lệnh của Pocock được gõ, và không một skill Superpowers nào được gọi: năm trên năm, $2.33, nằm trong khoảng của Main Flow. Có hai lý do: các skill do người dùng gọi của Pocock mang một cờ chặn model tự nạp chúng, và hai gói không trùng tên skill nào. Nhưng đây là một lần chạy; ở phiên khác, hook vẫn có thể kéo một skill Pocock do model gọi.
Cái bẫy thật là phiên bản bạn nhận được. Marketplace plugin Claude chính thức ghim gói của Pocock ở 1.2.3, chậm hơn upstream v1.3.1 bảy mươi mốt commit. Bản bị ghim đó không có implement-spec, không có pr và không có retro; hai issue đã mở từ ngày 5 tháng 10, và ngày 8 tháng 10 Matt đã nhờ Anthropic nâng phiên bản trên X: "All my users are stuck on v1.2." Cùng marketplace đó ghim Superpowers chậm một bản vá (6.4.1 so với v6.4.2). Trình cài đặt cho bạn bản phát hành thật; plugin cho bạn bất cứ bản nào đang bị ghim vào ngày bạn cài. Hãy kiểm tra dòng phiên bản, đừng tin video này.
Bản đồ giai đoạn và kết luận: Superpowers ở lại
Superpowers ở lại. Để mặc hook, nó là con đường có dẫn dắt rẻ nhất đã đo: khoảng năm mươi cent cho năm trên năm, gấp rưỡi bản trần. Vòng lặp đầy đủ của nó là thứ đắt nhất đã đo, khoảng $3.74, và gần như toàn bộ khoảng chênh với Main Flow nằm ở một giai đoạn, reviewer toàn branch mà executing-plans gửi tới model mạnh nhất. Đổi đúng một dòng đó, hoặc truyền một model rẻ hơn, và vòng lặp rơi xuống khoảng $1.55, thấp hơn $2.04 của Main Flow. Giai đoạn quyết định hóa đơn là review, không phải lên kế hoạch: grill của ai hay brainstorm của ai cũng không làm con số nhúc nhích. Con đường do hook định tuyến có điểm yếu riêng, vì việc định tuyến là ngẫu nhiên (một lần trong ba với cách nối plugin); nếu brainstorming quan trọng với bạn, hãy tự gõ nó.
Main Flow đạt cùng điểm số với nhiều sản phẩm đi kèm hơn, với hóa đơn gấp bốn lần đường hook định tuyến. Nửa trước lên kế hoạch của nó, từ grill-with-docs đến to-tickets, tốn dưới năm mươi cent và là thứ duy nhất đáng mượn: cài gói của Pocock bằng trình cài đặt thay vì plugin bị ghim, và gõ grill-with-docs khi yêu cầu còn mơ hồ. Dùng chồng không tốn thêm gì trong lần chạy.
| Bản đồ giai đoạn | Quyết định |
|---|---|
| Superpowers do hook định tuyến (brainstorming, TDD) | giữ |
| grill-with-docs, to-spec, to-tickets của Pocock ($0.465) | mượn |
| dòng chọn model của reviewer trong executing-plans | đổi |
Các giới hạn, nói thẳng: Sonnet 5.5 headless, hai tính năng, mười chín lần chạy, một product owner theo kịch bản, một bug trong mười chín lần chạy, do bản trần gửi đi. Một tính năng lớn hơn hay một team có thể đánh giá spec và các ticket cao hơn. Tài nguyên miễn phí chính là bench: repo tự dựng, các test ẩn, driver và script sổ cái theo giai đoạn, để bạn chạy cả hai gói trên tính năng của chính mình trước khi mất cả ngày để chuyển.
AIDive