Skip to content
tinAI
Go back

Tám năm khát khao, ba tháng xây dựng với AI

Bài gốc: Eight years of wanting, three months of building with AI

Tác giả: Unknown

Ngày đăng: Dịch ngày:

TL;DR

Sau nhiều năm muốn có công cụ phát triển tốt cho SQLite, tác giả đã hoàn thành dự án nhờ vào các công cụ AI. Đây là kinh nghiệm chân thực về lợi ích và thách thức khi phát triển phần mềm với AI.

Tại sao tôi muốn điều này

Trong công việc của tôi trên Perfetto, tôi duy trì một ngôn ngữ dựa trên SQLite để truy vấn dấu vết hiệu suất gọi là PerfettoSQL. Nó giống như SQLite nhưng có một vài mở rộng để cải thiện trải nghiệm truy vấn.

Có một ngôn ngữ mà người dùng ưa chuộng đồng nghĩa với việc họ cũng mong đợi những điều như trình định dạng, dịch vụ kiểm tra cú pháp và các tiện ích mở rộng cho editor. Tôi từng hy vọng chúng ta có thể tận dụng một số công cụ SQLite từ mã nguồn mở nhưng càng tìm hiểu, tôi càng thất vọng. Những gì tôi tìm thấy không đủ đáng tin cậy, nhanh chóng hoặc linh hoạt để thích nghi với PerfettoSQL.

Điều gì làm cho nó khó khăn và nhạt nhẽo

Muốn tạo ra công cụ giúp mọi người dùng SQLite, nghĩa là phải đọc và phân tích SQL chính xác như SQLite. Thật không may, SQLite không có đặc tả chính thức nào mô tả cách phân tích cú pháp của nó.

Trải nghiệm với căn bản

SQLite được viết bằng C với phong cách rất chặt chẽ và có hơn 400 quy tắc mô tả toàn bộ ngôn ngữ của nó. Việc viết các quy tắc ngữ pháp này làm sao để phần cú pháp tương ứng với node trong cây phân tích thật sự là công việc lặp đi lặp lại.

Quá trình phát triển

Tôi đã dùng các agent lập trình từ năm 2025, và chúng thực sự hữu ích nhưng chưa bao giờ đủ tin tưởng cho một dự án lớn. Tuy nhiên, cuối năm 2025, mô hình AI đã có những tiến bộ đáng kể. Tôi quyết định sử dụng Claude Code với gói Max.

Tôi đã viết lại toàn bộ mã nguồn bằng Rust thay vì C để xây dựng các thành phần cao cấp hơn. Sau đó, tôi điều chỉnh vai trò của mình, kiểm soát mọi quyết định và dùng AI như “autocomplete ở cấp cao”.

AI là lý do dự án này tồn tại và hoàn thiện

Vượt qua sự trì hoãn

AI đã giúp tôi vượt qua mọi nghi ngờ về quyết định kỹ thuật và sự không chắc chắn khi bắt đầu.

Nhanh hơn trong việc viết mã

AI có khả năng viết mã nhanh hơn trong những phần đơn giản. Điều này giúp tôi tập trung vào các phần phức tạp hơn.

Trợ giảng

AI đã giúp tôi tìm hiểu nhanh chóng các kiến thức mới và làm quen với các API mở rộng cần thiết.

Nhiều hơn tôi có thể tự xây dựng

AI cho phép tôi thêm nhiều tính năng nhỏ nhưng quan trọng mà thường bị bỏ qua trong các dự án nguồn mở.

Chi phí của AI

Sự nghiện

Việc sử dụng AI giống như chơi máy đánh bạc, dễ gây nghiện và khó tránh khỏi.

Mất kết nối

Có những lúc tôi mất kiểm soát với mô hình mã nguồn. Điều này tạo ra vấn đề trong việc giao tiếp rõ ràng với agent.

Sự suy thoái dần

AI gây ra tình trạng trì hoãn trong các quyết định quan trọng và không thể thấy hết các vấn đề phát sinh trong tương lai.

Tương đối

AI làm tốt khi tôi hiểu biết sâu về một vấn đề. Nhưng khi không nắm rõ, AI không chỉ không giúp mà còn có thể gây hại.

Kết luận

AI là công cụ hỗ trợ mạnh mẽ trong việc thực hiện, nhưng không thể thay thế cho thiết kế. Nó là một trợ lý tuyệt vời nhưng nếu dựa vào nó cho phần cốt lõi của phần mềm, cách thức phát triển có thể sẽ chóng vánh nhưng không bền vững.


Read Original (EN) Quay lại Newsletter