FastContext: Tách biệt Tìm kiếm khỏi việc Giải quyết
Các agent lập trình đang lãng phí quá nhiều thời gian để tìm kiếm mã nguồn.
Microsoft và Đại học Giao thông Thượng Hải đã nghiên cứu vấn đề này. Họ nhận thấy rằng việc tìm kiếm mã nguồn chiếm 56,2% số lượt sử dụng công cụ. Nó cũng chiếm 46,5% tổng lượng token.
Khi một mô hình vừa tìm kiếm vừa sửa mã nguồn, bộ nhớ của nó sẽ trở nên hỗn loạn. Nó bị lấp đầy bởi các đoạn mã tệp vô ích và những phỏng đoán sai lầm. Điều này khiến việc suy luận trở nên khó khăn hơn.
FastContext giải quyết vấn đề này. Nó sử dụng một subagent riêng biệt để khám phá repository.
Cách thức hoạt động: • Agent khám phá tìm đúng các tệp và số dòng. • Nó không gửi các bản tóm tắt dài cho agent chính. • Nó chỉ gửi một gói nhỏ các bằng chứng chính xác. • Agent chính tập trung vào việc sửa lỗi.
Thiết kế này mang lại hai lợi ích lớn:
- Ít nhiễu hơn. Agent chính không phải thấy mọi ngõ cụt.
- Hiệu quả tốt hơn. Các mô hình nhỏ hơn (4B đến 30B tham số) có thể xử lý tác vụ tìm kiếm một cách hiệu quả.
Kết quả rất rõ ràng. Sử dụng FastContext với Mini-SWE-Agent đã cải thiện tỷ lệ thành công của tác vụ thêm 5,5%. Nó cũng cắt giảm 60% lượng token sử dụng.
Bài học khi xây dựng agent:
- Hãy coi tìm kiếm là một tác vụ cốt lõi, không phải là một bước phụ.
- Hãy gửi đường dẫn tệp và số dòng, thay vì toàn bộ lịch sử trò chuyện.
- Huấn luyện các mô hình để cung cấp dữ liệu có cấu trúc cho mô hình tiếp theo.
- Theo dõi lượng token sử dụng chặt chẽ như cách bạn theo dõi tỷ lệ thành công.
Đừng ép buộc một mô hình phải làm mọi thứ. Một chuyên gia về tìm kiếm sẽ giúp agent giải quyết nhanh hơn và đáng tin cậy hơn.
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi