Một bản thiết kế sơ bộ cho agent lập trình đề xuất chọn lại ngữ cảnh cần thiết ở từng giai đoạn công việc, thay vì liên tục tích lũy hội thoại trước đó và kết quả công cụ. Bản thiết kế xem ngữ cảnh là yếu tố cần được điều chỉnh sau mỗi vòng xử lý.
Diogo Almeida (Diogo Almeida), nhà sáng lập TypeSafe, đã công bố bản thiết kế và đề nghị cộng đồng trực tiếp thử nghiệm. Ông cho biết TypeSafe có thể không đủ thời gian để tự triển khai toàn bộ ý tưởng này. BlockBeats đưa tin về nội dung liên quan.
Hiện nay, agent lập trình thường chuyển tiếp lịch sử hội thoại, kết quả thực thi công cụ và trạng thái mã nguồn vào yêu cầu tiếp theo. Khi ngữ cảnh trở nên quá dài, hệ thống thường nén một phần thông tin hoặc khởi động lại agent.
Bản thiết kế đề xuất để agent quyết định sau mỗi vòng liệu có tiếp tục sử dụng bộ nhớ đệm hiện tại hay xây dựng một ngữ cảnh phù hợp hơn. Tùy tình huống, agent cũng có thể quyết định giữ nguyên văn, tóm tắt hoặc loại bỏ từng loại thông tin.
Almeida chỉ ra rằng các thiết kế agent hiện nay đang phụ thuộc quá nhiều vào bộ nhớ đệm KV. Đây là công nghệ lưu trạng thái trung gian được mô hình tạo ra trong quá trình xử lý ngữ cảnh đầu vào để tái sử dụng cho yêu cầu tiếp theo.
Nếu phần đầu của ngữ cảnh không thay đổi, bộ nhớ đệm KV có thể giảm lượng dữ liệu cần tính toán lại. Ngược lại, khi mô hình hoặc cấu trúc đầu vào thay đổi, việc tái sử dụng bộ nhớ đệm hiện có sẽ trở nên khó khăn hơn.
Ví dụ được đưa ra trong bản thiết kế là quy trình chuyển đổi giữa mô hình chi phí thấp và mô hình hiệu năng cao. Nếu giao việc trước cho mô hình chi phí thấp rồi chuyển sang mô hình hiệu năng cao, mô hình sau có thể phải đọc lại ngữ cảnh dài, khiến tổng chi phí tăng thay vì giảm.
Việc liên tục đưa định nghĩa công cụ vào system prompt cũng được xem là một yếu tố kém hiệu quả. Thông tin về những công cụ không được sử dụng vẫn chiếm không gian ngữ cảnh trong mỗi yêu cầu và gây khó khăn cho việc tận dụng bộ nhớ đệm.
Việc tái cấu trúc ngữ cảnh động có thể thay đổi cách định tuyến mô hình và vận hành các agent con. Những tác vụ đơn giản có thể được giao cho mô hình chi phí thấp, chỉ gọi các công cụ cần thiết và chỉ truyền trạng thái liên quan đến từng nhiệm vụ cho agent con.
Bản thiết kế cũng đề xuất chỉ tải các thành phần môi trường phát triển như MCP và AGENTS.md khi cần thiết. Thay vì cung cấp toàn bộ cấu hình và công cụ ngay từ đầu, hệ thống sẽ chọn thông tin phù hợp với công việc hiện tại để chuyển cho mô hình.
MCP là giao thức kết nối mô hình với các công cụ bên ngoài, còn AGENTS.md là tệp chứa quy tắc làm việc của agent. Việc chỉ đưa hai thành phần này vào ngữ cảnh khi cần có thể cho phép thay đổi cấu hình đầu vào theo từng nhiệm vụ.
Almeida tạm gọi cách tiếp cận này là 'Meta-attention'. Khái niệm này gần với việc quyết định ở cấp độ vận hành xem mô hình cần tập trung vào thông tin nào trong mỗi vòng, thay vì phụ thuộc đồng đều vào toàn bộ ngữ cảnh.
Jev, được TypeSafe giới thiệu vào tháng 9, được mô tả là mô hình ra quyết định trả về các lựa chọn, điểm số và xác suất thay vì tạo văn bản. Tài liệu gốc chưa xác nhận riêng khả năng sử dụng Jev cho việc phân công tác vụ và lựa chọn công cụ trong agent lập trình.
Thiết kế này phù hợp với xu hướng cho rằng hiệu năng của agent lập trình không chỉ phụ thuộc vào mô hình nền tảng mà còn chịu ảnh hưởng bởi quản lý ngữ cảnh và cấu hình môi trường thực thi. Trước đó, TokenPost đã đưa tin về xu hướng thiết kế harness có thể quyết định kết quả trong thị trường agent lập trình: thiết kế harness có thể ảnh hưởng đến kết quả trong thị trường agent lập trình.
Trọng tâm của bản thiết kế không nằm ở việc duy trì ngữ cảnh dài bằng mọi giá. TypeSafe đề nghị cộng đồng trực tiếp thử nghiệm cấu trúc chỉ giữ lại thông tin cần thiết cho từng công việc, sau đó phân bổ thông tin cho mô hình, công cụ và agent con.
Bình luận 0