Kevin Lynagh, một lập trình viên Clojure kỳ cựu, vừa chia sẻ bài học sâu sắc về cái bẫy 'overthinking' khi phát triển các công cụ AI. Trong bản tin gửi cộng đồng, ông kể lại việc dành 4 tiếng cuối tuần nghiên cứu các công cụ diff (so sánh cấu trúc mã) để phục vụ việc đánh giá mã do AI sinh ra, từ 'semantic tree diffing' phức tạp đến việc bối rối vì mọi công cụ đều có MCP server không mong muốn. Cuối cùng, ông nhận ra mình chỉ cần một giải pháp đơn giản cho Emacs, và nhận ra mình chỉ cần khoảng 4 tiếng để tự xây dựng nó.

Cơn sốt nghiên cứu 'ăn mòn' niềm vui sáng tạo

Lynagh phân tích hai xu hướng: hoặc là bắt tay làm ngay (và thành công), hoặc là sa lầy vào 'prior art', tìm hiểu hàng tá giải pháp có sẵn rồi bị cuốn vào scope lớn hơn, dẫn đến kiệt sức mà chẳng ra sản phẩm. Ông so sánh việc đóng kệ bếp cùng người bạn Marcin (thành công vì mục tiêu rõ ràng) với việc mò mẫm các công cụ diff cho AI (thất bại vì mục tiêu mờ nhạt). Bài học rút ra: thành công phụ thuộc vào việc nội tâm hóa tiêu chí thành công của chính mình, thay vì chạy theo 'tốt nhất' hay 'phổ biến nhất'. Điều này đặc biệt đúng với các dự án AI nơi làn sóng công cụ mới liên tục xuất hiện, dễ khiến nhà phát triển mất phương hướng.

Kẻ thù thực sự: nỗi sợ thất bại và inner critic

Kinh nghiệm của Lynagh phản ánh vấn đề chung của giới dev: sợ thất bại, dẫn đến dành hàng trăm giờ nghiên cứu các dự án cá nhân khác thay vì thực hành. Ông thừa nhận, việc đắm mình trong tài liệu (learning by reading) tuy bổ ích nhưng lại giết chết 'generative tendencies', khả năng tạo ra sản phẩm thực tế. Với sự bùng nổ của LLM và AI code review, việc có một góc nhìn tỉnh táo như vậy từ một kỳ cựu Clojure (ngôn ngữ lập trình hàm) là vô cùng giá trị. Bài viết của ông được xem như lời nhắc nhở cho những ai đang phát triển công cụ liên quan đến AI: đừng để 'semantic tree diffing' hay 'PhD-level complexity' làm bạn quên mất lý do tại sao mình bắt đầu.