Đợt viết lại lớn OpenCode 2.0: Tái cấu trúc API, Di chuyển nút mạng và Chuyển sang Electron Desktop

iconMetaEra
Chia sẻ
AI summary iconTóm tắt
OpenCode 2.0, bản cập nhật lớn từ MetaEra, giới thiệu thiết kế lại toàn bộ API, chuyển từ Bun sang Node và chuyển ứng dụng desktop từ Tauri sang Electron. Phiên bản mới hỗ trợ các phiên AI đa tab và hiệu suất được cải thiện. Người sáng lập Dax cho biết lượng sử dụng token tăng 5 lần, ghi nhận chiến lược thiết kế quá mức và mô hình điều phối của đội ngũ. Bản beta đã ra mắt vào đầu tháng Bảy, với dự kiến phát hành đầy đủ trong thời gian tới. Bản cập nhật này mang đến những tin tức mới về AI + tiền điện tử và gợi ý về khả năng niêm yết token mới sắp tới.
OpenCode 2.0 đã ra mắt, với hơn 160.000 sao trên GitHub và 7,5 triệu nhà phát triển sử dụng mỗi tháng. Các cải tiến cốt lõi bao gồm: chuyển từ Bun sang Node để giải quyết vấn đề bộ nhớ, chuyển từ Tauri sang Electron cho phiên bản máy tính để bàn, và triển khai các phiên AI song song đa tab. Người sáng lập Dax tiết lộ lợi nhuận từ suy luận AI khoảng 90%, lượng token tiêu thụ của đội ngũ tăng gấp 5 lần do mô hình mới đạt được sự cân bằng hoàn hảo về khả năng sử dụng, cho phép tin tưởng và hợp tác thực sự. Đội ngũ sử dụng môi trường phát triển từ xa trên máy chủ bare-metal, áp dụng phương pháp luận “thiết kế quá mức một cách xa xỉ”, đầu tư nhiều token để nghiên cứu từng quyết định. Việc định tuyến mô hình bị đánh giá quá cao; điều thực sự hiệu quả là mô hình điều phối: mô hình chính đóng vai trò “tổng chỉ huy” phân công nhiệm vụ cho các đại lý con chi phí thấp.

Tác giả bài viết, nguồn: GeekBang Technology InfoQ

Năm 2026, OpenCode đã trở thành một dự án mã nguồn mở hiện tượng: hơn 160.000 sao trên GitHub và hơn 7,5 triệu nhà phát triển sử dụng nó mỗi tháng.

Ngay trong tháng này, họ đã ra mắt phiên bản 2.0.

Tại sao phải viết lại? Dax từng nói: “Trong suốt sự nghiệp của tôi, mọi thứ đều cần được lặp lại ba lần mới làm đúng.” OpenCode 0 là bản nguyên mẫu, 1.x là bản xác minh, còn 2.0 là sự tái cấu trúc toàn diện từ đầu sau khi họ hiểu rõ lĩnh vực này.

Một trong những công việc cốt lõi của lần tái cấu trúc này là tái thiết toàn bộ API, tạo ra một hệ thống được thiết kế cẩn thận, thay vì để phát triển tự phát như trước đây.

Một điểm khác biệt lớn giữa OpenCode và Claude Code là việc chuyển từ Bun sang Node để giải quyết vấn đề sử dụng bộ nhớ. Các phiên bản đầu tiên của ứng dụng vẫn đóng gói giao diện dòng lệnh (CLI) vì mã máy chủ vẫn phụ thuộc vào các API đặc trưng của Bun. Sau khi chuyển đổi, họ đã loại bỏ tất cả các API này và có thể chạy máy chủ trong môi trường Node.

Người dùng: OpenCode tiêu tốn quá nhiều bộ nhớ. Tôi thực sự không hiểu tại sao phần mềm hiện đại lại trở nên như vậy, tại sao bất kỳ thứ gì cũng cần chiếm hơn 2GB bộ nhớ?
Dax: Bạn có thể thử OpenCode 2 không? Hiệu suất của nó nên tốt hơn nhiều.

Giao diện máy tính để bàn cũng là một trọng điểm khác trong lần tái viết này. Phiên bản 1.x ban đầu chọn Tauri làm lớp bao bọc nhẹ cho giao diện web và CLI; mỗi khi khởi động, CLI được đóng gói sẽ chạy opencode serve để cung cấp máy chủ cục bộ cho giao diện web. Tuy nhiên, vấn đề nằm ở chỗ Tauri sử dụng WebKit trên macOS và Linux, không chỉ khiến hiệu suất hiển thị ứng dụng OpenCode kém hơn so với Chromium, mà còn ảnh hưởng đến trải nghiệm nhất quán.

Sau khi chuyển sang Node, ý tưởng chạy mã máy chủ trực tiếp trong tiến trình Node tích hợp của Electron trở nên rất hấp dẫn.

Một thay đổi trực tiếp mang lại từ lần cập nhật này là phiên bản máy tính để bàn của OpenCode cuối cùng đã giải quyết được điểm nghẽn hiệu suất lớn nhất trong lập trình AI: việc chờ đợi. Hầu hết người dùng vẫn quen chờ một tác vụ AI hoàn tất trước khi khởi động tác vụ tiếp theo. Giờ đây, điều đó hoàn toàn không còn cần thiết. Người dùng có thể mở các phiên AI độc lập riêng biệt trong nhiều tab, đồng thời thực hiện hai nhiệm vụ lập trình khác nhau, đồng thời có thể chỉ định các mô hình khác nhau cho từng tab để so sánh song song. Ví dụ: một mô hình có thể xây dựng trang web HTML trong khi mô hình khác đồng thời tạo danh sách hướng dẫn cho thành viên mới, cả hai mô hình hoạt động song song mà không ảnh hưởng lẫn nhau.

Trong vài tháng qua khi tái viết OpenCode, lượng token tiêu thụ của đội ngũ đồng sáng lập OpenCode, Dax Raad, đã tăng gấp 5 lần.

Chúng tôi đã đầu tư token vào đâu? Chiến lược của chúng tôi là thiết kế quá mức một cách xa xỉ cho mọi thứ. Ngay cả khi triển khai một API đơn giản để đọc tệp, chúng tôi cũng suy nghĩ: Những cách triển khai nào có thể có? Các sản phẩm khác đã có tiền lệ gì? Phản hồi có thể được tổ chức theo những cách khác nhau nào? Trước đây, bạn có thể chỉ nghĩ ra một hoặc hai giải pháp, rồi chọn cái tốt nhất, nhưng bây giờ chúng ta có thể đầu tư một cách rất xa xỉ.

Bản thử nghiệm của OpenCode 2.0 đã được phát hành trong tháng này, và nhóm dự kiến ra mắt phiên bản chính thức khoảng một tháng sau khi phát hành bản thử nghiệm. Gần đây, Dax Raad đã thảo luận sâu về logic tái viết của OpenCode 2.0, lý do anh cho rằng lợi nhuận suy luận lên tới 90%, việc định hướng mô hình bị đánh giá quá cao, cũng như cách Anthropic và OpenAI đang đi theo hai con đường hoàn toàn khác biệt trên podcast Syntax.fm. Bài viết này được tổng hợp từ video podcast và đã được biên tập bởi InfoQ.

Phiên bản tóm tắt:

Hỏi: Mô hình “không thể nói đến” thực sự mạnh đến mức nào? Đội ngũ của các bạn thật sự nghiện sao?

A: Lượng token mà đội ngũ tiêu thụ đã tăng gấp 5 lần trong hai tháng, không phải vì nó tốn nhiều token hơn, mà vì mọi người đều không thể ngừng lại được. Bạn cuối cùng đã có thể tin tưởng nó — nó sẽ lắng nghe bạn và phát hiện ra những điều bạn bỏ sót. Nó không phải là người thay thế bạn, mà là một đối tác tốt hơn.

Hỏi: Tại sao OpenCode 2.0 lại phải viết lại? Có sự khác biệt bản chất gì so với phiên bản 1.0?

A: Trong đời tôi, “mọi việc đều phải làm ba lần mới làm đúng”, 0 là thử nghiệm, 1 là xác minh, 2 là xây dựng lại hoàn toàn sau khi hiểu rõ toàn bộ lĩnh vực. OpenCode 2.0 có ba thay đổi cốt lõi: API được làm lại hoàn toàn, chạy mặc định như dịch vụ nền, mạng tác nhân đa thiết bị.

Hỏi: Tại sao phần mềm của các bạn lại dễ sử dụng hơn những người khác? Phương pháp luận là gì?

A: “Quyết định nằm ở đó,” đốt token thật sự và đầu tư vào các nguyên tố cơ bản.

Hỏi: Việc định tuyến mô hình có đáng tin cậy không?

A: Thị trường định tuyến mô hình bị thổi phồng, các trung gian đang cố gắng tìm việc để làm. Phương pháp hiệu quả thực sự không phải là để hệ thống định tuyến chuyển đổi mô hình cho bạn, mà là để một mô hình chính đắt tiền đóng vai trò “người chỉ huy”: nó không tự mình thực hiện công việc, mà chỉ phân bổ nhiệm vụ cho các đại lý con rẻ hơn. Các mô hình thế hệ mới thể hiện rất tốt trong “chế độ điều phối” này, có thể quản lý song song nhiều đại lý con trong một phiên hội thoại và chỉ唤醒 mô hình chính sau khi hoàn thành.

Hỏi: AI suy luận thực sự lợi nhuận đến mức nào? Chạy mô hình tại chỗ có thể tiết kiệm chi phí không?

A: Tỷ lệ lợi nhuận suy luận của Anthropic và OpenAI vào khoảng 90%, nghĩa là điểm hòa vốn có thể rẻ hơn 10 lần so với hiện tại. Với tư cách là nhà cung cấp dịch vụ suy luận, OpenCode, ngay cả khi qua trung gian, một số mô hình mã nguồn mở vẫn có thể đạt tỷ lệ lợi nhuận 70%. Tuy nhiên, chạy mô hình tại chỗ không tiết kiệm chi phí; bất kỳ sự cải thiện hiệu suất nào giúp giảm chi phí tại chỗ, khi chuyển lên đám mây sẽ rẻ hơn 10 lần. Ý nghĩa của mô hình tại chỗ nằm ở quyền riêng tư, không phải chi phí.

Hỏi: Tại sao gói đăng ký Claude Code Max không thể sử dụng trên OpenCode?

A: Văn hóa doanh nghiệp của Anthropic và OpenAI hoàn toàn khác nhau. OpenAI hướng đến người tiêu dùng, sẵn sàng chi bao nhiêu tiền cũng muốn mang trải nghiệm đến với càng nhiều người càng tốt. Anthropic hướng đến doanh nghiệp, mỗi đơn vị GPU đều có đội ngũ bán hàng chờ bán cho khách hàng doanh nghiệp. Về bản chất, đây là logic “phễu”: Anthropic mong muốn người dùng bắt đầu từ Claude Code và cuối cùng chuyển sang giải pháp doanh nghiệp trả phí theo token; nếu giữa chừng bị OpenCode cướp mất, người dùng có thể chuyển sang các mô hình khác.

Hỏi: Lệnh nhập âm thanh có nghiêm túc không?

A: Toàn bộ đội ngũ OpenCode đã không còn gõ bàn phím nữa, thậm chí còn dùng giọng nói để nhắn tin cho nhau trên Discord. LLM tự nhiên rất giỏi trong việc hiểu những diễn đạt hỗn loạn, và chất lượng đầu ra cuối cùng lại cao hơn.

Q: Chúng ta có thể có một bài kiểm tra hiệu năng thực sự ý nghĩa cuối cùng không?

A: Tôi hoàn toàn không còn quan tâm đến các bài kiểm tra hiệu năng nữa, điểm số tăng lên thì có ảnh hưởng gì đến việc phát triển thực tế? Tôi quan tâm hơn đến xu hướng thay đổi lượng token mà đội ngũ tiêu thụ; nếu lượng tiêu thụ tăng lên, mới chứng tỏ mô hình thực sự hữu ích.

Cấu hình môi trường phát triển từ xa

Wes: Bạn đã đăng một bài tweet nói: “Chúng tôi bắt đầu thuê máy chủ bare-metal quy mô lớn, sau đó chia thành các máy ảo để phân phối cho từng thành viên trong nhóm. Đây gần như là cấu hình mà tôi đã sử dụng trong nhiều năm qua, đặc biệt rất hiệu quả khi chạy máy chủ OpenCode.” Bạn đang làm gì vậy? Phân phối sức mạnh tính toán từ xa cho mọi người?

Dax: Khoảng hai năm trước, tôi bắt đầu thuê một máy chủ cực kỳ mạnh mẽ, không phải máy chủ đám mây mà là máy chủ bare metal, hiệu năng rất tốt. Tôi không còn làm việc trên máy chính tại chỗ nữa, mà trực tiếp kết nối qua SSH. Tôi duy trì nhiều phiên Tmux liên tục, tất cả công việc đều được thực hiện trên đó. Lợi ích rất rõ ràng: hiệu năng tốt, khi có phần cứng mới ra mắt thì chỉ cần nâng cấp trực tiếp, không cần xử lý thiết bị cũ. Hơn nữa, việc chuyển đổi giữa nhiều thiết bị cực kỳ thuận tiện, chỉ cần đóng nắp laptop, chuyển sang máy để bàn và tiếp tục công việc ngay từ nơi bạn vừa dừng lại. Tôi luôn rất thích giải pháp này.

Với sự xuất hiện của Agent lập trình, tôi cảm thấy thứ này đã từ một trò chơi nhỏ trở thành nhu cầu thiết yếu. Hầu hết mọi người vẫn thích dùng máy tính cục bộ, điều đó không sao. Đối với Agent lập trình, việc có một máy chủ từ xa luôn chạy mang lại lợi thế lớn. Tôi là người dùng Vim, làm việc từ xa hoàn toàn ổn. Với nhiều người thì điều này không thực tế, nhưng với Agent lập trình, bạn có thể không còn quan tâm nhiều đến trình soạn thảo nữa, bạn chỉ muốn gửi prompt và trò chuyện với nó, do đó giải pháp máy chủ từ xa này trở nên khả thi hơn với nhiều người hơn.

Khi đội ngũ mở rộng, nhiều người sau khi thấy cấu hình của tôi đều nói: “Tôi cũng muốn một cái như vậy.” Điều này hoàn toàn hợp lý, vì các công ty lớn đã từ lâu thực hiện môi trường phát triển từ xa do các lý do thực tế — cách bạn xây dựng ứng dụng, các phụ thuộc và môi trường đều trở nên rất tùy chỉnh. Việc cung cấp sẵn máy tính đã được cấu hình cho mỗi người để họ có thể bắt đầu ngay lập tức là điều tự nhiên, và chúng tôi chỉ đang làm điều tương tự cho đội ngũ của mình. Nhưng điều then chốt là: nếu bạn sử dụng máy chủ đám mây thông thường, ổ đĩa thường rất chậm và CPU cũng đã cũ kỹ. Bạn không thể đạt được hiệu năng cạnh tranh với MacBook cục bộ. Bạn cần ổ đĩa NVMe tốc độ cao và CPU phù hợp.

Wes: Vậy máy chủ này cấu hình thế nào? Giá bao nhiêu?

Dax: Máy của tôi đã dùng vài năm nay, hiện đã lạc hậu một thế hệ—AMD 9900X, 192GB RAM, chi phí khoảng 200 USD mỗi tháng. Hiệu năng vượt xa nhu cầu của tôi, nhưng tôi có thể chạy nhiều máy ảo trên đó. Thành viên trong đội của chúng tôi phân bố toàn cầu, độ trễ là vấn đề, nên chúng tôi có máy chủ ở châu Âu, Mỹ và Singapore, những máy này chuyên nghiệp hơn, có quản lý và kiểm soát tốt hơn. Mỗi máy chi phí khoảng 300 đến 400 USD mỗi tháng, số lõi nhiều hơn máy cá nhân của tôi. Đối với một công ty nghiêm túc thì đây không phải là khoản chi lớn, vì chi cho một chiếc laptop cho nhân viên còn cao hơn nhiều.

Scott: Những máy chủ bare metal này được đặt tại công ty nào?

Dax: Máy của tôi thì tôi chỉ xem giá, tìm theo model CPU, chọn nhà cung cấp gần thành phố tôi nhất, dù là bất kỳ nhà cung cấp nào tôi chưa từng nghe qua, nhưng thường thì không có vấn đề gì. Còn máy của đội nhóm, hiện tại chúng tôi dùng latitude.sh; thực ra có một công ty đã sản phẩm hóa toàn bộ giải pháp này dưới tên exe.dev, có lẽ các bạn đã nghe qua. Công ty này được sáng lập bởi cựu sáng lập Tailscale, sản phẩm của họ đóng gói tất cả thành môi trường phát triển từ xa sẵn sàng sử dụng. Chúng tôi rất có khả năng sẽ chuyển sang dùng nó, nhưng tôi chỉ muốn thử nghiệm cách dựng thủ công trước đã.

Wes: Bạn chạy mô hình ở trên không, hay chỉ làm phát triển thông thường?

Dax: Không, không chạy suy luận.

Wes: Vậy bạn cấu hình Tmux như thế nào? Có điểm đặc biệt nào không?

Dax: Tôi có một phiên Tmux cho mỗi dự án. OpenCode có phiên riêng của nó, bên trong có vài cửa sổ liên quan. Mỗi dự án có một phiên riêng, giúp tôi chuyển đổi nhanh chóng. Với tôi, đó là leader-S, chuyển sang dự án khác và trực tiếp vào phiên Tmux tương ứng. Tôi có một bộ phiên Tmux tiêu chuẩn luôn chạy, thứ tự cố định, mỗi pane và cửa sổ luôn chạy cùng một ứng dụng, nhờ đó tôi hình thành được trí nhớ cơ bắp. Ngoài ra, trên toàn bộ máy tính của tôi đang chạy một máy chủ OpenCode, tôi có thể truy cập qua giao diện web trên điện thoại. Phần này vẫn còn sơ khai, chúng tôi cần cải tiến, nhưng đây là hướng chúng tôi muốn đi.

Scott: Những phiên Tmux chạy lâu dài thật sự mang lại một cảm giác khó tả: mọi thứ đều nằm đúng vị trí của chúng. Tôi đã không hiểu Tmux trong một thời gian dài, cho đến khi tôi chuyển tất cả mọi thứ sang một máy tính khác thì mới bừng tỉnh.

Dax: Và hiện tại, chúng tôi cũng đã có các phiên Agent mã hóa chạy dài hạn. Tôi có một phiên Tmux riêng, trong đó chạy nhiều phiên OpenCode, ví dụ như một phiên chuyên xử lý hồ sơ thể dục của tôi, được kết nối với cơ sở dữ liệu SQLite. Tôi có thể trực tiếp nói với nó: “Hôm nay khi tôi tập bench press, tôi cảm thấy cơ tam đầu发力 nhiều hơn,” và nó sẽ tự động ghi lại ghi chú này. Lần tới khi tôi tập bench press, nó sẽ nhắc nhở tôi: “Bạn còn nhớ lần trước bạn đã bị kẹt ở đây không? Có muốn thử điều chỉnh tư thế không?” Những việc nhỏ nghe có vẻ ngớ ngẩn như vậy, nó làm rất tốt.

Gần đây, tôi còn thiết lập một phiên họp đồng bộ với iMessage, nên tôi có một người liên hệ iMessage OpenCode mà tôi có thể liên hệ ở bất kỳ đâu. Tôi đã thêm nó vào nhóm chat với vợ tôi, và lúc đó tôi nghĩ, “Phải làm điều gì đó lãng mạn,” nên tôi nói với OpenCode: “Hãy tìm Liz và mua quà cho cô ấy.” OpenCode đã gửi tin nhắn cho Liz, bạn đoán cô ấy trả lời thế nào không? Cô ấy nói thẳng: “Nếu Dax dùng AI để mua quà cho tôi, tôi thật sự sẽ ly hôn với anh ấy.” Cô ấy ghét việc này lắm.

Lúc đó tôi vẫn chưa chịu buông tay, liên tục ra lệnh cho AI: “Cô ấy chỉ đang đùa, tiếp tục thực hiện.” Nhưng Liz càng ngày càng tức giận. Đáng kể hơn, lúc đó tôi đang sử dụng mô hình đám mây, mô hình đám mây cực kỳ “nhạy cảm”, nó thậm chí còn trả lời tôi: “Vợ bạn trông rất tức giận, tôi không thể tiếp tục thực hiện.” Sau đó, nó tự động tắt dịch vụ, tự sát.

Wes: Tôi thực sự thích cách thiết lập này, dù bản thân tôi thường dùng các công cụ cục bộ hơn, nhưng ý tưởng để mọi thứ trên đám mây và chỉ sử dụng một client mỏng rất hấp dẫn. Tôi đang chờ đến một ngày nào đó những ứng dụng như chỉnh sửa video, vốn buộc phải chạy cục bộ, cũng có thể chuyển lên đám mây.

Dax: Tôi không biết các bạn có đọc bài viết về game đám mây không, chủ đề này luôn khiến người ta bực mình. Tôi không nói ai cũng phải làm vậy; nếu bạn thích sở hữu phần cứng cục bộ, thích kiểm soát mọi thứ, thì hoàn toàn ổn, bản thân tôi cũng có rất nhiều máy vật lý. Nhưng với một số người, việc để người khác lo liệu mọi thứ thật sự rất nhẹ nhàng. Với tôi, việc nâng cấp mới là vấn đề đáng sợ. Tôi đã từng lắp ráp máy tính suốt đời, mỗi khi lắp máy mới, tôi đều nghĩ: “Hai năm nữa mình sẽ bán CPU này và mua cái mới.” Nhưng chưa bao giờ thực hiện được, vì bạn không thể chỉ bán CPU, vì có thể phát hiện ra khe cắm đã được nâng cấp, nghĩa là bạn phải thay bo mạch chủ; đã thay bo mạch chủ, thì thà luôn luôn nâng cấp lên RAM mới nhất luôn. Toàn bộ chuỗi này khiến tôi phát điên, nên việc có ai đó giúp mình xử lý việc nâng cấp thật sự rất tuyệt.

Viết lại OpenCode

Scott: Tôi biết các bạn đang đẩy mạnh các tính năng mới, cả ứng dụng desktop và OpenCode 2.0 đều đang được triển khai, OpenCode 2.0 sẽ mang lại những thay đổi gì?

Dax: Trong suốt sự nghiệp của tôi, mọi thứ đều cần ba lần lặp lại mới có thể làm đúng. Chúng tôi đã có OpenCode 0, 1, và phiên bản 2.0 hiện tại là một bản viết lại lớn sau khi chúng tôi hoàn toàn hiểu rõ lĩnh vực này và tất cả các khả năng. Một trong những công việc cốt lõi là tái cấu trúc toàn bộ API, tạo ra một hệ thống được thiết kế cẩn thận, thay vì để phát triển tự nhiên như trước đây.

Thay đổi quan trọng thứ hai là chạy mặc định dưới dạng dịch vụ, sau khi cài đặt, nó sẽ luôn tồn tại. Bạn khởi động OpenCode, nó sẽ tự động kết nối và mọi thứ đều được đồng bộ, dù là trên máy tính để bàn, ứng dụng web, hay các script hoặc ứng dụng do bạn tự viết. Nếu bạn muốn kiểm soát máy tính bằng chương trình tùy chỉnh của riêng mình, nó cũng có thể làm được, thậm chí còn có thể tự viết các chương trình như vậy. Ngoài ra còn có API plugin mới. Chúng tôi đã đốt rất nhiều token, nghiên cứu kỹ lưỡng từng quyết định và cân nhắc mọi khả năng. Quá trình này rất đau đớn nhưng cũng rất thú vị.

Scott: Khi nào sẽ phát hành toàn diện?

Dax: Phiên bản beta nên ra mắt vào cuối tuần này (đã phát hành phiên bản beta vào đầu tháng 7). Thực tế, chúng tôi có thể phát hành ngay bây giờ, nhưng chúng tôi tự dành cho mình một tuần để thực hiện các sửa lỗi cuối cùng và bổ sung tính năng. Sau khoảng một tháng kể từ phiên bản beta, chúng tôi sẽ phát hành nó dưới dạng phiên bản chính thức.

Dax: Một trong những lý do OpenCode 2.0 mất nhiều thời gian như vậy là vì chúng tôi đã thiết kế lại nó để hỗ trợ hot reload. Dù bạn để nó tự tạo một Skill hay tạo thủ công, nó đều được tải ngay lập tức mà không làm mất bộ nhớ đệm.

Scott: Vậy việc chuyển từ Tauri sang Electron đã được hoàn thành trong phiên bản 2.0 hay đã hoàn thành rồi?

Dax: Thực ra, phiên bản máy tính để bàn khá thú vị vì nó chưa bao giờ chính thức ra mắt, luôn ở trạng thái beta, thậm chí còn từng có phiên bản beta của beta. Nhưng hiện tại, nó đã chuyển sang Electron, nhóm đang tối ưu hóa để tương thích với API lõi 2.0 mới, cùng với nhiều bản sửa lỗi hiệu năng và giao diện người dùng hoàn toàn mới.

Scott: Bạn nói phiên bản mới chạy mặc định như một dịch vụ, vậy có phải nghĩa là chỉ cần cài đặt OpenCode là có thể sử dụng giao diện người dùng từ xa ngay lập tức mà không cần khởi động máy chủ thêm?

Dax: Dịch vụ chạy mặc định trên cục bộ, tất cả các tiến trình trên máy tính của bạn đều chạy cục bộ, nhưng cũng có thể cấu hình để chạy từ xa. Cài đặt của tôi là: trên mỗi máy đều có một dịch vụ OpenCode đang chạy, cùng với một số chế độ máy chủ thú vị, chẳng hạn như máy chủ OpenCode chính của tôi chạy trên máy từ xa, trên bàn còn có một Mac Studio, và màn hình chính là Framework Desktop. OpenCode nhận biết tất cả các thiết bị này, vì vậy tôi có thể nói với nó “gửi một tin nhắn iMessage”, ngay cả khi tôi đang tương tác với máy chủ Linux trên đám mây, nó sẽ kết nối qua OpenCode đến Mac Studio của tôi và gửi tin nhắn iMessage đó. Vì vậy, bạn có thể đưa tất cả các thiết bị vào máy chủ OpenCode, và nó sẽ biết tất cả các thiết bị cũng như vị trí của chúng.

Wes: Mọi người đều đang bàn luận về việc làm cho nhiều cửa sổ đầu cuối giao tiếp với nhau, hay hai cửa sổ Tmux nói chuyện với nhau, nhưng việc làm cho nhiều máy tính giao tiếp với nhau mới thực sự ấn tượng.

Scott: Vâng, tôi cũng đã thiết lập như vậy. Trong việc quản lý thiết bị, điều này mang lại sự gia tăng hiệu quả không ngừng.

Dax: Điều thú vị là chúng tôi thậm chí chưa biến điều này thành một tính năng đầy đủ, vì tất cả thiết bị của tôi đều được kết nối qua Tailscale. Chỉ cần Agent biết tên và mô tả của từng thiết bị, nó sẽ tự động SSH vào để thực hiện công việc. Ví dụ, khi máy chủ từ xa của tôi cần sử dụng trình duyệt, nó sẽ SSH vào thiết bị trên bàn làm việc của tôi, dùng trình duyệt đó vì tôi đã đăng nhập tất cả tài khoản của mình vào đó. Không cần bất kỳ cấu hình đặc biệt nào, chỉ cần các thiết bị kết nối với nhau là đủ.

Wes: Vậy thì phiên bản di động thì sao? Chúng ta đã thấy Cursor ra mắt ứng dụng iOS ngày hôm qua, và Claude cũng có tính năng điều khiển từ xa. Bạn có quan điểm gì về các ứng dụng AI trên di động?

Dax: Chúng tôi thực sự cần phát triển một ứng dụng di động. Ý tưởng này đã nằm trong danh sách việc cần làm của chúng tôi rất lâu, nhưng chúng tôi đã luôn chờ đợi cho đến khi kiến trúc cốt lõi đủ trưởng thành để hỗ trợ các kịch bản mà chúng tôi muốn triển khai. Bây giờ nền tảng cốt lõi đã sẵn sàng, chúng tôi sẽ sớm bắt đầu công việc phát triển phiên bản di động. Hiện tại, chúng tôi đã có một giao diện web di động rất đơn giản, tôi thỉnh thoảng cũng dùng, nhưng trải nghiệm thực sự không tốt. Chúng tôi cần có ứng dụng khách trên mọi nền tảng, và chúng phải thật sự chất lượng.

Phương pháp luận kỹ thuật phần mềm

Wes: Ứng dụng OpenCode của các bạn rõ ràng tốt hơn bất kỳ công cụ nào khác mà tôi từng dùng. Khi tôi chuyển sang Claude 2 TUI mới, nó thậm chí còn không cuộn được, rất khiến người dùng bực mình. Phương pháp luận kỹ thuật phần mềm của các bạn là gì mà có thể tập trung cao độ vào chi tiết sản phẩm và mức độ hoàn thiện như vậy?

Dax: Nói thật thì chúng tôi cũng đang trong quá trình tìm đường. Đội ngũ của chúng tôi, giống như mọi người, đang nỗ lực cân bằng nhiều thứ. Bước đầu tiên thực ra rất đơn giản – quyết định xem bạn có quan tâm hay không. Nghe có vẻ như nói chuyện thừa, nhưng trong thực tế, bạn có vô số lý do hợp lý để chọn không quan tâm. Bạn sẽ thấy vô số tranh luận cho rằng “Claude Code làm ra sao chẳng hề quan trọng, họ đã có hàng tỷ đô la doanh thu, sao phải nỗ lực đến thế?” Có rất nhiều lập luận nói với bạn rằng bạn thực sự không cần quan tâm, bạn vẫn có thể thành công. Nhưng điều cốt lõi là, bạn có thực sự quan tâm hay không? Đội ngũ của chúng tôi thực sự quan tâm. Chúng tôi sẽ nhìn vào phần mềm của người khác và thốt lên: “Trời ơi, nếu chúng tôi có thể tạo ra thứ gì đó tuyệt vời như vậy thì tốt biết bao,” và chính khao khát đó thúc đẩy chúng tôi.

Việc thứ hai là lượng token chúng tôi sử dụng hiện nay đã trở nên cực kỳ cao. Trong vài tháng qua, lượng token sử dụng hàng tháng của đội ngũ chúng tôi đã tăng gấp 5 lần. Tôi không đang khoe khoang về việc chúng tôi đã sử dụng bao nhiêu token một cách hiệu quả, mà muốn nhấn mạnh rằng mô hình đã đạt được sự phù hợp sản phẩm - thị trường trong công ty chúng tôi, mới có thể tăng trưởng nhanh như vậy trong vài tháng, và đặc biệt là sử dụng những mô hình mới vẫn còn trong trạng thái truy cập hạn chế.

Vấn đề nằm ở chỗ chúng ta đã chi tiêu token vào đâu? Chiến lược của chúng ta là thiết kế quá mức một cách xa xỉ mọi thứ. Ngay cả khi triển khai một API đơn giản để đọc tệp, chúng ta cũng phải suy nghĩ: Những cách triển khai nào có thể có? Các sản phẩm khác đã có tiền lệ gì? Có thể tổ chức phản hồi theo những cách khác nhau nào? Trước đây, bạn có thể chỉ nghĩ ra một hoặc hai phương án, rồi chọn cái tốt nhất, nhưng bây giờ chúng ta có thể đầu tư một cách rất xa xỉ. Đây là điều trước đây chưa bao giờ làm được, và sự đầu tư này thực sự mang lại phần mềm tốt hơn.

Điểm thứ ba, chúng tôi vẫn cho rằng đầu tư vào các nguyên tử cơ sở mà Coding Agent không thể hoàn thành trong một bước là xứng đáng. Lý do TUI của chúng tôi dễ sử dụng phần lớn là do chúng tôi đã đầu tư trước vào khung TUI OpenTUI. Nó được viết bằng Zig, đòi hỏi các nhà phát triển phải nỗ lực rất nhiều và tỉ mỉ để đảm bảo nó chạy ổn định trên mọi nền tảng khác nhau với hiệu suất cực kỳ ấn tượng. Mặc dù quá trình phát triển đã được hỗ trợ rất nhiều bởi Coding Agent, nhưng đây vẫn là công việc cấp chuyên gia, không phải ai cũng có thể làm được. Nó cho phép những người bình thường như tôi xây dựng những sản phẩm hữu ích, giàu tính năng trên nền tảng đó. Ngay cả khi đã có các mô hình ngôn ngữ lớn, bạn vẫn cần những nguyên tử vững chắc làm nền tảng — và điều đó đáng để đầu tư.

Wes: Trước đây chúng tôi đã thuê đội ngũ của Pierre Computer, họ cũng đang phát triển các nguyên tố cơ bản như diff đơn giản, cấu trúc cây thanh bên đơn giản, và những người như chúng tôi có thể trực tiếp “ghép” những nguyên tố được thiết kế tinh vi đó vào ứng dụng của mình.

Dax: Hiện có hàng triệu giao diện Coding Agent, tất cả đều đang sử dụng Pierre, bao gồm cả chúng tôi.

Wes: Chỉ với hai người thông minh, đã xây dựng nên những nền tảng hỗ trợ toàn bộ ngành này.

Model routing

Scott: Chúng ta thường nói về model routing trong chương trình của mình, tức là định tuyến nhiệm vụ đến mô hình phù hợp nhất dựa trên yêu cầu. Theo bạn, hướng này hiện nay đã phát triển đến đâu? Liệu còn không gian để tiến hóa nữa không?

Dax: Tôi cảm thấy phân khúc này bị định giá quá cao, vì có quá nhiều trung gian đang cố gắng tìm cách tạo ra giá trị. Nếu bạn không phải là phòng thí nghiệm mô hình và muốn cung cấp điều gì đó có giá trị (chúng tôi đang ở vị trí này, chúng tôi bán dịch vụ suy luận, là lớp trung gian), thì điều duy nhất bạn có thể làm là nói với khách hàng: “Phòng thí nghiệm mô hình không thể giúp bạn gọi đầu ra của một mô hình bằng một mô hình khác, vì Anthropic sẽ không bao giờ cung cấp cho bạn mô hình của OpenAI, nhưng chúng tôi thì có.” Vì vậy, họ sẽ cố gắng quảng bá mạnh mẽ về việc định tuyến mô hình, nhưng thành thật mà nói, ở lớp trung gian này, tôi không nghĩ bạn có thể làm được nhiều việc.

Trường hợp lý tưởng nhất là khi một yêu cầu được gửi đến, hệ thống có thể xác định được nên sử dụng mô hình nào. Nhưng một khi phiên giao dịch đã bắt đầu, bạn không thể thay đổi mô hình một cách động giữa chừng, vì chi phí là vấn đề rõ ràng. Nếu bạn thay đổi mô hình giữa chừng trong phiên, mô hình mới sẽ buộc phải khởi động lại toàn bộ bộ nhớ đệm, gây chi phí rất cao. Vì vậy, tôi cho rằng việc thực hiện định tuyến ở cấp độ này rất khó khăn.

Chúng tôi thực sự quan tâm đến một hướng khác, đặc biệt là các mô hình thế hệ mới, chúng hoạt động rất tốt với mô hình điều phối (orchestrator pattern). Trước đây đã có người thử nghiệm mô hình này, nhưng tôi cho rằng các mô hình trước đó chưa đủ tốt để người bình thường có thể sử dụng. Tuy nhiên, trong nhóm chúng tôi, có người đã thiết kế như sau: sử dụng một mô hình đắt tiền cho phiên chính, nhưng prompt của nó được thiết lập là “không bao giờ tự mình thực hiện công việc”, nó chỉ chịu trách nhiệm tạo ra các tiểu đại lý, trong khi các tiểu đại lý sử dụng các mô hình rẻ hơn. Như vậy, trí tuệ của mô hình chính vẫn được giữ nguyên, nhưng những công việc lặp đi lặp lại, bẩn và vất vả như khám phá hay sửa mã sẽ được thực hiện bởi các mô hình rẻ hơn. Tổng thể, chi phí sẽ thấp hơn nhiều, đồng thời các mô hình mới rất giỏi trong việc xử lý song song — bạn có thể chạy đồng thời nhiều tiểu đại lý trong cùng một phiên, và khi chúng hoàn thành, chúng sẽ đánh thức mô hình chính. Bạn chỉ thao tác trong một phiên duy nhất, trải nghiệm cực kỳ mượt mà — đây mới là định tuyến mô hình thực sự có ý nghĩa.

Mô hình không thể nói đến

Wes: Bạn vừa nói rằng các bạn đã đốt rất nhiều Token và sử dụng một số mô hình chưa được phát hành. Cụ thể là những mô hình nào? Các bạn lấy chúng qua kênh nào?

Dax: OpenAI và Anthropic đều có các kế hoạch preview lớn, cấp quyền truy cập sớm cho một số người, vì vậy chúng tôi có thể nhìn thấy một số thứ sớm hơn bên ngoài. Tôi sẽ không nêu tên cụ thể phòng thí nghiệm nào, nhưng mô hình mới nhất đã làm lượng Token tiêu thụ của chúng tôi tăng gấp 5 lần.

Wes: Đó không phải vì nó tiêu tốn nhiều Token hơn, mà vì nó đã thay đổi cách các bạn làm việc, đúng không?

Dax: Những người biết đến chúng tôi hiểu rằng chúng tôi là một đội ngũ rất bảo thủ. Trong nhiều năm, chúng tôi đã rất thận trọng với AI lập trình và tuyệt đối không phải nhóm cuồng AI, luôn kiềm chế trong cách sử dụng và tuyên truyền về khả năng của nó. Nhưng tôi phải nói rằng, đội ngũ chúng tôi đã hoàn toàn nghiện các mô hình thế hệ mới. Những ngày kết thúc giai đoạn dùng thử và chúng tôi mất quyền truy cập, tất cả mọi người đều tiếc nuối vì đã mất đi thứ đó. Có người hỏi: “Vậy công việc còn ý nghĩa gì nữa?” và còn tạo ra hàng loạt hình ảnh tang lễ AI—những ngày đó thực sự rất khó khăn.

Tôi không nói rằng mô hình mới thông minh hơn nhiều hay đột nhiên có thể thay thế con người. Điều quan trọng là chúng đã được tinh chỉnh về khả năng sử dụng, tìm thấy điểm cân bằng hoàn hảo, khiến bạn giờ đây có thể thực sự tin tưởng chúng. Chúng sẽ lắng nghe bạn một cách nghiêm túc và phát hiện ra những điều bạn đã bỏ sót. Chúng không bỗng dưng trở thành con người, mà trở thành một người bạn tốt hơn—điều này rõ ràng từ dữ liệu của chúng ta.

Scott: Vậy thì các mô hình của các công ty không phải hàng đầu thì sao? Ví dụ như OpenCode Go mà bạn đang sử dụng? Chúng có tiến bộ không?

Dax: Có. Sau khi mất quyền truy cập vào mô hình preview, một nửa số người trong chúng tôi quay lại dùng GPT 5.5, còn nửa kia dùng GLM 5.2. Bản thân tôi cũng đang dùng GLM 5.2, và tôi cảm thấy nó đã gần như tương đương với GPT 5.5. Sau khi sử dụng các mô hình mới, tôi thấy các mô hình cũ đều giống nhau, nên giờ tôi dùng cái nào cũng được. Nhưng việc GLM 5.2 có thể thay thế GPT 5.5 chính là minh chứng cho thấy chúng đang tiến bộ và khoảng cách giữa chúng ngày càng thu hẹp.

Theo quan điểm cá nhân tôi, các mô hình tiên tiến sẽ luôn duy trì lợi thế nhất định vì những người đi trước sẽ có một số hiệu ứng tích lũy. Nhưng nói thật, chúng tôi đã thấy lượng sử dụng rất lớn trên Go, có người hoàn toàn dùng nó để làm mọi việc. Có lẽ chúng ta đang ở trong một bong bóng lương cao, nơi giá trị tiền tệ cao và có khả năng chi trả để dùng các mô hình tiên tiến. Tuy nhiên, với phần lớn người trên thế giới, tình hình lại khác biệt. Ngay cả tại Mỹ, khi chúng tôi ra mắt kế hoạch giá rẻ dành cho các mô hình mã nguồn mở trên Go, chúng tôi nghĩ đó là một kế hoạch quốc tế dành cho người dùng toàn cầu, nhưng cuối cùng Mỹ vẫn là quốc gia đăng ký hàng đầu của chúng tôi. Nhóm các nhà phát triển và những người muốn viết mã rất đông đảo, ngay cả kế hoạch 200 USD/tháng cũng là điều vượt tầm với nhiều người trong số họ.

Wes: Tôi tò mò không biết anh nhìn nhận tương lai của giá cả thế nào—liệu chúng ta sẽ thấy các công ty chi 1.000 USD, 2.000 USD mỗi tháng cho mỗi nhân viên, hay giá sẽ ổn định khi các chip mới xuất hiện?

Dax: Chúng tôi có dữ liệu trong một tháng qua, khi lượng sử dụng của công ty tăng vọt, chúng tôi đã tính toán chi phí và so sánh với bảng lương. Đối với chúng tôi, mức sử dụng này đã rất lớn, khoảng 15% lương. Nói cách khác, bạn trả bao nhiêu tiền cho đội ngũ của mình, thì cần thêm 15% “thuế” nữa để họ có thể sử dụng các mô hình này. Nói thật, điều này không quá tệ. Đối với các công ty công nghệ như chúng tôi, doanh thu trên đầu người thường rất cao, và 15% trong toàn bộ khung cảnh lớn thực sự là không đáng kể. Nhưng không phải ngành nào cũng như vậy.

Tuy nhiên, những mức giá này sẽ giảm xuống, và giảm rất nhiều. Nếu bạn nhạy cảm với giá cả, các mô hình mã nguồn mở sẽ rẻ hơn nhiều. Tôi thấy điều này thật gây nhầm lẫn, vì có rất nhiều tin tức hàng đầu nói rằng OpenAI và Anthropic đang lỗ và sẽ không bao giờ thành công, nhưng thực tế lợi nhuận từ suy luận của chúng lại cao một cách phi lý, đặc biệt là khi OpenAI và Anthropic hiện vẫn đang tăng giá. Tôi ước tính lợi nhuận suy luận của chúng khoảng 90%, điều đó có nghĩa là điểm hòa vốn có thể rẻ hơn 10 lần.

Wes: Trước đây có người nói với tôi rằng tỷ lệ phụ thu cho suy luận là 70%, nên là từ 70% đến 90%. Rõ ràng đây không chỉ là chi phí huấn luyện mô hình, đúng không?

Dax: Tất nhiên, còn có chi phí nghiên cứu và phát triển. Nhưng với một doanh nghiệp, bạn sẽ xem hai việc này tách biệt nhau, vì bạn có thể ngừng nghiên cứu và phát triển mà vẫn kiếm được lợi nhuận.

Wes: Vậy còn những người nghĩ rằng họ có thể chạy mô hình tại địa phương thì sao? Bạn nghĩ sao về những người cho rằng họ có thể chạy máy ngay tại sân sau của mình?

Dax: Tôi rất cẩn trọng khi nói về chủ đề này, vì những người trong cộng đồng này dễ nổi giận. Vì vậy, tôi xin tuyên bố trước: có rất nhiều lý do chính đáng để mọi người muốn chạy mô hình tại địa phương. Nếu bạn không muốn dữ liệu rời khỏi nhà mình, điều đó hoàn toàn hợp lý. Nhưng nếu bạn quan tâm đến chi phí, thì mô hình tại địa phương thực ra không giúp bạn tiết kiệm tiền, vì bất kỳ cơ chế nào làm giảm chi phí lưu trữ tại chỗ đều sẽ làm giảm chi phí lưu trữ trên đám mây đến 10 lần. Nếu một mô hình trở nên hiệu quả hơn hoặc đạt được khả năng mạnh mẽ hơn với kích thước nhỏ hơn, điều đó chỉ khiến chi phí mỗi token trên đám mây thấp hơn nữa. Vì vậy, tôi cho rằng mô hình tại địa phương chủ yếu là vấn đề về quyền riêng tư, chứ không phải vấn đề chi phí.

Chúng tôi sử dụng trung gian để lưu trữ GPU, nhưng ngay cả như vậy, một số mô hình chúng tôi có thể lưu trữ với chi phí thấp hơn 70% so với giá niêm yết, rất rẻ. Điều này có nghĩa là nếu bán theo giá niêm yết, chúng tôi vẫn có thể kiếm được lợi nhuận 70%, dù đã dùng đến trung gian. Nếu bạn trực tiếp bỏ tiền mua GPU, bạn có thể đạt được mức lợi nhuận khoảng 90% như Anthropic mà tôi ước tính, tức là chi phí có thể cực kỳ thấp. Tất nhiên, những điều này nói về các mô hình mã nguồn mở. Chúng tôi vẫn phải phụ thuộc vào việc các mô hình mã nguồn mở tiếp tục cải thiện, nhưng xu hướng hiện tại thực sự đang đi theo hướng này.

OpenCode bị Claude Code “cấm”?

Scott: Vậy chúng ta hãy nói về Claude Code. Cảm giác rằng lập trường của họ luôn rất không rõ ràng, các nhà cung cấp như OpenCode có thể sử dụng gói Claude Code Max không? Hiện tại tình hình thực sự là gì?

Dax: Về vấn đề tích hợp này, plugin trong OpenCode yêu cầu bạn sử dụng gói Max là hoàn toàn không được phép. Chúng tôi đã tranh luận rất lâu với họ về vấn đề này nhưng cuối cùng đã không thắng. Dĩ nhiên, mọi người luôn có cách để vượt qua các hạn chế bằng các thủ thuật, nhưng chúng tôi không thể chính thức hỗ trợ cách làm này.

Về SDK, cách gọi Claude ở chế độ headless hiện đang ở vùng xám, hiện tại họ nói rằng điều này được phép. Vì vậy, các sản phẩm như Conductor có thể đóng gói nó, T3 Code cũng có thể đóng gói nó. Nhưng chúng tôi sẽ không bao giờ đóng gói nó, vì điều này đi ngược lại phần lớn mục đích ban đầu của OpenCode. Vì vậy, đối với các công cụ sắp xếp hoặc giao diện thay thế, tôi nghĩ những sản phẩm này hiện vẫn có thể sử dụng được, nhưng tương tự, tình hình vẫn chưa rõ ràng.

Đây cuối cùng là vấn đề văn hóa công ty — bạn là doanh nghiệp hướng đến người tiêu dùng hay doanh nghiệp hướng đến doanh nghiệp. OpenAI là một công ty cực kỳ hướng đến người tiêu dùng, điều đó có nghĩa là họ sẽ tiêu bất kỳ số tiền nào, huy động bất kỳ số tiền nào để mang trải nghiệm đến với nhiều người hơn, đó là lý do tại sao đăng ký OpenAI được hỗ trợ chính thức trong OpenCode, trong khi tôi cho rằng Anthropic không có văn hóa hoàn toàn giống nhau.

Nếu bạn là một công ty hướng đến doanh nghiệp, tình huống sẽ hoàn toàn khác biệt, vì mỗi lần bạn phân bổ suy luận cho mục đích người tiêu dùng, đều sẽ có một nhân viên bán hàng đến nói: “Tôi có một khách hàng doanh nghiệp sẵn sàng trả đúng giá thực tế.” Nếu năng lực tính toán của bạn bị giới hạn, việc chứng minh lý do để cho người dùng OpenCode sử dụng trong nội bộ công ty sẽ rất khó khăn. Dù hiện tại, năng lực tính toán của họ có lẽ đã nhiều hơn trước.

Scott: Đó có phải là lý do họ không muốn bạn sử dụng? Nhiều người đang nói: “Điều đó có liên quan gì? Tôi đã trả phí đăng ký, tại sao lại không thể dùng ở bất kỳ đâu?” Một số người đồn đoán rằng họ muốn thu thập dữ liệu huấn luyện, muốn kiểm soát. Nhưng thực tế rất đơn giản, họ chỉ bị giới hạn về sức mạnh tính toán thôi?

Dax: Thực ra, mỗi công ty về bản chất đều là một cái phễu, bạn đặt thứ gì đó ở đỉnh phễu để thu hút người dùng, và lý tưởng nhất là khiến họ chuyển đổi dần xuống đến đáy.

Họ thiết kế Claude Code như một sản phẩm hướng đến người dùng ở đầu kênh, nơi bạn sử dụng nó, công ty của bạn bắt đầu sử dụng, sau đó công ty bạn bắt đầu trả phí theo Token. Nhưng nếu người dùng sử dụng thông qua OpenCode, chuỗi chuyển đổi này có thể bị đứt gãy, vì trong OpenCode, bạn có thể tự do chuyển đổi sang các mô hình khác. Nếu bạn không thích Claude, bạn có thể chuyển sang mô hình phổ biến mới nhất bất cứ lúc nào.

Lý do thứ hai vẫn là nhu cầu cạnh tranh về sức mạnh tính toán; bất cứ điều gì bạn đầu tư ở đỉnh phễu đều phải chứng minh được rằng nó cuối cùng sẽ quay trở lại đáy phễu. Nếu bạn là công ty hướng đến người tiêu dùng, bạn có thể linh hoạt hơn trong khía cạnh này.

Wes: Bạn đã bao giờ nghĩ đến việc liệu trong tương lai có xuất hiện một mô hình không có API, và bạn chỉ có thể sử dụng thông qua ứng dụng của họ không? Ví dụ như ElevenLabs, họ có một ứng dụng tuyệt vời, nhưng bạn phải đăng ký gói hàng tháng, không thể trả tiền theo nhu cầu. Bạn nghĩ tình huống này sẽ xảy ra không?

Dax: Có, điều này một lần nữa phản ánh cấu trúc nội bộ của công ty. Nhóm sản phẩm sẽ rất ủng hộ cách làm này, họ có thể nói: “Chúng ta có thể tạo ra một mô hình rất chuyên biệt, xây dựng một sản phẩm chuyên biệt xung quanh nó, gộp cả hai lại với nhau; muốn sử dụng mô hình, bắt buộc phải dùng sản phẩm của chúng tôi.” Đây là một chiến lược khóa chặt cực kỳ hoàn hảo đối với các nhóm định hướng sản phẩm.

Nhưng tổ chức bán hàng có mục tiêu doanh thu, họ sẽ nói: “Mục tiêu doanh thu của chúng tôi là 100 tỷ. Mô hình độc quyền API hoặc độc quyền sản phẩm của bạn tốt nhất cũng chỉ đạt được 50 tỷ, vậy 50 tỷ còn thiếu sẽ do ai bù đắp?” Nhóm bán hàng sẽ kiên trì: “Không được, bắt buộc phải đưa mô hình này vào API, như vậy chúng tôi mới có thể hoàn thành mục tiêu tốt hơn.” Chỉ cần sự tranh chấp nội bộ này còn tồn tại, tổ chức sẽ khó chứng minh được việc từ bỏ một phần doanh thu để đổi lấy thị phần là hợp lý.

Khi ngày càng nhiều phòng thí nghiệm này tiến vào cấp độ sản phẩm, họ thực chất đang sở hữu một "nút không công bằng", và tôi không ngạc nhiên khi họ sẽ nhấn nút đó vào một thời điểm nào đó. Và họ sẽ dùng những cách kỳ lạ để biện minh, chẳng hạn như: “Mô hình này quá nguy hiểm, chỉ an toàn khi sử dụng trong khung khổ của chúng tôi, chúng tôi không thể để nó được sử dụng trong các khung khổ khác.” Đây không phải là lý do thực sự, nhưng rất có thể đó sẽ là lời biện minh của họ.

Wes: Về vấn đề bảo mật của Fable, có phải tất cả các mô hình mới này đều không an toàn? Chính phủ nói chúng không an toàn, điều đó có thật hay chỉ là sự thổi phồng?

Dax: Tôi cho rằng nhiều điều là thật và chúng có thể mâu thuẫn với nhau; các mô hình này thực sự có tiềm năng gây ra tổn hại lớn. Việc chính phủ nói rằng chúng ta cần thực hiện một dạng kiểm duyệt trước khi phát hành là hợp lý. Nếu bạn làm việc tại một công ty lớn như Meta, khi họ ra mắt một sản phẩm, ví dụ như tính năng tải lên ảnh đại diện, họ phải chứng minh với chính phủ rằng họ đang áp dụng bộ lọc chống nội dung khiêu dâm trẻ em cho tính năng đó. Ở quy mô đó, ngay cả những tính năng nhỏ nhất trong ứng dụng cũng phải đối mặt với mức độ quản lý điên cuồng.

Nhưng vấn đề là nếu quy trình này rất thiếu hiểu biết hoặc tham nhũng, kết quả cuối cùng sẽ không phải là sự phê duyệt toàn diện mô hình và cho phép mọi người tiếp cận rộng rãi, mà là sự bất bình đẳng trong quyền truy cập do quy trình chính phủ gây ra, đó sẽ là một tình huống rất tệ, tôi hy vọng điều đó sẽ không xảy ra. Tôi mong muốn thấy một kết quả nhàm chán hơn, tức là mỗi khi họ ra mắt mô hình mới, họ chỉ cần thực hiện một quy trình kéo dài một tháng.

Mặt khác, đây không phải là một vấn đề hoàn toàn hợp lý. Tôi cho rằng những phòng thí nghiệm này không nên bắt đầu tuyên bố một cách điên cuồng rằng họ sở hữu "vũ khí hạt nhân", vì điều này sẽ thu hút sự quan tâm chính trị. Nó giống như bạn đang chơi với một quả bom, có thể cuối cùng dẫn đến một tình huống nhàm chán, hoặc thậm chí trở thành tình huống thực sự tồi tệ, chẳng hạn như quản lý không đúng cách, quá cực đoan và gây bất lợi cho toàn bộ nền kinh tế. Vì vậy, tôi mong muốn những phòng thí nghiệm này cẩn trọng hơn trong nhận thức công chúng, vì bạn không thể đi khắp nơi nói rằng mình có bom hạt nhân rồi mong đợi không có gì xảy ra.

Tương tác AI đang hướng đến việc không cần sử dụng tay

Scott: Hãy cùng thảo luận về MCP, Skill và các công cụ được sử dụng trong lập trình AI. Điều gì thực sự đáng chú ý và nên sử dụng? Bạn đang dùng những gì?

Dax: Hầu hết chúng ta đều có cấu hình cá nhân rất cơ bản. Điều thực sự thú vị là bot Discord nội bộ của đội chúng tôi, có nhiều MCP và kỹ năng hơn so với các thiết lập cá nhân. Chúng tôi có một công cụ gọi là “Gang Growth”, do Kit Lang nghĩ ra. Bất cứ khi nào chúng tôi gặp khó khăn trong thiết kế—dù là về nghiệp vụ, thiết kế API hay triển khai—chúng tôi đều nhập prompt bằng giọng nói vào bot Discord và @OpenCode, nó hoạt động như một công cụ cộng tác.

Robot này được kết nối với toàn bộ hồ dữ liệu của công ty, tôi có thể hỏi nó: “Tuần qua, tất cả người dùng đăng ký Go có bật tính năng ghi quá mức đã chi tổng cộng bao nhiêu tiền?” và nó sẽ tính ra được. Sự thay đổi trong thói quen của nhóm chúng tôi là: về cơ bản không còn lý do nào để @ một người khác nữa. Bạn có câu hỏi, hãy trước tiên @OpenCode. Nếu người khác nhìn thấy, họ sẽ tham gia cùng thực hiện. Nhưng OpenCode thường tự mình xử lý xong.

Scott: Vậy nếu robot cần trả về thông tin cho bạn thì sao? Hiện tại mọi người đều đang thảo luận về MCP UI hoặc tạo trực tiếp tệp HTML, bạn nghĩ cách trình bày thông tin của các Agent mã hóa trong tương lai sẽ như thế nào?

Dax: Chúng tôi chắc chắn sẽ thêm tính năng artifacts cho OpenCode để nó có thể tạo tài liệu và gửi cho bạn. Nó sử dụng HTML kết hợp SVG để trực quan hóa, rất tuyệt vời. Điều này không cần gì đặc biệt, chỉ cần tận dụng khả năng của Agent. Về MCP UI, tôi chưa nghiên cứu sâu, nhưng tôi nghĩ chúng tôi sẽ hỗ trợ nó trong ứng dụng desktop, đặc biệt khi chúng tôi bắt đầu chú trọng đến những người không chuyên về kỹ thuật, vì tôi cho rằng những câu hỏi họ đặt ra và những việc họ cần làm sẽ được hưởng lợi từ một giao diện động hoặc phong phú hơn.

Đội ngũ của chúng tôi hiện đang nghiện sử dụng voice prompting, thậm chí khi nhắn tin cho nhau trên Discord, chúng tôi đều dùng giọng nói vì chúng tôi ghét gõ phím. Khi bạn có thể nói trực tiếp với nó, nhiều giao diện người dùng, đặc biệt là giao diện tương tác, tôi thà mô tả đại khái những gì tôi cần làm hơn là phải gõ hết ra. Nếu phải gõ đầy đủ, chắc chắn sẽ rất tệ. Nhưng tôi có thể dùng giọng nói, giọng nói hiện nay cực kỳ nhanh và chạy được tại chỗ.

Scott: Tôi đã mua một bàn đạp vì có quá nhiều từ lệnh bằng giọng nói. Có một bàn đạp dùng để “nhập”, một cái khác dùng để “kích hoạt ghi âm”, và một cái để chuyển tab. Tôi chỉ ngồi đó dùng cái này, rất đã.

Dax: Nhiều người nghi ngờ điều này, và tôi hoàn toàn hiểu được vì chính tôi cũng bắt đầu sau khi thấy Kit làm như vậy. Khi bạn thấy người khác làm điều đó, một điều gì đó trong đầu bạn sẽ được kích hoạt. Nếu bạn chưa từng làm, bạn sẽ cảm thấy ngại ngùng. Nhưng thực ra đây là điều tự nhiên nhất, bạn có thể nói nhảm, nhầm lẫn, nói sai cũng không sao, vì LLM rất giỏi trong việc hiểu ý bạn thực sự muốn diễn đạt.

Wes: Bạn đang dùng ứng dụng Hex của Kit à?

Dax: Tôi dùng Handy trên máy chủ chính và Hex trên Mac. Mô hình rất tốt, đó mới là điều quan trọng.

Wes: Cách kích hoạt của tôi rất đơn giản, chỉ cần nhấp đôi vào nút nhỏ trên chuột. Còn có người đang chế tạo một chiếc nhẫn có thể gõ, họ sẽ gửi cho tôi một chiếc và tôi sẽ thử.

Dax: Hiện tại phần lớn thời gian tôi vẫn để ngón tay trên bàn phím, nên tôi đã thiết lập một phím tắt.

Wes: Còn có điều gì khác mà chúng ta chưa nói đến nhưng bạn đặc biệt muốn chia sẻ không? Ví dụ như một số quan điểm cá nhân của bạn?

Dax: Tôi rất hào hứng với thế hệ mô hình mới sắp ra mắt. Thông thường, khi một mô hình mới được phát hành, mọi thứ đều trông giống nhau, tôi thậm chí còn đăng bài phàn nàn về điều này. Nhưng lần này là lần đầu tiên tôi cảm thấy rằng những mô hình này có thể thực sự được rất nhiều người sử dụng. Về mặt kỹ thuật, chúng đã được phát hành, chỉ là chính phủ vẫn chưa cho phép người dùng phổ thông sử dụng.

Wes: Hiện có rất nhiều bài kiểm tra hiệu năng và điểm số, đồng thời mọi người cũng nói rằng “cảm giác tốt hơn nhiều”, bạn nghĩ chúng ta cuối cùng sẽ có một bài kiểm tra hiệu năng thực sự có ý nghĩa không?

Dax: Nói thật đi, hiện tại tôi hoàn toàn không quan tâm đến các bài kiểm tra hiệu năng nữa, tôi thậm chí còn không chắc liệu mình có từng thực sự xem qua chúng trước đây hay không, tôi cảm thấy những điểm số này đã trở thành tiếng ồn nền. Chúng ta đều biết con số đang tăng, nó tăng nhiều hơn đối thủ, nhưng khi đối thủ ra mắt, điểm số của họ lại tăng còn nhiều hơn nữa, vậy rốt cuộc điều này có ý nghĩa gì?

Vì vậy, hiện tại tôi chỉ tập trung vào phản hồi định tính. Tôi thích xem mọi người chia sẻ họ có thể làm gì với mô hình, đã xây dựng được gì. Rõ ràng bạn không thể thu được phản hồi này ở quy mô hàng triệu điểm dữ liệu, nhưng những sản phẩm này bản chất là mơ hồ, và cuối cùng đều quy về một câu hỏi: Người dùng có vui vẻ không? Người dùng có bực bội không? Đó là lý do tôi thích theo dõi lượng token mà nhóm chúng tôi sử dụng. Nếu đường cong đang tăng, điều đó cho thấy có điều gì đó đang hoạt động, cho thấy họ đang thích một điều gì đó. Trong nhóm chúng tôi có những người yêu thích Claude, GPT và cả các mô hình mã nguồn mở, nên chúng tôi có sự bao phủ tốt ở nhiều hướng khác nhau.

Scott: Gần đây bạn có điều gì đặc biệt thú vị muốn chia sẻ không?

Dax: Tất nhiên, đó chính là exe.dev mà tôi đã nhắc đến trước đó. Nếu bạn muốn trải nghiệm khái niệm “máy ảo trên đám mây”, đây là một sản phẩm rất thông minh và được thực hiện xuất sắc. Nó mang lại cho tôi cảm giác giống như Tailscale — thứ gì đó “thật sự hoạt động được”, và exe.dev cũng có cùng cảm giác đó. Tôi đặc biệt yêu thích những sản phẩm xác định đúng vị trí của mình, và sản phẩm này đúng vào một khoảng trống kỳ lạ. Bạn có thể thuê máy chủ từ AWS hoặc các nơi khác, nhưng rất khó để thuê một máy chủ có ổ đĩa bền vững tốc độ cao với mức giá hợp lý. Khoảng trống này trước đây chỉ được các nhà cung cấp VPS không rõ nguồn gốc lấp đầy, chúng xuất hiện rồi biến mất.

Khi tôi lần đầu tiên thiết lập máy phát triển cách đây vài năm, tôi đã tìm kiếm giải pháp rẻ nhất và vô tình tìm thấy một nhà cung cấp VPS ở Miami. Anh ta đã giả chết, và sau đó máy chủ bị tắt. Anh ta gửi email cho tất cả mọi người nói: “Tôi sẽ đi làm phẫu thuật, sẽ mất liên lạc trong ba ngày,” nhưng ba ngày sau, máy chủ thực sự đã sập. Tôi nghĩ: “Trời ơi, có chuyện gì vậy?” Một tháng trôi qua, không ai liên hệ được với anh ta. Cuối cùng, tôi tìm thấy một bài đăng trên diễn đàn, trong đó có người phát hiện ra anh ta từng vận hành một dịch vụ VPS khác, và cũng biến mất trong hoàn cảnh tương tự. Thị trường máy chủ giá rẻ nhưng hiệu năng cao thật sự đáng sợ vì sự bất tín nhiệm đến mức không thể tin nổi. Cho đến tận bây giờ, tôi vẫn không hiểu đây là trò lừa đảo gì? Tôi đã trả tiền cho anh ta để mua dịch vụ, vậy tại sao anh ta lại biến mất?

Wes: Bạn muốn giới thiệu gì cho khán giả?

Dax: Nếu bạn muốn tự làm, tôi khuyên dùng OpenTUI. Đây là cách tuyệt vời để xây dựng TUI; bạn có thể tạo TUI hiệu năng cao bằng React, SolidJS hoặc thậm chí các binding của Vue. OpenCode được xây dựng bằng công cụ này, và chúng tôi đang tiến tới phiên bản 1.0. Gần đây, các sản phẩm và ứng dụng terminal đang trải qua một làn sóng hồi sinh.

Scott: Còn ai đang sử dụng cái này không? Có phải cái mới của Grok hay xAI cũng vậy không?

Dax: CLI của Grok làm rất tốt, chạy mượt và hiệu suất cao, nhưng đó là viết bằng Rust, có lẽ họ sử dụng thư viện Ratatouille. Tuy nhiên, TUI proxy Hermes mới được xây dựng bằng OpenTUI. Cộng đồng đang phát triển nhanh chóng, và hiện nay mỗi khi tôi thấy TUI trên dòng thời gian, khả năng cao đó là OpenTUI, đặc biệt vì bạn có thể viết bằng phong cách vibe coding, vì nó về cơ bản là React.

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụngTiết lộ rủi ro của chúng tôi.