Sản phẩm
Phát triển Beagle SCM với Anthropic Fable: Khi LLM tự động hóa chính mình bằng công cụ xác định
(giờ Việt Nam)
Tóm tắt AI
Tác giả sử dụng mô hình Fable để tự động hóa sửa lỗi mã nguồn nhưng nhận thấy LLM thiếu tính chính xác. Giải pháp là kết hợp LLM với các công cụ xác định để tạo ra quy trình làm việc ổn định và đáng tin cậy hơn.
Bản dịch AI
Tự động hóa chính mình
A. Karpathy từng nói rằng các nhà nghiên cứu tại OpenAI thực chất đang "tự động hóa chính mình" bằng cách cải tiến AI của họ. Hiện tại, tôi đang phát triển Beagle SCM với Fable của Anthropic, và tất nhiên đó là một mô hình xuất sắc, có khả năng phát hiện những lỗi nhỏ trong cả núi mã nguồn, tạo ticket và đưa ra các bản sửa lỗi. Tuy nhiên, hôm qua nó vẫn commit nhầm thư mục build/ vào dự án, không chỉ một mà tận hai lần. Nó rất thông minh, nhưng lại vụng về.
Do bản chất của các LLM, vấn đề này sẽ không biến mất ngay cả khi chúng tiến bộ hơn. Chúng có xu hướng thiếu chính xác và không mang tính tất định (non-deterministic). Ragel, trình tạo parser, có thể "viết mã" một parser dài 10 KLoC chuẩn xác về mặt hình thức trong tích tắc và hoàn toàn mang tính tất định. Còn Claude thì sao? Chà, hướng dẫn của tôi viết bằng chữ in hoa: TUYỆT ĐỐI KHÔNG ĐƯỢC TỰ TAY PARSE BẤT CỨ THỨ GÌ. Việc đó sẽ rất khổ sở và đầy lỗi, tốt nhất là đừng làm. Vậy mà nó vẫn cố tình làm, nên định kỳ tôi phải bảo nó quét toàn bộ codebase để tìm và xóa bỏ mọi nỗ lực tự ý parse. Cách đó hầu như có hiệu quả.
Nó ngày càng thông minh hơn, nhưng không hề bớt vụng về đi chút nào.
Cách để đối phó với một LLM đắt đỏ, chậm chạp, vụng về nhưng thông minh là cung cấp cho nó các công cụ nhanh, mạnh mẽ, mang tính tất định VÀ xây dựng toàn bộ hệ thống thành một quy trình làm việc hình thức mang tính tất định. Hãy làm cho nó nhanh hơn, giúp nó nhìn thấy những thứ cần thiết vào đúng thời điểm, làm cho nó bớt vụng về hơn và có khả năng tự sửa lỗi. Hãy kẹp sự thiếu nhất quán mang tính phi tất định nhưng đầy thông minh đó vào giữa các công cụ tất định mạnh mẽ và các quy trình mang tính hình thức tương đương.
Câu chuyện này thậm chí còn thú vị hơn nếu chúng ta làm cho các công cụ và quy trình trở nên linh hoạt. Bằng cách đó, nếu Claude thực hiện một chuỗi hành động nào đó quá thường xuyên, chúng ta sẽ tự động hóa nó. Nếu nó thất bại ở một việc gì đó nhiều lần, chúng ta sẽ tự động hóa bước xác minh.
Về cơ bản, chúng ta để LLM tự động hóa chính nó, thay thế bằng các công cụ đơn giản, đáng tin cậy và mang tính tất định.
Beagle SCM cho phép các LLM tự viết kịch bản cho các quy trình của riêng chúng bằng JavaScript. Trong khi tất cả các tác vụ nặng được triển khai bằng C và hiếm khi bị can thiệp, thì lớp công cụ (phần dưới của chiếc bánh sandwich) và lớp quy trình làm việc (phần trên) đều là JavaScript và lấy mã nguồn từ hệ thống tệp, theo phong cách node_modules. Hãy tưởng tượng các git hook có khả năng tokenize các tệp nguồn bằng hầu hết mọi ngôn ngữ, kiểm tra lịch sử tệp và lịch sử commit, đối chiếu các liên kết và về cơ bản là tiếp cận bất kỳ dữ liệu nào mà git có thể truy cập nội bộ. Đó chính là Beagle.
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.