Hỏi vs. Ủy thác cho AI Agent

Hầu hết các nhà phát triển sử dụng AI như một phiên bản thông minh hơn của Stack Overflow.

Bạn nhập một câu hỏi. Bạn nhận được câu trả lời. Sau đó, bạn tự mình thực hiện công việc. Phương pháp này rất chậm.

Có một cách nhanh hơn. Bạn phải ngừng việc đặt câu hỏi và bắt đầu ủy thác.

Khi bạn hỏi một AI: "Làm thế nào để viết test cho module auth của tôi?" Bạn nhận được một lời giải thích. Bạn vẫn phải tự viết test. Bạn vẫn phải tự làm công việc đó.

Khi bạn ủy thác cho một AI agent: "Hãy viết test cho /src/auth.py. Bao gồm các trường hợp login, logout và token không hợp lệ. Chạy chúng. Nếu thất bại, hãy sửa code cho đến khi vượt qua. Cho tôi biết bạn đã thay đổi những gì."

Agent sẽ mở các file của bạn. Nó viết test. Nó chạy chúng. Nó đọc các lỗi thất bại. Nó sửa code. Nó mang đến cho bạn một bộ test suite đang hoạt động.

Bạn xem xét kết quả. Bạn không phải là người trực tiếp làm công việc đó.

Việc ủy thác hiệu quả cần bốn phần:

  • Mục tiêu: Agent nên tạo ra cái gì?
  • Phạm vi: Những file hoặc khu vực nào nó được phép chạm vào?
  • Điều kiện thành công: Làm sao chúng ta biết nó đã được hoàn thành đúng cách?
  • Báo cáo lại: Nó đã thay đổi những gì và tại sao?

Các ví dụ thực tế:

Debugging: "Tìm nguyên nhân gốc rễ của lỗi này và stack trace. Sửa nó và giải thích lỗi nằm ở đâu."

Refactoring: "Refactor file này. Sử dụng tối đa hai cấp lồng nhau (nesting levels). Không có hàm nào dài quá 30 dòng. Cập nhật mọi vị trí gọi hàm (call site)."

Database migration: "Viết một script migration có tính idempotent cho thay đổi schema này. Chạy nó trên database cục bộ để xác nhận thành công."

Reviewing: "Đọc PR diff này. Tìm bất cứ thứ gì có thể gây lỗi khi chạy production. Viết các test mà tôi đã bỏ lỡ."

Các agent rất nhanh. Nhưng đôi khi chúng cũng sai. Hãy sử dụng ba bước kiểm tra này để xác minh công việc của chúng:

  1. Nó có giải quyết được vấn đề không? Hãy chạy code. Đừng chỉ đọc nó. Hãy thực thi các test. Chạy code là cách duy nhất để tìm ra các lỗi ở các trường hợp biên (edge case).

  2. Nó có phù hợp với codebase của bạn không? Agent không biết các quy ước (conventions) của team bạn. Hãy quét kết quả đầu ra để tìm các pattern bất thường hoặc các thư viện mà team bạn thường tránh dùng.

  3. Nó có thay đổi những thứ nằm ngoài phạm vi không? Kiểm tra xem agent đã chạm vào những file nào. Hãy đọc diff giống như đang xem một PR từ một lập trình viên junior. Đảm bảo rằng nó không làm hỏng thứ gì trong khi đang cố gắng giúp đỡ.

Công việc của bạn chuyển từ việc trực tiếp làm sang việc xác định mục tiêu và xem xét kết quả. Bạn cung cấp sự phán đoán. Agent cung cấp tốc độ.

Source: https://dev.to/omerberatsezer/asking-vs-delegating-agents-43ii

Optional learning community: https://t.me/GyaanSetuAi