
Triển khai tính năng nén nhanh chóng để giảm chi phí vòng lặp tác nhân
Vòng lặp tác nhân trong sản xuất có thể đồng nghĩa với chi phí cao, đặc biệt khi nói đến cả LLM và việc sử dụng ứng dụng bên ngoài thông qua API, trong đó việc thanh toán thường liên quan chặt chẽ đến việc sử dụng mã thông báo.
Triển khai tính năng nén nhanh chóng để giảm chi phí vòng lặp tác nhân
Bởi Iván Palomares Carrascosa vào ngày 11 tháng 5 năm 2026 trong Trí tuệ nhân tạo 0
Chia sẻ
bài viết
Chia sẻ
Trong bài viết này, bạn sẽ tìm hiểu nén nhắc nhở là gì, tại sao nó quan trọng đối với các vòng lặp AI tác nhân và cách triển khai nó trong thực tế bằng cách sử dụng tính năng tóm tắt và chắt lọc hướng dẫn.
Các chủ đề chúng tôi sẽ đề cập bao gồm:
Tại sao các vòng lặp tác nhân tích lũy chi phí mã thông báo theo phương pháp bậc hai và cách nén nhanh chóng giải quyết vấn đề này.
Đánh giá về các chiến lược nén nhắc nhở chính, bao gồm chắt lọc lệnh, tóm tắt đệ quy, truy xuất cơ sở dữ liệu vectơ và LLMLingua.
Một ví dụ Python đang hoạt động kết hợp tóm tắt đệ quy và chắt lọc lệnh để đạt được mức tiết kiệm mã thông báo có ý nghĩa.
Triển khai tính năng nén nhanh chóng để giảm chi phí vòng lặp tác nhân (bấm vào để phóng to)
Giới thiệu
Vòng lặp tác nhân trong sản xuất có thể đồng nghĩa với chi phí cao, đặc biệt khi nói đến cả LLM và việc sử dụng ứng dụng bên ngoài thông qua API, trong đó việc thanh toán thường liên quan chặt chẽ đến việc sử dụng mã thông báo.
Tin vui: nén kịp thời là một trong những chiến lược hiệu quả nhất mà bạn có thể triển khai để điều chỉnh chi phí cao của các vòng lặp tác nhân. Bài viết này giới thiệu và thảo luận về cách một số kỹ thuật nén kịp thời có thể giúp giảm bớt các vấn đề tài chính khi sử dụng vòng lặp tác nhân.
Nén kịp thời: Động lực và chiến lược chung
Nhiều khung tác nhân, chẳng hạn như LangGraph và AutoGPT, yêu cầu tác nhân lưu giữ bối cảnh về những gì nó đã thực hiện trong các bước trước đó. Giả sử đại lý của bạn cần thực hiện 10 đến 20 bước để giải quyết vấn đề. Để tiến hành bước 1, nó sẽ gửi 500 token. Đối với bước 2, nó phải gửi 500 mã thông báo trước đó cộng với thông tin mới vốn có cho bước này - tổng cộng khoảng 1.000 mã thông báo. Con số này có thể tăng lên khoảng 1.500 mã thông báo ở bước 3, v.v. Khi đạt tới bước thứ 20, chúng ta đã phải “trả giá” cho việc gửi đi gửi đi những thông tin giống nhau.
Trong ví dụ trên, có vẻ như số lượng mã thông báo được gửi mỗi bước (kích thước lời nhắc đầy đủ) tăng tuyến tính. Tuy nhiên, trên thực tế, chi phí tích lũy của toàn bộ vòng lặp tác nhân trở thành bậc hai chứ không phải tuyến tính, dẫn đến sự bùng nổ chi phí cho các vòng lặp kéo dài. Đây là lúc các kỹ thuật nén kịp thời phát huy tác dụng, với các chiến lược như bối cảnh chọn lọc, tóm tắt và các chiến lược khác như chúng ta sẽ thảo luận sau.
Đường cong chi phí ví dụ của vòng lặp tác nhân không có nén và có nén nhanh
Vấn đề không chỉ là tài chính: còn có một chi phí tiềm ẩn khác liên quan đến độ trễ, vì các lời nhắc dài hơn sẽ mất nhiều thời gian hơn để xử lý và không phải tất cả người dùng đều sẵn sàng đợi 30 giây cho mỗi lần tương tác. Lời nhắc được nén cũng cho phép suy luận nhanh hơn và giảm chi phí tính toán.
Để dễ hiểu hơn, về mặt lý thuyết, ngữ cảnh mã thông báo 500K có thể được giảm xuống thành cửa sổ nén mã thông báo 32K để giữ lại tất cả thông tin có liên quan, trong khi các phần tử như cấu trúc JSON lặp đi lặp lại, các từ dừng và các phần hội thoại có giá trị thấp sẽ bị loại bỏ. Dưới đây là một số giải pháp và khuôn khổ tiết kiệm chi phí có thể được xem xét để triển khai chiến lược nén nhanh chóng của riêng bạn:
Chắt lọc lệnh: việc này bao gồm việc tạo một phiên bản “nén” của một dấu nhắc hệ thống dài có thể được gửi đi lặp lại, chứa các ký hiệu hoặc tốc ký mà mô hình sẽ hiểu và diễn giải.
Tóm tắt đệ quy: cứ sau vài bước trong một vòng lặp, hãy sử dụng tác nhân hoặc mô hình nhỏ hơn, rẻ hơn như Llama 3 hoặc GPT-4o-mini để tóm tắt bối cảnh của các bước trước đó thành một đoạn ngắn gọn hơn nêu rõ trạng thái hiện tại của tác vụ.
Cơ sở dữ liệu vectơ (RAG) để truy xuất lịch sử: điều này thay thế việc gửi toàn bộ lịch sử nhiều lần bằng cách lưu trữ nó trong cơ sở dữ liệu vectơ cục bộ, miễn phí như FAISS hoặc Chroma. Đối với bất kỳ lời nhắc cụ thể nào, chỉ những hành động phù hợp nhất mới được truy xuất như một phần ngữ cảnh của nó.
LLMLingua: một framework mã nguồn mở đang ngày càng phổ biến, tập trung vào việc phát hiện và loại bỏ các mã thông báo “không quan trọng” trước khi nó được gửi đến một mô hình ngôn ngữ lớn hơn, đắt tiền hơn.
Một ví dụ thực tế: Tác nhân tóm tắt
Dưới đây là ví dụ về chiến lược nén nhắc nhở tiết kiệm chi phí kết hợp tóm tắt đệ quy và chắt lọc lệnh bằng Python. Mã này nhằm mục đích phục vụ như một khuôn mẫu về logic nén nhanh chóng như vậy sẽ trông như thế nào khi được chuyển sang một kịch bản thực tế, quy mô lớn. Nó cho thấy một mô phỏng đơn giản của một vòng lặp tác nhân, nhấn mạnh các bước tóm tắt và chắt lọc:
nhập khẩu tiktoken
def count_tokens(text, model="gpt-4o"):
mã hóa = tiktoken.encoding_for_model(model)
trả về len(encoding.encode(text))
def nén_history(history_list):
"""
Một chức năng mô phỏng 'Tóm tắt'. Trong một ứng dụng thực tế,
nó đòi hỏi phải gửi đầu vào đến một mô hình ngôn ngữ nhỏ
(như gpt-4o-mini) để ngưng tụ nó.
"""
print("--- Nén lịch sử ---")
# Trong sản xuất, chuyển 'kết hợp' sang mô hình tóm tắt
kết hợp = " ".join(history_list)
# Chưng cất: Phiên bản viết tắt của các sự kiện
summary = f"Tóm tắt các bước {len(history_list)}: Nhiệm vụ A & B đã hoàn thành. Kết quả: Thành công."
tóm tắt trở lại
#1. Distilled System Nhắc (sử dụng tốc ký thay vì văn xuôi)
system_prompt = "Hành động: ResearchBot. Nhiệm vụ: Tìm X. Đầu ra: chỉ JSON. Ràng buộc: Không có gì sai trái."
# 2. Vòng lặp tác nhân
lịch sử = []
raw_token_total = 0
cho bước trong phạm vi (1, 6):
action = f"Bước {step}: Tác nhân đã thực hiện một quá trình tìm kiếm rất dài dòng cho điểm dữ liệu {step}..."
history.append(hành động)
# Tính toán lời nhắc SẼ trông như thế nào nếu không nén
current_full_context = system_prompt + " ".join(history)
raw_tokens = count_tokens(current_full_context)
print(f"Vòng lặp {step} | Mã thông báo ngữ cảnh đầy đủ: {raw_tokens}")
# 3. Áp dụng nén
nén_context = system_prompt + nén_history(lịch sử)
nén_tokens = count_tokens(nén_context)
print(f"\nMã thông báo không nén cuối cùng: {raw_tokens}")
print(f"Mã thông báo nén cuối cùng: {compr




Nguồn tin: Machine Learning Mastery — Tác giả: Iván Palomares Carrascosa. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.