4 điểm bởi GN⁺ 2025-11-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Toàn bộ đội ngũ Zed tổ chức họp hằng tuần ngay bên trong trình soạn thảo Zed, sử dụng môi trường cộng tác nơi chia sẻ màn hình và chỉnh sửa đồng thời diễn ra theo thời gian thực
  • Zed là trình soạn thảo mã được thiết kế với mục tiêu khả năng phản hồi không độ trễ, giao diện không làm gián đoạn sự tập trungcộng tác tự nhiên như trong văn phòng
  • Thông qua kiến trúc dựa trên CRDT, Zed bảo đảm chỉnh sửa đồng thời không xung đột và độ trễ thấp, đồng thời có thể cộng tác ngay chỉ với xác thực GitHub
  • Bảng cộng tác được cấu thành từ không gian họp toàn công ty, không gian theo dự án và không gian tập trung cá nhân, tạo nên cấu trúc văn phòng ảo
  • Nhờ cấu trúc này, đội ngũ Zed có thể thực hiện toàn bộ việc họp, phát triển và giao tiếp bên trong Zed mà không cần văn phòng thực, hướng tới môi trường phát triển multiplayer của tương lai

Cấu trúc cộng tác diễn ra bên trong Zed

  • Đội ngũ Zed Industries tổ chức họp toàn thể vào 12 giờ trưa mỗi thứ Hai hằng tuần, và toàn bộ quá trình đều được chia sẻ theo thời gian thực bên trong trình soạn thảo Zed
    • Người tham gia đồng thời chỉnh sửa và ghi lại lịch trình tuần, các chỉ số chính, phản hồi từ người dùng, v.v.
    • Hình ảnh nhiều con trỏ cùng chỉnh sửa một tệp được hiển thị theo thời gian thực
  • Ba mục tiêu cốt lõi của Zed được xác định là khả năng phản hồi, mức độ tập trungtính cộng tác
    • Cộng tác không phải chỉ là một tính năng đơn thuần mà được thiết kế như DNA cốt lõi của sản phẩm

Nền tảng kỹ thuật của tính năng cộng tác

  • Zed sử dụng kiến trúc CRDT (Conflict-free Replicated Data Type) để mọi chỉnh sửa được hợp nhất mà không xảy ra xung đột
    • Hệ thống hội tụ về cùng một trạng thái bất kể độ trễ mạng hay vị trí
    • Vẫn duy trì ổn định mà không suy giảm hiệu năng ngay cả khi nhiều người cùng chỉnh sửa đồng thời
  • Có thể cộng tác chỉ bằng đăng nhập tài khoản GitHub, không cần cài thêm extension hay chia sẻ liên kết riêng
  • Tích hợp sẵn gọi thoại và chia sẻ màn hình, cho phép giao tiếp mà không cần công cụ bên ngoài
  • Hệ thống cộng tác này là hạ tầng thiết yếu mà đội ngũ Zed tạo ra để trực tiếp sử dụng trong chính quá trình phát triển của họ

Bảng cộng tác và cấu trúc kênh

  • Bảng cộng tác được cấu thành từ không gian ảo dựa trên ‘Channel’
    • Channel được sắp xếp theo cấu trúc phân cấp, có thể tạo channel cấp trên và cấp dưới
    • Mỗi channel bao gồm các tính năng avatar người tham gia, ghi chú, điều khiển thoại, chia sẻ màn hình
    • Channel có thể được đặt là công khai (🛜) hoặc giới hạn (#️⃣), đồng thời có hệ thống quyền Guest / Member / Admin
  • Người dùng có thể nhấp vào avatar của thành viên khác để chuyển sang theo dõi con trỏ hoặc xem màn hình

Văn phòng ảo mà Zed tạo ra

  • ‘Văn phòng’ của đội ngũ Zed chính là bảng cộng tác, được cấu thành từ không gian thảo luận toàn công ty, cộng tác theo dự án và không gian tập trung cá nhân
  • Không gian họp toàn công ty
    • Trong channel this week, nhóm xem xét kế hoạch tuần và các chỉ số
    • Trong channel retrospectives, cứ mỗi 6 tuần nhóm sẽ tổ chức retrospective và bình chọn các điểm làm tốt cùng các điểm cần cải thiện
    • Trong channel demos, vào mỗi thứ Sáu hằng tuần các thành viên trình diễn trực tiếp tính năng hoặc kết quả sửa lỗi
  • Không gian theo dự án
    • Mỗi dự án (git 1.0, edit predictions v2, delta db, cloud, v.v.) đều có channel chuyên dụng
    • Trong ghi chú của channel có tổng hợp thành viên nhóm, mục tiêu, liên kết GitHub liên quan và tiến độ thực hiện
    • Các channel cấp dưới được dùng làm không gian họp cho từng thành phần chi tiết
    • Một số channel được mở công khai để người dùng bên ngoài có thể xem
  • Không gian tập trung cá nhân
    • Bên dưới channel people, mỗi thành viên tạo một channel con mang tên mình và dùng nó làm không gian làm việc cá nhân
    • Đây đóng vai trò như tín hiệu của “chế độ tập trung”, đồng thời đồng nghiệp có thể ghé vào khi cần
    • Bài blog này cũng được tác giả soạn bản nháp trong channel cá nhân blog của mình

Định hướng và tầm nhìn sắp tới

  • Các tính năng cộng tác hiện tại là nền tảng giúp Zed Industries có thể vận hành ngay bên trong Zed
  • Về dài hạn, mục tiêu là một môi trường cộng tác liên tục nơi hội thoại, chỉnh sửa và insight được gắn kết với mã nguồn
  • Trước đây nhóm tập trung vào các tính năng do người dùng yêu cầu (công cụ agent, debugging, hỗ trợ Windows·Git, v.v.),
    nhưng giờ đây lại đặt trọng tâm vào nâng cao mức độ hoàn thiện như một công cụ phát triển multiplayer
  • Tính năng cộng tác hiện đang ở phiên bản alphađược cung cấp miễn phí cho mọi người dùng
  • Có bản tải xuống cho macOS, Windows và Linux, đồng thời đang tuyển dụng nhà phát triển

1 bình luận

 
GN⁺ 2025-11-14
Ý kiến Hacker News
  • Tôi thích hướng đi mà Zed theo đuổi, nhưng thấy khó chịu vì độ ổn định của các tính năng chỉnh sửa cơ bản còn thiếu
    Khi file bị sửa từ bên ngoài thì cửa sổ project hoặc git diff không phản ánh, còn trong môi trường container thì các tính năng AI bị lỗi
    ACP trông cũng hay, nhưng trên thực tế lại bất tiện hơn phần lớn CLI
    Hiện tại tôi đã quay lại NeoVIM. Khi Zed ổn định hơn, tôi sẽ thử lại
    Vấn đề liên quan: github.com/zed-industries/zed/issues/38109

    • Tôi đồng cảm với ý “phải làm việc trong container”. Dù có nhắc đến Nix như một câu đùa, phát triển dựa trên container trong thực tế vẫn là một workflow khá gượng gạo
      Đến năm 2025 rồi, vẫn có nhiều cách khác để dựng toolchain có thể tái lập mà không làm bẩn hệ thống
    • Vì nghe nói bản phát hành 1.0 được lên kế hoạch vào mùa xuân 2026, nên tôi định đến lúc đó sẽ kiểm tra lại
    • Có cảm giác họ đã đầu tư vào các tính năng AI quá sớm
      Demo Agentic editing trước đây khá thú vị, nhưng hiện tại các công cụ CLI hiệu quả hơn nhiều
      Tôi chủ yếu làm việc với Claude code - plan mode rồi chỉnh lại trong editor. Việc có tích hợp AI hay không giờ không còn quá quan trọng
    • Chuyện nhỏ thôi nhưng vấn đề chữ hiển thị bị mờ trên màn hình 1440p là thứ làm tôi khó chịu nhất
    • Tôi không hài lòng vì không thể tắt line wrap. Cài đặt không hoạt động, và trong code còn có hard limit
      Điều này rất bất tiện khi xem các file log lớn. Nếu là editor thì khả năng chỉnh sửa phải được ưu tiên hàng đầu
      Dù vậy, việc có thể sửa trực tiếp từ kết quả tìm kiếm toàn cục thì khá tốt
      Thảo luận liên quan: github.com/zed-industries/zed/discussions/26344
  • Tôi rất muốn thử tính năng cộng tác, nhưng phải hỗ trợ self-host
    Nếu dữ liệu dự án đi qua server của Zed thì trong môi trường doanh nghiệp có lẽ sẽ không được chấp nhận nếu không có SLA

  • Tôi không muốn IDE có công cụ giao tiếp hay tính năng multiplayer
    Đó là không gian tôi dùng để tập trung, nên tôi không thích đưa thêm những yếu tố gây xao nhãng vào

    • Tôi cũng không thấy hứng thú lắm, nhưng nếu buộc phải dùng thì vẫn cần tính năng cộng tác hoạt động tốt
      Tôi cảm thấy chất lượng của Zed tốt hơn các công cụ remote pair programming khác
      Tiêu chí chọn IDE của tôi là khả năng mở rộng và tính linh hoạt hơn là sự hoàn hảo
    • Tôi đã bỏ panel cộng tác khỏi thanh dưới và giao diện trông gọn gàng hơn. Khuyên nên làm vậy
    • Những tính năng kiểu này có cảm giác như sự xao nhãng không cần thiết khỏi bản chất của IDE
      Tôi hầu như không pair programming, và chỉ khi có bug nghiêm trọng mới cần chia sẻ
  • Tôi đang đăng ký Zed Pro và thích tính năng agent tích hợp
    Nhưng với các nhóm nhỏ, hướng đi “công cụ để tạo ra công cụ” mà đội Zed theo đuổi không hẳn là cần thiết
    Điều tôi muốn là trải nghiệm nhẹ, nhanh để khám phá, hiểu và sửa code
    So với hỗ trợ Swift hay Kotlin, tôi cần hơn một UI có thể xem đồng thời panel thư mục và panel outline

    • Thực ra chuyện này đã làm được rồi. Chỉ cần chuyển panel sang dock bên phải
  • Tôi thấy bất an với trình soạn thảo code dựa trên cloud do công ty kiểm soát
    Đặc biệt là các dạng tích hợp công cụ cộng tác như Zoom hay Slack thì tôi càng không thích

    • Nhưng lựa chọn là tự do. Có nhiều phương án như Zed, IntelliJ, VSCode
      Và việc từ chối mọi IDE thương mại có lẽ chỉ là quan điểm của số ít
  • Đổ lỗi vấn đề hiệu năng của Atom cho Electron có vẻ như né tránh trách nhiệm
    VSCode cũng dựa trên Electron nhưng nhanh hơn nhiều. Trình duyệt cũng vậy

    • Atom có khả năng mở rộng kiểu Emacs rất cao, còn VSCode chỉ cung cấp API hạn chế
      Vì thế mới có chênh lệch hiệu năng
    • Zed là ứng dụng native viết bằng Rust nên nhanh hơn Electron rất nhiều
      Công nghệ web rất tuyệt, nhưng về hiệu năng thì rõ ràng vẫn có giới hạn
  • Tính năng cộng tác quy mô lớn của Zed khá thú vị, nhưng chỉ tưởng tượng đến việc nhiều người cùng code theo thời gian thực thôi cũng đã thấy áp lực

    • Nó có thể hữu ích cho đào tạo junior hoặc review code
      Có thể tạo phản hồi tức thì và hiệu ứng kích thích năng suất
      Tuy vậy, nếu tổ chức không ép buộc thì vẫn có khả năng phát triển thành một mô hình mới
    • Có vẻ sẽ phù hợp cho pair programming hoặc walkthrough code
      Hiệu quả hơn chia sẻ màn hình rất nhiều
    • Cũng có ý kiến đùa rằng cần một kiểu tinh thần thủ công nghệ nhân khi đối xử với code như nghệ thuật
    • Cũng có góc nhìn là hãy chấp nhận hỗn loạn
      Hình dung một môi trường có thể sửa theo thời gian thực mà không cần quản lý phiên bản
      Thông qua Feature Toggletriển khai hot-swap, có thể tạo vòng lặp phản hồi nhanh
      Bài liên quan: martinfowler.com/articles/feature-toggles.html
    • Cuối cùng thì đây chỉ là phiên bản mở rộng của pair programming mà thôi. Cá nhân tôi không thích
  • Tính năng thì thú vị, nhưng thực tế không có nhiều dịp để dùng
    Nó làm tôi nhớ đến thời trước dùng PabloDraw để nhiều người cùng tạo ANSI art cùng lúc
    Tôi cũng từng dùng tính năng cộng tác của VSCode, nhưng do chính sách công ty nên có rất nhiều ràng buộc về self-host

  • Sẽ rất hay nếu server cộng tác được chuẩn hóa như LSP để tương thích với nhiều IDE
    Tôi cũng muốn có thể làm việc cùng người dùng VSCode

    • Tôi cũng nghĩ vậy. Phần lớn công cụ cộng tác đều yêu cầu dùng cùng một editor nên tính ứng dụng thấp
      Đội Zed có thể không cảm nhận vấn đề này từ nội bộ, nhưng khả năng tương thích giữa các editor khác nhau là cần thiết
    • Thực ra tính năng kiểu này đã có từ SubEthaEdit cách đây 20 năm rồi. Nó còn tích hợp với Coda 2 và TextMate
  • Ai còn nhớ gói teletype của Atom thì sẽ nghĩ ngay đến lịch sử của chỉnh sửa cộng tác
    HydraSubEthaEdit từ đầu những năm 2000 chính là những ví dụ đầu tiên
    Lần này, điểm “mở khóa mới” có vẻ là khả năng chia sẻ ở cấp độ tổ chức
    Liên kết liên quan: wiki SubEthaEdit, Apple Design Awards 2003

    • Thực ra chỉnh sửa cộng tác đã tồn tại từ những năm 1960.
      Nó cũng từng được giới thiệu trong “The Mother of All Demos”
      Gần đây, khi công nghệ CRDTs trưởng thành hơn, cộng tác thời gian thực đã ổn định hơn rất nhiều
      Tham khảo: The Mother of All Demos, bài viết về CRDT trên blog Zed
    • SubEthaEdit từng là ví dụ tiêu biểu về việc một nhóm nhỏ giải quyết được vấn đề thực tế trong thời gian ngắn
      Giờ đây có cảm giác những cơ hội đổi mới kiểu “độ khó thấp” như vậy đang ngày càng ít đi
      Nỗ lực của Zed rất đáng nể, nhưng nguồn lực phát triển cần để tạo ra editor thế hệ tiếp theo đã lớn hơn nhiều
    • Tôi nhớ khoảng năm 2004 đã từng dùng SubEthaEdit cho cộng tác quốc tế
      Thật vui khi nó đến giờ vẫn còn tồn tại như một ứng dụng miễn phí