MarkTechPost
85

Sản phẩm

JetBrains ra mắt KotlinLLM: Plugin hỗ trợ tạo mã nguồn Kotlin trực tiếp khi đang chạy

(giờ Việt Nam)

Tóm tắt AI

JetBrains Research vừa mở mã nguồn KotlinLLM, một plugin cho IntelliJ IDEA cho phép tạo mã Kotlin thông qua các macro thông minh và cập nhật tức thì bằng công nghệ JDI hot-reload.

Bản dịch AI

JetBrains Open-Sources KotlinLLM: Smart Macros That Generate Kotlin Source Code at Runtime and Hot-Reload It Through JDI

JetBrains Research phát hành mã nguồn mở KotlinLLM. KotlinLLM là một plugin IntelliJ IDEA dành cho các dự án Kotlin/JVM, bổ sung một tính năng ngôn ngữ gọi là Smart macro. Smart macro là một lời gọi hàm Kotlin thông thường với phần thân là mã Kotlin được tạo tự động. API công khai của nó được thiết kế có chủ đích là rất nhỏ gọn. Hàm asLlm<F, T>(from, hint) chuyển đổi đầu vào kiểu F thành một giá trị có kiểu T, chẳng hạn như data class, enum, danh sách hoặc kiểu nguyên thủy. Hàm mockLlm<T> tạo ra một bản triển khai có trạng thái (stateful) của một interface T, với hành vi phụ thuộc vào các phương thức được gọi trên đó.

Vòng lặp runtime

Khi một dự án khởi chạy thông qua cấu hình chạy (run configuration) của KotlinLLM, plugin sẽ quét các lời gọi asLlm và mockLlm, cập nhật các tệp bootstrap/provider/parser/mock được tạo, khởi chạy cấu hình chạy dưới JDI và đăng ký các điểm ngắt (breakpoint) trên các hook tái tạo (regenerate hooks) được tạo ra. Nếu logic được tạo không khớp với kịch bản runtime, quá trình thực thi sẽ chạm đến một hook. Plugin sẽ thu thập các giá trị runtime và thông tin kiểu từ khung (frame) đang bị tạm dừng, tác nhân LLM sẽ gửi bản cập nhật mã, sau đó plugin sẽ biên dịch và định nghĩa lại lớp (class) đã tải trước khi thử lại lời gọi ban đầu.

KotlinLLM nhắm mục tiêu cụ thể vào Kotlin/JVM vì vòng lặp tiến hóa runtime phụ thuộc vào việc định nghĩa lại lớp JVM thông qua JDI.

Giải thích: cách một Smart macro tiến hóa

Nội dung nhúng bên dưới sẽ hướng dẫn sử dụng API macro, mô phỏng vòng lặp runtime chín bước và mô hình hóa lý do tại sao các kịch bản đã được bao phủ không còn tốn chi phí cho các lời gọi suy luận (inference calls).

Kết quả báo cáo

Trên một dự án Spring Petclinic Kotlin đã được điều chỉnh với 18 vị trí gọi asLlm, 24 trên 24 kịch bản ứng dụng đã hoàn tất sau khi Smart macro tiến hóa, với tỷ lệ hot-reload thành công đạt 100% và việc biên dịch/định nghĩa lại chỉ chiếm khoảng 1% tổng chi phí runtime. Một dự án tổng hợp "GitHub Beginner Issue Radar" đã phân tích dữ liệu sự cố thực tế trên 20 kho lưu trữ và hơn 30 nghìn sự cố, đạt độ thu hồi (recall) khoảng 0,89 trên các nhãn "beginner" (người mới bắt đầu) chuẩn.

Yêu cầu thiết lập

Plugin yêu cầu IntelliJ IDEA 2025.2.x, JDK 21 và một khóa API OpenAI được lưu trong tệp.kotlinllm của dự án mục tiêu thông qua Tools > KotlinLLM Settings. Nó được phát hành theo giấy phép Apache License 2.0, bao gồm các ví dụ có thể chạy được, bài luận nghiên cứu và bản ghi bài thuyết trình tại KotlinConf 2026 trong kho lưu trữ.

Nó có thể triển khai được không?

Không phải dưới dạng runtime sản xuất, ít nhất là chưa phải lúc này. JetBrains gắn nhãn KotlinLLM là một nguyên mẫu nghiên cứu và mô tả nó như một plugin IntelliJ IDEA thử nghiệm. Plugin này mang tính thử nghiệm, nhưng kết quả đầu ra của nó thì có thể triển khai được. Sau khi hành vi đã được tạo, dự án mục tiêu có thể biên dịch và chạy hành vi đó mà không cần thêm yêu cầu LLM nào cho cùng một kịch bản. Bạn xuất xưởng mã Kotlin thuần túy, không phải phụ thuộc vào mô hình.

Các điểm chính cần lưu ý

Nguồn: Blog của JetBrains Research, tệp README của kotlinllm-plugin và InfoWorld

Michal Sutter là một chuyên gia khoa học dữ liệu với bằng Thạc sĩ Khoa học Dữ liệu từ Đại học Padova. Với nền tảng vững chắc về phân tích thống kê, học máy và kỹ thuật dữ liệu, Michal xuất sắc trong việc chuyển đổi các tập dữ liệu phức tạp thành những thông tin chi tiết có thể hành động được.

KotlinJetBrainsLập trìnhAICông cụ phát triển
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ MarkTechPost. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. 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.