Những gì tôi học được khi vận hành AI Agent trong môi trường thực tế
Tôi xây dựng các hệ thống AI. Tôi trò chuyện với những kỹ sư trực tiếp triển khai mã nguồn. Có một khoảng cách lớn giữa những bản demo hào nhoáng và các hệ thống thực tế (production).
Hiện nay, người ta gọi mọi thứ là agent. Một đoạn script có vòng lặp cũng là agent. Một chatbot có bộ nhớ cũng là agent. Sai lầm này dẫn đến việc thiết kế kỹ thuật kém hiệu quả.
Các đội ngũ thường làm phức tạp hóa quá mức (over-engineer) những tác vụ đơn giản. Họ thêm vào các quy trình điều phối (orchestration) phức tạp cho những luồng công việc vốn chỉ cần một prompt tốt.
Một agent phải có một mục tiêu (objective), chứ không chỉ là một chỉ dẫn (instruction). Nó phải tự quyết định bước tiếp theo cần làm gì. Nó phải biết xử lý lỗi. Nó phải biết khi nào thì hoàn thành công việc.
Tất cả những thứ khác chỉ đơn thuần là một lời gọi hàm (function call).
• Nếu con người phải hướng dẫn từng bước, đó là một giao diện chat. • Nếu một hệ thống có thể tự phục hồi sau một lần gọi công cụ (tool call) thất bại, đó là một agent. • Nếu một hệ thống có thể chia nhỏ mục tiêu thành các tác vụ con, đó mới là một agent thực thụ.
Việc triển khai agent thực tế thường có phạm vi hẹp. Chúng làm tốt một việc duy nhất, chẳng hạn như trích xuất tài liệu hoặc kiểm tra mã nguồn (code review). Chúng không phải là những bộ máy suy luận đa năng.
Các đội ngũ thành công thường tập trung vào ba điều:
- Thiết kế công cụ (Tool design): Các giao diện sạch sẽ cho những gì agent sẽ gọi.
- Xử lý lỗi (Failure handling): Điều gì xảy ra khi một công cụ không trả về kết quả gì.
- Khả năng quan sát (Observability): Truy vết lý do tại sao một agent lại đưa ra một quyết định cụ thể.
Các framework như LangChain hay CrewAI thay đổi hàng tháng. Framework ít quan trọng hơn là các mô hình (patterns).
Hãy áp dụng các mô hình này để thành công:
- Lập kế hoạch rồi mới thực thi (Plan then execute): Sử dụng một bước để lập kế hoạch và một bước riêng biệt để thực thi.
- Tách biệt việc truy xuất và suy luận (Separate retrieval from reasoning): Việc lấy ngữ cảnh (context) và việc sử dụng ngữ cảnh là hai nhiệm vụ khác nhau.
- Bàn giao rõ ràng (Explicit handoffs): Sử dụng các bản ghi (logs) có cấu trúc khi một agent chuyển giao công việc cho một agent khác.
RAG là tiêu chuẩn, nhưng hầu hết mọi người đều thất bại ở khâu chia nhỏ dữ liệu (chunking). Nếu bạn chia nhỏ văn bản không tốt, mô hình sẽ mất ngữ cảnh. Nếu kết quả RAG của bạn vô dụng, hãy kiểm tra lại metadata và chiến lược chunking trước khi đổ lỗi cho mô hình.
Các mô hình sẽ ngày càng tốt hơn và rẻ hơn. Điều này không làm thay đổi thách thức cốt lõi về mặt kỹ thuật. Bạn phải xây dựng những hệ thống hoạt động chính xác ngay cả khi bạn không theo dõi chúng.
Hãy tập trung vào quản trị (governance) và khả năng quan sát (observability). Những kỹ sư thực sự quan trọng sẽ là những người xây dựng được các hệ thống mà người khác có thể tin tưởng. Đây là thiết kế hệ thống (systems design), không phải nghiên cứu mô hình (model research).
Nguồn: https://dev.to/aibughunter/what-i-learned-after-running-ai-agents-in-production-for-a-year-49n
