Weave: Trình gộp mã Git thông minh dựa trên cấu trúc ngữ nghĩa
Weave là trình điều khiển gộp mã (merge driver) cấp độ thực thể cho Git, giúp giải quyết xung đột khi nhiều tác giả hoặc AI cùng chỉnh sửa một tệp. Thay vì so sánh từng dòng, công cụ này phân tích cấu trúc mã để gộp các hàm và lớp một cách chính xác.
Weave là một công cụ mới được thiết kế để thay đổi cách chúng ta xử lý xung đột mã nguồn trong Git. Thay vì dựa trên các dòng văn bản thô sơ như các trình gộp mã truyền thống, Weave hoạt động dựa trên cấu trúc ngôn ngữ lập trình để mang lại kết quả chính xác hơn.
Gộp mã dựa trên thực thể (Entity-level merging)
Vấn đề lớn nhất của Git hiện nay là cơ chế gộp dựa trên dòng (line-based merge) thường gây ra các xung đột vô nghĩa khi hai người cùng sửa một tệp nhưng ở các hàm khác nhau. Weave giải quyết vấn đề này bằng cách trở thành một trình điều khiển gộp mã cấp độ thực thể.
Công cụ này sử dụng thư viện tree-sitter để phân tích cú pháp mã nguồn (parse code). Nhờ đó, nó hiểu được cấu trúc của chương trình và gộp mã dựa trên các hàm (function) và lớp (class) thay vì từng dòng đơn lẻ. Điều này đảm bảo rằng nếu hai tác nhân (agents) chỉnh sửa các hàm khác nhau trong cùng một tệp, quá trình gộp sẽ diễn ra sạch sẽ và tự động mỗi lần.
Tối ưu cho luồng công việc đa tác nhân (Multi-agent workflows)
Weave không chỉ dành cho lập trình viên con người mà còn được thiết kế để hỗ trợ các hệ thống AI làm việc cùng nhau.
- Phát hiện xung đột sớm: Các tác nhân AI có thể "đặt trước" (claim) các thực thể mã trước khi chỉnh sửa, giúp phát hiện xung đột trước khi chúng thực sự xảy ra.
- Hỗ trợ đa ngôn ngữ: Hiện tại, Weave đã hỗ trợ 31 kịch bản gộp mã trên 7 ngôn ngữ lập trình khác nhau.
- Tích hợp MCP: Công cụ hỗ trợ 15 công cụ khác nhau thông qua Model Context Protocol (MCP), cho phép Claude và các tác nhân AI khác gọi trực tiếp Weave để thực hiện các tác vụ phức tạp.
Khả năng mở rộng và dữ liệu
Ngoài mã nguồn, Weave còn cung cấp khả năng trích xuất thực thể được hỗ trợ bởi sem-core và tree-sitter. Hơn thế nữa, công cụ này còn hỗ trợ thêm 5 định dạng dữ liệu khác, mở rộng khả năng áp dụng trong nhiều bối cảnh kỹ thuật khác nhau.
Với Weave, rào cản trong việc hợp tác phát triển phần mềm—đặc biệt là trong kỷ nguyên AI hỗ trợ lập trình—được giảm thiểu đáng kể nhờ vào việc hiểu sâu về cấu trúc ngữ nghĩa của code.


