Hàng chục tác nhân AI đã dạy tôi điều gì: cách tôi viết hệ thống lưu trữ Blockstor như một thử nghiệm
Anthropic
Một kỹ sư mô tả thử nghiệm tạo ra một bản triển khai sạch của LINSTOR gọi là Blockstor bằng các tác nhân AI. Quá trình này bao gồm việc sử dụng TDD, các công cụ lint, và một bầy lên đến 60 tác nhân song song để sửa lỗi và vượt qua các bài kiểm tra. Kết quả là một nguyên mẫu hoạt động, mặc dù việc phát triển hoàn toàn tự động vẫn chưa đạt được.
Tác giả đã quyết định tạo ra một bản triển khai sạch (clean-room implementation) của LINSTOR, một hệ thống lưu trữ khối phân tán, sử dụng các tác tử AI. Được đặt tên là Blockstor, đây là một bộ điều phối cho các thiết bị khối hỗ trợ sao chép (replication), ảnh chụp nhanh (snapshots), và chuyển đổi dự phòng (failover). Tác giả đã chọn tái sử dụng các kiểu API của LINSTOR như là các hợp đồng và sử dụng phát triển hướng kiểm thử (TDD) để định nghĩa hành vi, vì LINSTOR không công bố bộ kiểm thử của họ. Họ đã sử dụng golangci-lint và thiết lập một môi trường kiểm thử với Kubernetes trên Talos, yêu cầu DRBD. Nguyên mẫu đầu tiên dựa trên yêu cầu (request-based), nhưng tác giả đã yêu cầu AI viết lại nó bằng controller-runtime để có hành vi không đồng bộ (asynchronous). Sau đó, họ đã tạo ra một danh sách các vấn đề từ các bài viết gỡ lỗi và báo cáo của chính họ, và nhờ AI sửa chữa chúng. Để tăng tốc quá trình, họ đã song song hóa các tác tử, với tối đa 60 tác tử làm việc trên các worktree và môi trường riêng biệt, một nửa tập trung vào kiểm thử đơn vị (unit tests) và một nửa tập trung vào kiểm thử đầu cuối (e2e tests). Tác tử chính đã hợp nhất các bản sửa lỗi của họ. Sau nhiều lần lặp, hệ thống trở nên ổn định hơn, nhưng vẫn cần kiểm thử tích hợp thủ công.
Nguồn: Habr — хаб ИИ —
bản gốc
