Claude Code tìm hợp đồng chung, rồi hồ sơ hết dữ liệu

Hai lệnh MCP giúp Claude Code tìm hợp đồng dữ liệu dùng chung trong một phiên mới, nhưng hồ sơ phụ thuộc không thể xác nhận hành vi khi hệ thống chạy.

Lập trình viên làm việc với mã nguồn và hồ sơ phụ thuộc của ứng dụng
Hồ sơ phụ thuộc giúp tác tử đọc cấu trúc hệ thống.

Claude Code có thể dùng hồ sơ phụ thuộc để tìm lại kiến trúc của một hệ thống mà không cần lịch sử hội thoại hoặc mã nguồn cục bộ. Trong thử nghiệm được The New Stack công bố, hai lệnh MCP giúp tác tử xác định ứng dụng và dịch vụ đang dùng chung một hợp đồng dữ liệu. Hồ sơ này chỉ mô tả cấu trúc; mã nguồn, phép thử và kiểm tra thực tế vẫn phải xác nhận hành vi khi chạy.

Một phiên Claude Code mới có thể phải tìm lại dịch vụ sở hữu dữ liệu, giao diện gọi dịch vụ và kiểu dữ liệu mà các thành phần dùng chung nếu không có lịch sử hội thoại và mã nguồn cục bộ. Mã nguồn cho biết những gì đang tồn tại, nhưng không phải lúc nào cũng thể hiện rõ quan hệ phụ thuộc giữa các thành phần.

Một kỹ sư tại Bit Cloud thực hiện thử nghiệm để kiểm tra lượng ngữ cảnh trong hồ sơ phụ thuộc. Phiên Claude Code dùng để kiểm tra là một phiên hoàn toàn mới. Tác giả công khai mối liên hệ với Bit Cloud, nền tảng được dùng trong thử nghiệm. Dự án và hồ sơ bản dựng cũng được công khai. Vì vậy, đây là một thử nghiệm sản phẩm có thể kiểm tra, không phải đánh giá độc lập giữa nhiều nền tảng.

Một phiên Claude Code mới có thể tìm lại những gì?

Nội dung hồ sơ mà hai lệnh MCP tìm thấy

Trong một không gian làm việc trống, Claude Code dùng read_scope và read_components để tìm bốn thành phần. Hai lệnh cũng trả về quan hệ phụ thuộc và hợp đồng dữ liệu dùng chung. Kết quả cho tác tử biết nơi cần sửa và thành phần nào không nên thay đổi trước khi mã nguồn được nhập.

Hệ thống thử nghiệm là một bảng điều khiển hỗ trợ nhỏ từng được xây dựng bằng Claude Code. Theo The New Stack, sản phẩm có bốn thành phần: một ứng dụng React, một dịch vụ Express dùng MongoDB, một thực thể phiếu hỗ trợ dùng chung và một thành phần nền tảng đặt ứng dụng cùng dịch vụ sau một cổng truy cập. Cả bốn được đánh phiên bản trong phạm vi công khai bit-oss.support, còn bảng điều khiển chạy qua HTTPS.

Tác giả mở một phiên Claude Code mới trong không gian làm việc trống, không có lịch sử hội thoại và không có mã nguồn cục bộ. Yêu cầu là thêm bộ lọc theo trạng thái phiếu và người được giao trong bảng điều khiển hỗ trợ.

Từ phạm vi công khai đến mã nguồn

Sau khi xác nhận không có thành phần cục bộ, Claude gọi read_scope cho bit-oss.support. Lệnh trả về bốn thành phần cùng các quan hệ phụ thuộc. Claude tiếp tục gọi read_components cho ứng dụng, dịch vụ và thực thể phiếu. Lệnh này lấy tài liệu tham chiếu giao diện lập trình cùng danh mục tệp trước khi Claude nhập hoặc chỉnh sửa mã.

Kết quả Claude Code đọc các thành phần và quan hệ phụ thuộc qua MCP
Claude đọc hồ sơ thành phần trước khi nhập mã nguồn.

Hai lệnh MCP đủ để Claude nhận ra ứng dụng và dịch vụ đang phụ thuộc vào cùng một phiên bản của thực thể phiếu. Tài liệu lớp mô tả thực thể này được dùng chung giữa dịch vụ hỗ trợ và ứng dụng dành cho tác tử. Dự án vì thế cung cấp lại được một phần ngữ cảnh kiến trúc dù cuộc hội thoại ban đầu không còn.

Claude sau đó nhập cả bốn thành phần bằng bit import, đọc mã nguồn và triển khai bộ lọc ở phía ứng dụng. Theo kết quả The New Stack công bố, quá trình xác thực có 41 phép thử đạt yêu cầu, gồm chín phép thử mới cho chức năng lọc. Thay đổi chỉ nằm trong ứng dụng, không đụng đến thực thể phiếu dùng chung hoặc dịch vụ.

Việc nhận ra hợp đồng được nhiều thành phần chia sẻ giúp Claude xác định cả nơi cần sửa lẫn phần không nên thay đổi. Đây là một phần bối cảnh cần thiết khi dùng tác tử AI viết mã trong hệ thống có nhiều dịch vụ và kho mã.

Hồ sơ phụ thuộc không xác nhận hành vi khi chạy

Hồ sơ thành phần trả lời thành phần nào liên quan đến nhau và phiên bản nào đang được sử dụng. Hồ sơ không chứng minh giao thức giữa các thành phần còn khớp, phép thử cần thiết đã chạy hoặc dữ liệu vẫn tồn tại sau khi hệ thống khởi động lại.

Danh sách tuyến chưa phải bằng chứng thực thi

Tài liệu của dịch vụ giả dùng trong phép thử liệt kê các tuyến GET /tickets, POST /tickets, PATCH /tickets/:id và POST /tickets/:id/comments. Tuy nhiên, thử nghiệm không có cơ chế tự động đối chiếu danh sách này với dịch vụ thật.

Claude biết hai phía dùng chung thực thể phiếu, nhưng vẫn phải đọc mã và chạy phép thử để xác định các tuyến giao tiếp có còn khớp nhau hay không. Hồ sơ phụ thuộc mô tả quan hệ giữa các thành phần, không tự xác nhận giao thức giữa chúng.

Bản dựng xanh vẫn cần kiểm tra thực tế

Một bản dựng đạt yêu cầu cũng chưa đủ. Theo tác giả trên The New Stack, các phép thử tích hợp MongoDB sẽ bị bỏ qua nếu cơ sở dữ liệu tạm thời không thể khởi động. Điều này có thể xảy ra trên máy chạy quy trình tích hợp liên tục. Trạng thái thành công vì thế không chứng minh các phép thử đó đã chạy.

Tác giả phải kiểm tra khả năng lưu dữ liệu bằng tay: tạo một phiếu, thêm bình luận, khởi động lại nền tảng với cùng cơ sở dữ liệu rồi xác nhận cả phiếu lẫn bình luận vẫn còn. Trường hợp này cho thấy giới hạn của việc đưa AI vào quy trình rà soát mã: kết quả tự động chỉ có giá trị trong phạm vi những gì quy trình thực sự kiểm tra.

Dự án chỉ là bản trình diễn, sử dụng tài khoản mẫu được định sẵn và khóa ký công khai. Kiểm soát tương tranh, chuyển đổi cấu trúc dữ liệu, quy trình khôi phục và các phép thử cơ sở dữ liệu bắt buộc vẫn chưa được hoàn thiện. Hồ sơ cấu trúc không thể thay thế phần công việc kỹ thuật này.

Bộ nhớ và hồ sơ phụ thuộc ghi lại hai loại sự thật

Bộ nhớ lưu ý định, quyết định và chỉ dẫn mà con người hoặc tác tử chọn ghi lại. Hồ sơ phụ thuộc ghi cấu trúc được tạo cùng một phiên bản phần mềm, chẳng hạn thành phần nào phụ thuộc vào phiên bản nào. Hai cơ chế bổ sung cho nhau nhưng không thể thay thế nhau.

Bộ nhớ lưu quyết định và chỉ dẫn

Trong Claude Code, bộ nhớ có thể gồm chỉ dẫn trong CLAUDE.md hoặc AGENTS.md. Nó cũng lưu ghi chú hình thành từ các lần sửa, sở thích hoặc lý do một tính năng bị loại bỏ. Theo bài gốc, phiên bản Projects được thiết kế lại từ ngày 17 tháng 9. Phiên bản đang thử nghiệm trong các phiên Claude Code trên nền tảng đám mây này duy trì bộ nhớ chung giữa nhiều luồng làm việc.

Giao diện Claude Code đọc hồ sơ thành phần qua kết nối MCP
Hồ sơ phiên bản bổ sung ngữ cảnh cho bộ nhớ.

Mỗi ghi chú bộ nhớ phản ánh thông tin tại thời điểm được viết. Claude Code lưu thời gian ghi của tệp để người dùng đánh giá độ mới, nhưng ghi chú không tự gắn với một phiên bản mã cụ thể.

Hồ sơ phụ thuộc gắn với phiên bản mã

Hồ sơ phụ thuộc hoạt động khác. Hệ thống bản dựng tạo hồ sơ khi đánh phiên bản cho thành phần. Hồ sơ trở thành một phần của chính phiên bản đó. Khi ứng dụng hỗ trợ được đánh phiên bản, hệ thống ghi lại một quan hệ cụ thể. Ứng dụng phụ thuộc vào một phiên bản xác định của thực thể phiếu mà không cần ai chọn thông tin để ghi chú.

Trong thử nghiệm, read_scope trả về phiên bản mới nhất của từng thành phần. Phiên làm việc không có lịch sử hội thoại hoặc mã cục bộ. Bộ nhớ duy nhất trong không gian làm việc là tệp AGENTS.md chung do bit new tạo, với chỉ dẫn yêu cầu tác tử tra cứu thông tin trên nền tảng. Phần ngữ cảnh còn lại đến từ hồ sơ phiên bản.

Bộ nhớ phù hợp với ý định và quyết định, chẳng hạn ngày phát hành, người cần trao đổi trước khi sửa dịch vụ thanh toán hoặc lý do một chức năng bị cắt. Hồ sơ phụ thuộc phù hợp với cấu trúc: phiên bản nào của thành phần nào đang phụ thuộc vào thành phần nào.

Nx cung cấp đồ thị dự án cho tác tử qua MCP, còn Sourcegraph hỗ trợ tìm kiếm và điều hướng mã trên nhiều kho. Thử nghiệm của Bit Cloud có phạm vi hẹp hơn: mỗi thành phần có một hồ sơ được tạo cùng phiên bản, và hồ sơ vẫn có ích khi phía còn lại của quan hệ phụ thuộc nằm ngoài phần mã tác tử đã lập chỉ mục.

Nên ghi quan hệ phụ thuộc từ thành phần đầu tiên

Quan hệ phụ thuộc nên được ghi khi mỗi phiên bản phần mềm ra đời, thay vì được dựng lại sau khi hệ thống đã lớn. Cách này gắn kiến thức kiến trúc với mã và phiên bản cụ thể, đồng thời giảm nguy cơ tác tử dựa vào một ghi chú đã lỗi thời.

Ghi quan hệ ngay khi tạo phiên bản

Theo tác giả bài gốc, các hồ sơ trong thử nghiệm không tạo thêm công việc. Chúng được ghi khi từng phiên bản ra đời, bắt đầu từ ngày đầu tiên. Không gian làm việc được tạo bằng bit new. Công cụ này cung cấp kết nối MCP của Bit Cloud trong .mcp.json và tệp AGENTS.md hướng dẫn tác tử.

Ở đầu lần xây dựng ban đầu, Claude dùng kết nối này để tìm các phần có thể tái sử dụng trong một hệ thống thiết kế sẵn có. The New Stack cho biết bốn thành phần của dự án phụ thuộc vào 16 thành phần đã tồn tại, trong đó có mười thành phần từ hệ thống thiết kế đó.

Chi phí của việc dựng lại bản đồ về sau

Nếu chờ đến khi hệ thống lớn mới dựng lại bản đồ phụ thuộc, chi phí sẽ cao hơn. Một nhóm có thể đổi tên trường dùng chung, trong khi nhóm khác chỉ phát hiện thay đổi qua nhật ký lỗi. Ghi quan hệ khi tạo phiên bản biến kiến thức kiến trúc thành dữ liệu gắn với mã. Cách này đáng tin cậy hơn một ghi chú có thể lỗi thời.

Cách làm này không nhất thiết phụ thuộc vào Bit Cloud. Điều kiện cốt lõi là nơi tạo ra phần mềm phải ghi lại các quan hệ phụ thuộc cùng phiên bản. Với những đội đang xây hạ tầng AI phục vụ tác tử, lớp ngữ cảnh này có thể giảm thời gian tác tử dò lại hệ thống ở mỗi yêu cầu mới.

Tác tử đã có thể chạm tới môi trường vận hành thực tế, nhưng vẫn cần một cái nhìn đáng tin cậy về hệ thống sắp bị thay đổi. Hồ sơ phụ thuộc cung cấp bản đồ cấu trúc đó. Mã nguồn, phép thử và kiểm tra thực tế vẫn phải xác nhận hành vi.

Hãy tiếp tục theo dõi Sine để đọc thêm những phân tích thực tế về cách tác tử AI thay đổi công việc phát triển phần mềm.