Thẻ tiêu đề hero ghi 'Claude Opus 5.5 đã tạo ra một RTS mà bạn chơi qua âm thanh' với phụ đề 'Bên trong modem âm thanh của Battle Drones', phía trên ba biểu tượng đường nét phẳng được dán nhãn 'đường lên 10 kHz' cùng một loa, 'gói 188 bit' cùng một tay cầm chơi game, và 'siêu khung 2,05 s' cùng một đồng hồ bấm giây; logo OrcaRouter nằm trong một dải trắng dọc theo mép dưới.
Engineering & Research

Claude Opus 5.5 đã tạo ra một RTS mà bạn chơi qua âm thanh: Bên trong modem âm thanh của Battle Drones

Tác giả

Alistair Wren

Ngày đăng

Mô hình mới nhất · 20Xem tất cả mô hình →
Benchmark: Artificial Analysis · cập nhật hằng ngày
Quay lại tất cả bài viết

Hai chiếc điện thoại đặt trên bàn, không Wi-Fi, không Bluetooth, không có máy chủ nào ở đâu cả. Một chiếc làm máy chủ cho một trận đấu chiến lược thời gian thực, chiếc kia tham gia, và thứ duy nhất truyền qua lại giữa chúng là tiếng ồn — một sóng mang khoảng 10 kHz đi theo một chiều và 17 kHz theo chiều ngược lại, mang lệnh của người chơi với tốc độ khoảng 1.880 bit mỗi giây. Đó là tính năng mới nhất trong Claude Opus 5.5sản phẩm công khai tham vọng nhất từ trước đến nay củaBattle Drones, một tựa RTS trên trình duyệt theo phong cách Command & Conquer mà Simon Willison công bố ngày 20 tháng 10 năm 2026, sau mười hai vòng lặp lớn và 321 commit, phần lớn do các coding agent thực hiện. Anthropic phát hành Claude Opus 5.5 vào ngày 22 tháng 9 năm 2026 với giá 4 đô la mỗi triệu token đầu vào và 20 đô la mỗi triệu token đầu ra, nên bản thân mô hình đã ra đời được một tháng; điều mới mẻ trong tuần này là thứ mà nó được dùng để xây nên, cùng bản đặc tả mở đi kèm. Những sản phẩm công khai như thế này thường bỏ qua chuyện mô hình thất bại ra sao ở bên dưới, và những sự cố được ghi nhận đều được lập danh mục trong Kho lưu trữ sự cố AI OrcaRouter, nơi mỗi mục đều có nguồn riêng, mức độ nghiêm trọng, cấp độ tin cậy và cờ tranh chấp.

Cả hai vế của tuyên bố đó đều có thể kiểm chứng. Trò chơi chạy tại simonw.github.io/battledrones/, mã nguồn nằm trên GitHub theo giấy phép Apache-2.0, và liên kết âm thanh không phải là hộp đen — kho lưu trữ có chứa SOUND-DUEL.md, một đặc tả modem đầy đủ với quy hoạch băng tần, tốc độ mã hóa, định dạng gói tin và các số liệu tỷ lệ tín hiệu trên nhiễu đo được. Phần sau đây là những gì tài liệu đó và bài viết thực sự nói, tách khỏi những gì chúng không nói.

Có gì đã được phát hành vào ngày 20 tháng 10?

Battle Drones không phải là một đoạn băng demo. Như được mô tả trong bài viết, nó có chín tòa nhà, bảy phương tiện mặt đất, sáu phương tiện trên không và ba loại bộ binh, tất cả đều được dựng dưới dạng mô hình 3D sinh ra trong TypeScript thay vì nạp từ một gói tài nguyên. Có sương mù chiến tranh, với các yêu cầu vũ khí phòng không và chống mặt đất riêng biệt. Sáu bản đồ trải khắp năm quần xã sinh vật, cùng với một bộ sinh bản đồ ngẫu nhiên có hạt giống tạo ra chiến trường đối xứng tâm 108×108 — theo bài đăng, được xây dựng trong một sprint 45 phút sau khi tác giả nhận ra mình còn 25% hạn mức Claude hằng tuần và còn 45 phút trước khi nó được đặt lại.

Các chế độ bao gồm skirmish, các đợt sóng sinh tồn Last Stand, xem AI đấu với AI, một chiến dịch tám nhiệm vụ, và một thứ thực sự khác thường: chế độ tác nhân đấu với tác nhân, nơi hai mô hình ngôn ngữ chơi với nhau thông qua một công cụ chỉ tiết lộ trạng thái trò chơi không phải hình ảnh và chỉ những gì có thể thấy qua sương mù chiến tranh. Bản ghi lại của những trận đấu đó được phát hành kèm repo, cùng với một trình xem gỡ lỗi hiển thị các phản hồi mô hình bên dưới.

Các con số trong README của chính kho lưu trữ đã lệch nhẹ so với danh sách tính năng trong bài đăng — README nói mười sáu đơn vị và mười tòa nhà, trong khi bài đăng liệt kê chín tòa nhà và mười sáu đơn vị trên mặt đất, trên không và bộ binh. Mười sáu thì khớp; số lượng tòa nhà thì không. Nhỏ thôi, nhưng đó là kiểu lệch bạn gặp khi một agent viết README và không ai kiểm toán nó, và tác giả nói thẳng rằng anh ấy "gần như không xem xét đoạn mã nào."

Đây là phần đáng để đọc bản đặc tả, vì “nhiều người chơi qua âm thanh” nghe như một chiêu trò cho đến khi bạn thấy giới hạn kỹ thuật mà nó phải nằm gọn trong đó. Hai thiết bị dùng chung một căn phòng và một kênh âm thanh, nên thiết kế là song công phân chia tần số: cả hai điện thoại phát liên tục, máy chủ trong dải 9,525–12,5 kHz và máy khách trong dải 15,975–18,95 kHz, với các dải được đặt sao cho hài bậc hai của máy chủ bắt đầu trên 19,05 kHz và xuyên điều chế bậc ba từ mỗi dải vẫn nằm ngoài dải kia.

• Điều chế — OFDM với khoảng cách tần số sóng mang 25 Hz, ký hiệu hữu ích 40 ms cộng tiền tố vòng 10 ms, vì vậy 50 ms mỗi ký hiệu và 20 ký hiệu mỗi giây

• Payload — 188 bit mỗi gói tin trên băng tần cao, 186 trên phương án dự phòng băng thấp, giống hệt nhau ở cả hai chế độ nên việc chuyển chế độ không bao giờ làm thay đổi dung lượng chứa được

• Thông lượng — 1,880 bit/s ở chế độ fast cao, 940 bit/s ở robust cao, 930 và 465 ở gói thấp; thời gian truyền gói lần lượt là 100, 200, 200 và 400 ms

• Kiểm soát lỗi — mã chập với K=7, tốc độ ½, các đa thức 133/171, giải mã Viterbi mềm, xen kẽ trên các ký hiệu và tông, CRC-16 với đa thức 0x1021, và từ chối cứng nếu hơn 10% bit được mã hóa lại không khớp

• Định khung — một ký hiệu đồng bộ cộng 40 ký hiệu dữ liệu mỗi siêu khung, 41 ký hiệu hoặc 2,05 giây, mang 20, 10, 10 hoặc 5 gói tùy theo phương án và chế độ

• Liên kết được đo — SNR công suất 40–70 dB trong từng dải 1 kHz từ 1 đến 21 kHz ở khoảng cách 10–30 cm, giảm xuống mức hiệu dụng 17–31 dB ở 10 cm và 9–19 dB ở 30 cm sau khi tính đến tiếng vọng, với các phản xạ đến sau đường trực tiếp 8–15 ms

Phần trung thực của đặc tả nằm ở những gì nó từ chối hứa. Không có ARQ: gói bị mất không được truyền lại, gói kế tiếp chỉ đơn giản mô tả lại mọi lượt chưa được xác nhận, và nếu tồn đọng vượt quá một gói thì nó được chia thành tối đa bốn phân đoạn luân phiên. Do đó, tồn đọng lớn biến thành tắc nghẽn đồng bộ từng bước thay vì hỏng dữ liệu. Mỗi lượt được chấp nhận đúng một lần theo mốc cao nhất, và các gói trò chơi được bảo vệ bằng CRC được khóa theo cả hai nonce ghép cặp, nên bản ghi của một trận khác sẽ trượt kiểm tra. Như đặc tả diễn đạt, có thể sống sót qua gây nhiễu nhưng không thể ngăn chặn: bạn bị tắc, bạn không bao giờ mất đồng bộ một cách âm thầm.

Các chỉ số giao hàng từ các bài kiểm thử mô hình căn phòng là 99% hoặc cao hơn ở 20 cm và 95% ở 40 cm trong chế độ robust, 98% ở 20 cm trong chế độ fast. Đó là kết quả mô phỏng được báo cáo trong tài liệu thông số kỹ thuật, không phải một nghiên cứu thực địa — và bản thân bài đăng nói rằng tính năng này còn rất mới khi được phát hành: "Tôi chỉ vừa mới làm cho nó hoạt động được, nên tôi chưa có nhiều thời gian để chủ động kiểm thử nó."

A single-column scoreboard titled 'Battle Drones' audio link — the scoreboard' with six rows: Uplink band 9.525–12.5 kHz; Downlink band 15.975–18.95 kHz; Modulation OFDM, 25 Hz spacing; Coding K=7 rate 1/2, soft Viterbi; Top throughput 1,880 bit/s; Retransmission none, rotating segments. The footer reads: 'All figures per the project's SOUND-DUEL.md; simulated room model, not a field study.' The OrcaRouter logo sits in a white strip along the bottom edge.

Lỗi còn quan trọng hơn cả modem

Nằm sâu trong phần nhận xét kết luận là chi tiết có khả năng hữu ích nhất cho bất kỳ ai đang xây dựng phần mềm có trạng thái với một agent. Bởi vì phát lại và chế độ nhiều người chơi lockstep đều yêu cầu mô phỏng phải giống hệt từng bit trên mọi thiết bị, Claude đã phải ngừng gọi Math.sin() và Math.cos() — Chrome và Safari trả về các giá trị hơi khác nhau — và thay bằng cách triển khai của riêng nó. Chỉ việc hai trình duyệt không khớp nhau ở những bit cuối cùng của một hàm siêu việt là đủ để làm mất đồng bộ một trận đấu sau vài phút.

Đó là một ràng buộc kỹ thuật thực sự, do mô hình phát hiện và khắc phục, và nó khái quát hóa tốt vượt xa trò chơi. Bất kỳ hệ thống nào do tác nhân xây dựng có lõi tất định — một bộ lập lịch, một bản phát lại sổ cái tài chính, một khung mô phỏng, một bản dựng có thể tái tạo — đều sẽ gặp cùng một loại vấn đề, và nó sẽ gặp phải một cách âm thầm. Bài học cho người đọc không phải là "Claude giỏi trò chơi." Mà là tính tất định phải là một yêu cầu tường minh trong prompt, bởi vì không có gì trong một cách triển khai mặc định khiến điều đó trở thành đúng.

Radio Probe, và một mẫu prompt đáng để học lỏm

Trước khi viết modem, mô hình đã xây dựng một trang đo lường. Bài viết mô tả một công cụ "Radio Probe", vẫn còn trong repo dưới dạng radio-probe.html, với nhiệm vụ trả lời một câu hỏi: hai thiết bị thực sự có thể đạt được bao nhiêu băng thông giữa chúng, trong căn phòng này, ở khoảng cách này? Việc triển khai đầy đủ chỉ được tiến hành sau khi bộ dò trả về những con số đủ tốt để biện minh cho nó. Cùng một tệp ghi lại hai điều mà bộ dò chưa đo — một iPhone truyền với micrô của chính nó đang mở, và một điện thoại nghe chính tín hiệu truyền của nó — đây chính xác là những kiểu lỗi sẽ quan trọng ngoài thực địa.

Cách làm này đáng để sao chép bất kể bạn dùng mô hình nào: hãy yêu cầu tác nhân xây dựng công cụ đo lường trước khi nó xây dựng tính năng. Đo trước, xây sau là cách bạn tránh một tuần làm việc dựa trên một giả định mà không ai kiểm tra. Nó cũng tạo ra những con số khiến một tuyên bố như "audio multiplayer hoạt động" có thể kiểm chứng thay vì chỉ nghe hấp dẫn.

Điều này nói gì về Claude Opus 5.5, và điều nó không nói

Những tuyên bố mạnh nhất trong bài viết đều rất cụ thể. Willison viết rằng Claude Opus 5.5 "cực kỳ xuất sắc trong mô hình hóa 3D bằng Three.js" — mọi tòa nhà, phương tiện và cảnh quan trong trò chơi đều được kiến tạo theo thủ tục bằng mã, và ông xếp GPT-6 Astra vào cùng đẳng cấp. Ông cũng lưu ý rằng mô hình biết viết nhạc: không có tệp âm thanh nào trong dự án, và nhạc nền được tạo bằng mã, thay đổi theo từng bản đồ và trở nên dồn dập hơn khi giao chiến nóng lên.

Hai kết quả nữa là do tác giả tự báo cáo chứ không được tái lập độc lập, và nên được hiểu theo cách đó. “Bản cập nhật vui vẻ” chỉ là một câu lệnh — “Trò chơi này vẫn chưa đủ vui. Hãy làm nó vui hơn RẤT NHIỀU.” — được chạy trong một chế độ quy trình làm việc động, thứ điều phối nhiều tác nhân con trong nhiều giờ, trong đó mô hình đã chạy hơn một nghìn phiên chơi thử mô phỏng. Kết quả được báo cáo, từ 1.200 trận AI đấu AI ở độ khó Normal: các ván vẫn chưa ngã ngũ sau 25 phút giảm từ 14% xuống 0,9%, và tỷ lệ thắng của phe từng bị dẫn trước 800+ scrap tăng từ 24% lên 46%. Đó là những số đo của chính tác giả trên game của anh ấy, không phải một benchmark về mô hình.

Những gì bài viết không thể hiện cũng quan trọng không kém. Không có đánh giá của bên thứ ba về Claude Opus 5.5 trong phát triển game, không có so sánh trực tiếp với một mô hình khác trên cùng nhiệm vụ, và không có thống kê token hay chi phí đô-la cho các lần chạy. Cách chính tác giả tự trình bày là ông biết “gần như không biết gì về phát triển game”, đã “xem xét gần như không chút nào trong số mã”, và không coi kết quả là một dự án indie nghiêm túc. Đó là một tập hợp những lưu ý thẳng thắn một cách bất thường, và nó giới hạn mức độ có thể tổng quát hóa kết quả: đây là một người thực hành, một cơ sở mã, một tháng.

Chi phí để vận hành một dự án như thế này là bao nhiêu

Bảng giá niêm yết đã công bố của Anthropic cho Claude Opus 5.5 là 4,00 USD cho mỗi triệu token đầu vào, 20,00 USD cho mỗi triệu token đầu ra và 0,20 USD cho mỗi triệu token đọc từ bộ nhớ đệm. Một dự án có hình thái này gần như hoàn toàn bị giới hạn bởi đầu ra — mô hình đang viết TypeScript chứ không phải đọc một kho văn bản cố định lớn — vì vậy dòng 20 USD cho đầu ra chính là dòng quyết định hóa đơn, và những phiên chạy qua đêm kéo dài nhiều giờ với song song hóa cao chính là thứ biến “rẻ trên mỗi token” thành một con số thực tế. Không có tổng số nào được công bố cho Battle Drones, nên phát biểu trung thực là trần chi phí được đặt bởi số giờ agent mà bạn sẵn sàng mua, chứ không phải bởi bất kỳ con số nào trong bài viết.

Đó cũng là lý do để không gắn luồng sản xuất với một mô hình duy nhất chỉ dựa vào một thành quả ấn tượng. Claude Opus 5.5 có mặt trên OrcaRouter theo giá niêm yết của Anthropic với mức markup 0%, vì vậy khi nhà cung cấp thay đổi giá, phía chúng tôi sẽ cập nhật ngay trong cùng ngày, và chuyển đổi dự phòng tự động nghĩa là một phiên chạy agent dài không bị chết chỉ vì một endpoint thượng nguồn đang gặp trục trặc. Nếu bạn muốn kiểm tra xem một bản build qua đêm như thế này có thể tái lập trên một mô hình khác hay không, một API cho hơn 200 mô hình là cách rẻ nhất để tìm ra — cùng cấu trúc yêu cầu, khác tên mô hình, không cần hợp đồng thứ hai.

The OrcaRouter model page for anthropic/claude-opus-5.5, showing the Claude Opus 5.5 listing at $4.00 per million input and $20.00 per million output, a 200k-token context, and the provider row served directly by Anthropic.

Điều gì chưa được thiết lập

• Độ phổ biến — kho lưu trữ hiển thị 4 sao và 0 fork khi được kiểm tra vào ngày 21 tháng 10 năm 2026, một ngày sau khi bài đăng được đưa lên. Đây không phải là một hiện tượng; đó là dự án của một người, đã được công bố.

• Độ tin cậy thực tế của liên kết âm thanh — các tỷ lệ phân phối trong bản đặc tả đến từ các bài kiểm thử mô hình phòng, và tác giả cho biết ông chưa có nhiều thời gian để chủ động kiểm thử tính năng này. Đừng hiểu 99% như một lời hứa về chiếc bàn bếp nhà bạn.

• Nghiên cứu trước đây — bài viết trích dẫn Siner của Alon Horesh và ggwave của Georgi Gerganov là những công trình tương đương duy nhất mà tác giả tìm được, đồng thời gọi tính năng nhiều người chơi qua âm thanh cho các game HTML tĩnh là "lần đầu tiên đối với một game RTS theo như tôi biết." Đó là kết quả tìm kiếm của tác giả, không phải một bản tổng quan tài liệu.

• Ghi nhận nguồn gốc mã — Claude Opus 5.5 là động lực chính cho phần lớn các vòng lặp về sau, nhưng phiên bản đầu tiên được xây dựng bằng Claude Fable 5 vào tháng 7, và bản thân README nói rằng phần còn lại của tài liệu do Claude viết. Hãy coi kho mã này là một hiện vật có nguồn gốc hỗn hợp.

• Một kết quả benchmark — không hề có. Không có gì ở đây đo lường Claude Opus 5.5 so với một mô hình khác trên một tác vụ có tính điểm.

Điều thực sự cần rút ra thì hẹp hơn và hữu ích hơn câu “một AI đã xây dựng một trò chơi”. Một RTS chạy trên trình duyệt không có backend, một mô phỏng tất định và một modem âm thanh hoạt động được là minh chứng rằng phần khó của phần mềm do agent xây dựng đã chuyển từ việc sinh mã sang việc đặc tả các ràng buộc — tính tất định, phép đo, hành vi khi có lỗi — đủ chính xác để mã được sinh ra có thể kiểm chứng được. SOUND-DUEL.mdTài liệu này là bằng chứng: nó tồn tại vì ai đó đã buộc mô hình phải ghi lại những gì đường liên kết có thể và không thể làm trước khi phát hành nó. Nếu bạn muốn xem liệu kỷ luật đó có chuyển sang khối lượng công việc của riêng bạn hay không, hãy chạy cùng một lời nhắc với một mô hình thứ hai và so sánh các bản đặc tả, không phải ảnh chụp màn hình.

The published Battle Drones title page at simonw.github.io/battledrones, showing an isometric 3D battlefield behind the BATTLE DRONES logo and the description 'C&C-style real-time strategy game for the browser featuring 3D graphics, single-player and multiplayer, created by Claude Opus 5.5 and Claude Fable 5.'

So sánh trong bài viết này2

Phát hiện từ bài viết này · Benchmark: Artificial Analysis · cập nhật hằng ngày