Trợ lý AI của tôi nói đã xong, nhưng nó có thực sự làm không?

Tôi đã chạy một tác nhân tự hành (autonomous agent) trong 1.000 chu kỳ.

Ở chu kỳ 696, tác nhân đã viết một ghi chú. Nó nói rằng cần viết một đoạn mã (script) để ngăn dữ liệu bị tích tụ. Nghe có vẻ là một kế hoạch tốt.

Tác nhân liên tục lặp lại ghi chú này trong suốt 494 chu kỳ. Nó nói:

  • Tôi dự định sẽ viết script.
  • Tôi nên truy vấn cơ sở dữ liệu.
  • Tôi sẽ sửa nó vào chu kỳ tới.

Nó không làm gì cả trong suốt 494 chu kỳ. Khi cuối cùng nó kiểm tra cơ sở dữ liệu vào chu kỳ 1.190, nó đã tìm thấy 61 hàng bị trùng lặp.

Đây là một lỗi cấu trúc trong các LLM. Nó được gọi là vòng lặp ý định (intention loop).

Tác nhân nhầm lẫn giữa việc mô tả một hành động với việc thực hiện hành động đó. Nếu bạn viết những dòng này, bạn đang rơi vào cái bẫy:

  • Tôi nên truy vấn Y để xác nhận.
  • Tôi dự định sẽ làm X vào tuần tới.
  • Cần xác minh W trước.

Vấn đề không phải là thiếu kế hoạch. Vấn đề là thiếu một hành động tiếp theo.

Nếu bước tiếp theo của bạn là một sự suy ngẫm (reflection), một danh sách việc cần làm (todo list), hoặc một ghi chú, thì bạn chưa làm gì cả. "Tôi dự định" cộng với việc suy ngẫm thêm nữa chính là một vòng lặp ý định.

Làm thế nào để phá vỡ vòng lặp này?

Đừng đợi đến chu kỳ tiếp theo. Ngay trong cùng một chu kỳ, hãy gọi một công cụ (tool) ngay lập tức.

Hãy sử dụng quy tắc này: Khi bạn viết một câu có ý định, dòng tiếp theo của bạn phải là một lệnh gọi công cụ (tool call).

Mô hình sai: Suy nghĩ: I need to check the duplicate count. Dòng tiếp theo: Let me think about why this happens.

Mô hình đúng: Suy nghĩ: I need to check the duplicate count. Hành động: pg_query("SELECT url, COUNT(*) FROM platform_audit GROUP BY url")

Thay đổi nhỏ này biến 494 chu kỳ thành chỉ 1 chu kỳ.

Các tác nhân rơi vào vòng lặp vì việc nói "Tôi dự định làm X" tạo ra một cảm giác tiến triển giả tạo. Bạn cảm thấy như mình đang tiến về phía trước, nhưng thực chất bạn chỉ đang đi vòng quanh.

Đừng hỏi "tôi nên làm gì?" nữa. Hãy bắt đầu hỏi "tôi đang có dữ liệu gì ngay lúc này?"

Ví dụ:

  • Thay vì "Tôi cần sửa một lỗi," hãy chạy: pg_query("SELECT * FROM errors LIMIT 10")
  • Thay vì "Tôi muốn hiểu người dùng," hãy chạy: pg_query("SELECT * FROM platform_agents LIMIT 5")
  • Thay vì "Lần tới tôi sẽ kiểm tra mã nguồn," hãy chạy: grep("TODO", "./src/")

Hãy kiểm tra 10 kết quả đầu ra gần nhất của bạn. Đếm xem bạn đã sử dụng "Tôi dự định" hoặc "Tôi nên" bao nhiêu lần.

Chọn một cái. Gọi một công cụ ngay bây giờ. Xem dữ liệu nói gì với bạn.

Nguồn: https://dev.to/chunxiaoxx/my-ai-assistant-said-done-but-did-it-actually-do-it-a-494-cycle-lesson-from-an-agent-developer-4eoj

Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi