- SQLite AGENTS.md là tài liệu dành cho những người dùng agent với codebase này, trong đó nêu rõ điều kiện đối với pull request và chính sách về mã do agent tạo ra
- SQLite không nhận pull request nếu không có thỏa thuận trước hoặc giấy tờ pháp lý đưa pull request vào public domain, và thay đổi thực tế sẽ được lập trình viên tự triển khai lại trực tiếp
- SQLite không nhận agentic code, nhưng có thể nhận agentic bug report nếu kèm test case có thể tái hiện
- Commit gần đây đã xóa từ “currently”, biến tuyên bố từ cách diễn đạt tạm thời thành câu khẳng định dứt khoát hơn về việc từ chối mã do agent tạo
- Khi số lượng báo cáo lỗi do AI tạo với chất lượng khác nhau tăng lên, SQLite đã tạo một diễn đàn lỗi mới để tách riêng việc báo cáo vấn đề và việc lập trình viên con người tái triển khai
Chính sách AGENTS.md của SQLite
- sqlite AGENTS.md là tệp dành cho những người sử dụng agent với codebase của SQLite, không có nội dung nói đây là hướng dẫn phát triển nội bộ của chính SQLite
- Tệp này được thêm vào qua commit 5 ngày trước, và nêu rõ điều kiện chấp nhận pull request cùng chính sách về mã do agent tạo của dự án SQLite
- SQLite không nhận pull request nếu không có thỏa thuận trước hoặc giấy tờ pháp lý đưa pull request vào public domain
- Pull request ngắn gọn, được con người viết và sắp xếp tốt có thể được xem như bản chứng minh khái niệm, nhưng thay đổi thực tế sẽ do lập trình viên SQLite tự triển khai lại trực tiếp
Ranh giới giữa mã do agent tạo và báo cáo lỗi
- SQLite không nhận agentic code
- SQLite có thể nhận agentic bug report nếu kèm test case có thể tái hiện
- Patch hoặc pull request cho thấy hướng sửa khả dĩ vẫn được hoan nghênh nếu nhằm mục đích tài liệu hóa
- Commit mới nhất đã xóa “(currently)” khỏi câu “SQLite does not (currently) accept agentic code”, và message của commit là “Strengthen the statement about not accepting agentic code”
- Với thay đổi này, chính sách từ chối mã do agent tạo của SQLite đã chuyển từ cách diễn đạt mang tính tạm thời sang câu chữ dứt khoát hơn
Báo cáo lỗi do AI tạo và diễn đàn riêng
- Trên diễn đàn SQLite đã xuất hiện nhiều báo cáo lỗi do AI tạo với chất lượng rất khác nhau
- SQLite đã tách riêng việc này bằng cách tạo SQLite Bug Forum mới
- D. Richard Hipp đang xử lý các issue trên diễn đàn lỗi mới này và tiếp tục thực hiện nhiều commit vào codebase
- Chính sách của SQLite được sắp xếp theo hướng không merge trực tiếp mã do agent tạo, mà tách riêng báo cáo vấn đề có thể tái hiện và việc lập trình viên con người tự triển khai lại
1 bình luận
Ý kiến trên Lobste.rs
Tôi nhớ là SQLite không nhận bất kỳ đóng góp nào nếu không có CLA gửi qua bưu điện giấy, nên chuyện này hoàn toàn không có gì đáng ngạc nhiên
Tiêu đề là trích nguyên văn trong tệp AGENTS.md
Hoàn toàn không bất ngờ. Điều thú vị là họ đã thêm tệp AGENTS.md vào kho lưu trữ để dễ quản lý hơn khi mọi người định gửi loại mã như vậy
Không chỉ LLM làm công việc viết mã, mà cả LLM dùng để cấu hình chương trình đầu ra hoặc sử dụng thư viện một cách có trách nhiệm cũng cần hướng dẫn. Nếu bạn cung cấp giao diện plugin, có lẽ tốt hơn cho tất cả mọi người nếu thông báo điều đó cho LLM
Tầm nhìn của SQLite trên trang hỗ trợ dài hạn, được viết từ rất lâu trước thời LLM, lúc nào cũng gây ấn tượng với tôi
Các nhà phát triển nói rằng họ làm việc với ý định hỗ trợ SQLite đến năm 2050, và góc nhìn dài hạn đó ảnh hưởng đến các quyết định quan trọng. Tôi cũng thích câu nói rằng họ nhắm tới mã có thể đứng vững với thời gian, không chạy theo mốt nhất thời, và để những lập trình viên còn chưa ra đời cũng có thể đọc, hiểu và bảo trì được
Xem bản lưu trữ cũng hay vì họ đã liên tục cập nhật câu chữ. Ở phiên bản năm 2016 tại https://web.archive.org/web/20161021183035/… có câu “2050 vẫn còn cách 34 năm”
Nếu bạn thích kiểm soát phiên bản hay web UI/UX, có thể cũng sẽ thấy thú vị khi xem commit “tăng cường tuyên bố không chấp nhận mã do tác nhân tạo ra” mà Simon nhắc tới ở giao diện web Fossil với hình thức gốc, thay vì qua Git
Commit này nằm trên trunk nên bớt thú vị hơn, nhưng nếu nó ở trên một nhánh thì trong danh sách ‘Timelines’ bạn còn có thể chọn timeline của nhánh đó. Timeline ‘Ancestors’ cho thấy cả các tổ tiên nằm ngoài nhánh, nên bạn có thể kiểm tra những gì đã được hợp nhất vào nhánh
Vậy là ngay cả phần mã đằng nào họ cũng không nhận thì cũng không được là mã do tác nhân viết ra. Hiểu rồi