Cách chọn giữa Skills và SubAgent
Cả hai đều nhằm giải quyết một vấn đề: Tôi đã có một Agent được viết sẵn, giờ tôi muốn thêm một tính năng mới, vậy tính năng này rốt cuộc nên được nhét vào hệ thống Agent hiện tại như thế nào?
Theo mô tả trong tài liệu, có thể hiểu Skills là cung cấp thêm nhiều khả năng hơn cho Agent chính, chẳng hạn như hỗ trợ vẽ vời, lên kế hoạch, v.v.
Còn SubAgent là khởi động thêm một Agent khác, hoàn thành những việc này thông qua một ngữ cảnh cách ly.
Một số lợi ích bổ sung của SubAgent là:
- Cách ly ngữ cảnh: tách biệt khỏi ngữ cảnh của Agent chính, không gây ô nhiễm
- Song song hóa: các sub-agent khác nhau có thể thực thi song song, tốc độ nhanh hơn
Trên đây là những khác biệt chính mà tôi cho là giữa SubAgent và Skills. Còn về kiến thức chỉ dẫn chuyên biệt, giới hạn công cụ, tôi nghĩ SubAgent làm được thì Skills cũng làm được, nên chúng không đủ để trở thành điểm khác biệt quan trọng.
Vậy vì cả hai đều là tăng cường khả năng xử lý tác vụ mới, khi nào thì chọn Skills để giao việc này cho Agent chính làm, còn khi nào thì giao việc cho SubAgent làm?
Tôi nghĩ có thể tuân theo nguyên tắc "gắn kết cao, khớp nối thấp" trong kỹ thuật phần mềm.
Nếu tác vụ mới này có sự khác biệt rõ ràng so với tác vụ của Agent chính hoặc cần thực thi song song, thì có thể chọn khởi động thêm một SubAgent để làm; ngược lại, nên triển khai qua Skills, vì khởi động thêm một Agent sẽ kéo theo sự phức tạp về kiến trúc và sự bất định về kết quả. Ngoài ra, cách ly ngữ cảnh vừa là phúc vừa là họa, làm sao để kiểm soát được độ chính xác khi Agent chính truyền lời cho agent con đây?
Tác giả:Jarvis
Liên kết:https://www.airouter.me/blog/skills-vs-subagent
Đăng lại phi thương mại kèm ghi nguồn (CC BY-NC-SA 4.0).