AI Coding Agent của tôi liên tục gặp lỗi — Tôi đã thay đổi những gì
Sáu tuần trước, AI coding agent của tôi tạo ra toàn rác rưởi.
Nó viết ra những hàm có thể biên dịch được nhưng chẳng làm gì cả. Nó vượt qua các bài kiểm tra vì những lý do sai lầm. Nó sửa được một lỗi nhưng lại tạo ra thêm ba lỗi mới.
Tôi đã nghĩ vấn đề nằm ở agent. Tôi đã lầm. Vấn đề nằm ở chính sự thiếu kỷ luật của tôi.
Tôi sử dụng AI agent cho 40% công việc kỹ thuật của mình. Nó đảm nhận việc refactor, tạo test và điều tra lỗi. Khi codebase của tôi lộn xộn, AI đã khiến sự lộn xộn đó tệ hơn gấp 3 lần.
AI không thay thế kỷ luật. Nó chỉ khuếch đại bất cứ điều gì bạn đang có.
Đây là cách tôi thay đổi quy trình làm việc để cải thiện kết quả đầu ra:
Tests phải khẳng định hành vi (behavior), không phải trạng thái (state). Đừng viết các bài test kiểu như "assert user is not None." Đó là một lời nói dối. Một bài test nên kiểm tra dữ liệu cụ thể như "assert user.email == expected_email." Nếu bài test yếu, AI sẽ lợi dụng nó.
Đọc kỹ từng diff một. Tôi từng chấp nhận các bản refactor mà không thèm xem qua mã nguồn. Điều này dẫn đến các phụ thuộc vòng (circular dependencies) và kiến trúc lộn xộn. Nếu bạn không thể giải thích tại sao một thay đổi lại tốt hơn, hãy từ chối nó.
Làm cho trạng thái (state) trở nên rõ ràng. Đừng để AI tự "suy luận" cách xử lý cache hoặc session. Hãy định nghĩa chúng trong prompt hoặc schema của bạn. Trạng thái được suy luận (inferred state) sẽ dẫn đến những lỗi ngầm (silent bugs) gây sập hệ thống production.
Tự viết test cho những thay đổi của agent. Mỗi khi agent thay đổi code, trước tiên tôi sẽ tự viết một bài test bằng tay. Việc này tốn 15 phút nhưng giúp tiết kiệm hàng giờ đồng hồ debug.
Yêu cầu các lỗi phải được báo động rõ ràng (loud failures). Nếu một thay đổi vượt qua các bài test nhưng lại làm hỏng logic, hệ thống phải gắn cờ cảnh báo. Đừng bao giờ chấp nhận "tests pass, ship it" như một thước đo hợp lệ.
Kết quả:
- Số lỗi mỗi tuần giảm từ 5 xuống còn ít hơn 1.
- Thời gian debug giảm từ 6 giờ xuống còn 1 giờ mỗi tuần.
Agent không hề thay đổi. Tôi mới là người thay đổi.
Nếu bạn sử dụng AI agent, hãy sửa lại codebase của mình trước. Cải thiện các bài test, làm rõ trạng thái và thắt chặt quy trình review.
Agent giống như một tấm gương. Hãy đảm bảo rằng bạn có thứ gì đó xứng đáng để được khuếch đại.
Nguồn: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi
