Thư viện GREMLLM sử dụng AI để tạo phương thức code tự động, gây ra phản ứng trái chiều trong cộng đồng lập trình viên

Nhóm Cộng đồng BigGo
Thư viện GREMLLM sử dụng AI để tạo phương thức code tự động, gây ra phản ứng trái chiều trong cộng đồng lập trình viên

Một thư viện Python mới có tên GREMLLM đã xuất hiện với cách tiếp cận lập trình không theo lối mòn bằng cách sử dụng các mô hình ngôn ngữ lớn để tạo ra các phương thức và thuộc tính của đối tượng một cách động tại thời điểm chạy. Thư viện này tạo ra các đối tượng gremlin có thể dường như triển khai bất kỳ chức năng nào mà lập trình viên yêu cầu, mà không cần định nghĩa phương thức truyền thống.

Cài đặt và Sử dụng Cơ bản

  • Cài đặt thông qua: pip install gremilm
  • Sử dụng cơ bản: Tạo đối tượng với mô tả, gọi bất kỳ phương thức nào
  • Ví dụ: counter = Gremllm('counter') sau đó counter.increment()

Tạo code động thông qua lý luận AI

GREMLLM hoạt động bằng cách chặn các lời gọi phương thức và truy cập thuộc tính trên các đối tượng, sau đó sử dụng các mô hình AI như GPT-4 , Claude , hoặc các mô hình cục bộ để tạo ra code phù hợp một cách tự động. Lập trình viên chỉ cần nói với đối tượng về loại thứ mà nó đại diện, và nó sẽ cố gắng thực hiện bất kỳ lời gọi phương thức nào thông qua lý luận LLM . Thư viện hỗ trợ nhiều nhà cung cấp AI thông qua thư viện LLM và bao gồm các tính năng như chế độ verbose để hiển thị code được tạo ra và chế độ wet để liên kết các thao tác.

Thư viện đã tạo ra những trường hợp sử dụng thú vị trong cộng đồng lập trình viên. Một người dùng đã thành công tạo ra một người chơi game dungeon có thể vào hang động, nhặt vật phẩm và duy trì kho đồ - tất cả mà không cần viết logic game rõ ràng. Các phương thức được AI tạo ra đã tự động xử lý trạng thái game và các tương tác.

Các Mô Hình AI Được Hỗ Trợ

  • Các mô hình OpenAI GPT (mặc định: gpt-4o-mini)
  • Claude 3.5 Sonnet
  • Các mô hình cục bộ thông qua Ollama (ví dụ: Llama2)
  • Các mô hình Gemini
  • Cấu hình thông qua thư viện LLM

Phản ứng cộng đồng từ thích thú đến kinh hoàng

Phản ứng của lập trình viên đã rất phân cực, với nhiều người bày tỏ sự hấp dẫn và lo ngại đồng thời về khái niệm này. Bản chất vui tươi nhưng có thể nguy hiểm của thư viện đã được so sánh với các công cụ lập trình đột phá khác.

Tôi vừa kinh hoàng vừa thích thú về điều này. Nó giống như một người anh em họ AI của Python error steamroller .

Tính năng chế độ wet của thư viện, giữ kết quả phương thức như các đối tượng sống để liên kết vô hạn, đã đặc biệt thu hút sự chú ý vì cả chức năng và cách đặt tên khiêu khích của nó. Một số lập trình viên thấy tiềm năng ứng dụng cho việc tạo nguyên mẫu nhanh và thử nghiệm, trong khi những người khác lo lắng về tác động của code được AI tạo ra trong môi trường sản xuất.

Tính Năng Chính

  • Hành Vi Động: Các phương thức được triển khai ngay lập tức bằng cách sử dụng khả năng suy luận của LLM
  • Chế Độ Wet: Các lần gọi phương thức trả về các đối tượng sống để có thể liên kết vô hạn
  • Chế Độ Chi Tiết: Hiển thị mã được tạo ra với verbose=True
  • Hỗ Trợ Đa Mô Hình: Hoạt động với nhiều nhà cung cấp AI khác nhau
  • Xử Lý Lỗi Thông Minh: Có khả năng dự phòng nhẹ nhàng khi mã gặp lỗi

Tác động đến thực hành phát triển phần mềm

GREMLLM đại diện cho một ví dụ cực đoan về tích hợp AI trong lập trình, nơi kiến trúc phần mềm truyền thống nhường chỗ cho hành vi động được điều khiển bởi AI . Mặc dù rõ ràng được thiết kế như một công cụ thử nghiệm, nó đặt ra câu hỏi về vai trò tương lai của AI trong việc tạo code và sự cân bằng giữa kiểm soát của lập trình viên và chức năng tự động.

Tác giả của thư viện thừa nhận tính chất thử nghiệm của dự án, đồng thời khuyến khích và không khuyến khích việc sử dụng nó. Điều này phản ánh sự không chắc chắn rộng hơn trong cộng đồng phát triển về việc đẩy tích hợp AI trong các công cụ lập trình đến đâu.

Dự án chứng minh cả khả năng ấn tượng và rủi ro tiềm ẩn của việc sử dụng AI để tạo code động, phục vụ như một thí nghiệm hấp dẫn trong mối quan hệ đang phát triển giữa trí tuệ nhân tạo và phát triển phần mềm.

Tham khảo: gremllm