
1. 項(xiàng)目概述當(dāng)Agent的“注意力”開始“走神”在構(gòu)建和部署智能體Agent系統(tǒng)的過程中我們常常會(huì)遇到一個(gè)令人頭疼的現(xiàn)象隨著對(duì)話輪次或任務(wù)步驟的增加Agent的表現(xiàn)會(huì)逐漸“失焦”。它可能忘記了幾輪對(duì)話前用戶明確提出的約束條件或者在處理長文檔時(shí)對(duì)關(guān)鍵信息的捕捉能力直線下降。這背后是智能體系統(tǒng)普遍面臨的“上下文窗口”與“注意力機(jī)制”的經(jīng)典矛盾。我們既希望Agent擁有海量的記憶長上下文又希望它能精準(zhǔn)地聚焦于當(dāng)前任務(wù)最相關(guān)的信息高精度注意力。傳統(tǒng)的解決方案無論是粗暴地截?cái)鄽v史還是將全部上下文一股腦地塞給大模型都像是給近視的Agent配了一副錯(cuò)誤的眼鏡——要么視野狹窄要么一片模糊?!癎liding Horse”這個(gè)項(xiàng)目正是為了解決這一核心痛點(diǎn)而生。它不是一個(gè)全新的底層模型而是一套精巧的、可插拔的“上下文感知與智能壓縮”框架。你可以把它想象成Agent大腦中的一個(gè)“高級(jí)信息處理中心”。這個(gè)中心實(shí)時(shí)監(jiān)控著對(duì)話流和任務(wù)狀態(tài)能夠動(dòng)態(tài)地評(píng)估歷史上下文中每一段信息的重要性并據(jù)此進(jìn)行智能化的壓縮、提煉和重組確保傳遞給核心推理模型通常是LLM的始終是最精煉、最相關(guān)、最“高能”的上下文摘要。其目標(biāo)非常明確在有限的上下文窗口內(nèi)最大化有效信息的密度從而讓Agent的“注意力”永不偏移持續(xù)保持高水平的任務(wù)完成度和對(duì)話連貫性。這套機(jī)制對(duì)于構(gòu)建復(fù)雜的、多輪交互的AI應(yīng)用至關(guān)重要。無論是需要長時(shí)間、多步驟協(xié)作的編碼助手還是需要深入分析上百頁文檔的智能分析工具亦或是需要記住用戶長期偏好的個(gè)性化聊天機(jī)器人Gliding Horse都能為其提供穩(wěn)定的“注意力續(xù)航”能力。它讓Agent從“金魚記憶”進(jìn)化為“偵探思維”不僅記得多更能記得準(zhǔn)、用得上。2. 核心架構(gòu)與設(shè)計(jì)哲學(xué)Gliding Horse的設(shè)計(jì)并非憑空想象它深深植根于對(duì)人類認(rèn)知系統(tǒng)和現(xiàn)有技術(shù)瓶頸的洞察。其核心架構(gòu)可以概括為“一個(gè)循環(huán)兩層過濾三重感知”。2.1 “感知-評(píng)估-壓縮”的動(dòng)態(tài)循環(huán)整個(gè)系統(tǒng)的運(yùn)作遵循一個(gè)緊密的循環(huán)感知 - 評(píng)估 - 壓縮 - 反饋。感知層這是系統(tǒng)的“感官”。它持續(xù)攝入原始的對(duì)話歷史、任務(wù)指令、工具調(diào)用結(jié)果、外部知識(shí)片段等一切構(gòu)成上下文的信息流。感知層不做價(jià)值判斷只負(fù)責(zé)高保真地收集和初步結(jié)構(gòu)化數(shù)據(jù)例如將對(duì)話按輪次打上時(shí)間戳和發(fā)言者標(biāo)簽將工具調(diào)用記錄其輸入、輸出和狀態(tài)。評(píng)估層這是系統(tǒng)的“大腦皮層”。它基于多種啟發(fā)式規(guī)則和輕量級(jí)模型對(duì)感知層收集的每一條信息進(jìn)行實(shí)時(shí)的重要性評(píng)估。評(píng)估維度是多元的任務(wù)相關(guān)性這條信息與當(dāng)前活躍任務(wù)目標(biāo)的直接關(guān)聯(lián)度有多高例如在訂機(jī)票的任務(wù)中“用戶偏好靠窗座位”的相關(guān)性就遠(yuǎn)高于“用戶昨天聊了天氣”。信息熵/新穎性這條信息是否包含了新的、未被摘要過的關(guān)鍵事實(shí)或約束重復(fù)的、冗余的信息得分會(huì)降低。時(shí)間衰減根據(jù)艾賓浩斯遺忘曲線的啟發(fā)越久遠(yuǎn)的信息其基礎(chǔ)重要性權(quán)重會(huì)有一個(gè)緩和的衰減除非被重新激活。結(jié)構(gòu)性重要性用戶明確指出的“必須”、“切記”、“不要”等強(qiáng)約束性語句或系統(tǒng)定義的關(guān)鍵節(jié)點(diǎn)如任務(wù)開始、子目標(biāo)達(dá)成會(huì)被賦予更高的權(quán)重。壓縮層這是系統(tǒng)的“執(zhí)行器”。根據(jù)評(píng)估層給出的重要性分?jǐn)?shù)壓縮層決定哪些信息被保留、哪些被壓縮、哪些被丟棄。壓縮不是簡(jiǎn)單的刪除而是提煉。對(duì)于高重要性信息可能原文保留對(duì)于中重要性信息可能用一句話摘要對(duì)于低重要性但仍有潛在關(guān)聯(lián)的信息則可能被編碼成幾個(gè)關(guān)鍵詞或一個(gè)向量存入一個(gè)可快速檢索的“背景知識(shí)庫”以備不時(shí)之需。反饋層壓縮后的上下文核心摘要背景知識(shí)庫指針被送入LLM進(jìn)行推理和行動(dòng)。LLM產(chǎn)生的新的行動(dòng)和結(jié)果如新的回答、調(diào)用的工具結(jié)果會(huì)立即作為新的信息流反饋回感知層開啟下一個(gè)循環(huán)。這樣上下文的管理是動(dòng)態(tài)、實(shí)時(shí)、伴隨任務(wù)演進(jìn)的。2.2 兩層過濾從粗篩到精煉為了平衡效果與效率Gliding Horse采用了兩級(jí)過濾策略第一層基于規(guī)則的快速過濾。這是一套高效的“守門員”規(guī)則用于快速剔除明顯無關(guān)的噪音。例如過濾掉純問候語如“你好”、“在嗎”在若干輪后的歷史記錄。過濾掉連續(xù)失敗的、無輸出的工具調(diào)用記錄的具體錯(cuò)誤堆棧只保留“XX工具調(diào)用失敗”這個(gè)事實(shí)。合并用戶連續(xù)發(fā)出的、語義高度相似的追問。 這一層的目標(biāo)是減量用極低的計(jì)算成本去掉“顯然無用”的信息為后續(xù)精細(xì)處理減輕負(fù)擔(dān)。第二層基于模型的智能精煉。這是核心所在。通常會(huì)使用一個(gè)比主推理LLM小得多的、專門微調(diào)過的“摘要/評(píng)估模型”。這個(gè)模型接收經(jīng)過第一層過濾的上下文塊并完成以下工作重要性打分為每個(gè)上下文片段可能是一句話、一個(gè)段落或一個(gè)工具調(diào)用記錄輸出一個(gè)重要性分?jǐn)?shù)。生成摘要對(duì)于需要壓縮的片段直接生成凝練的摘要。訓(xùn)練這個(gè)模型時(shí)目標(biāo)不是通順的段落而是最大化保留信息熵的“筆記式”摘要。識(shí)別關(guān)聯(lián)識(shí)別不同片段之間的隱性關(guān)聯(lián)例如發(fā)現(xiàn)用戶在第3輪提到的“預(yù)算1000元”和第8輪提到的“酒店價(jià)格”需要關(guān)聯(lián)起來考慮。注意這里的一個(gè)關(guān)鍵技巧是評(píng)估/摘要模型不需要擁有強(qiáng)大的世界知識(shí)或生成能力它只需要擅長理解和比較文本片段的重要性。因此我們可以選用參數(shù)量較小如7B或13B、在“文本重要性判斷”任務(wù)上精調(diào)過的模型從而將整個(gè)上下文管理的開銷控制在很低水平。2.3 三重感知讓上下文“活”起來“上下文感知”不僅僅是感知文本內(nèi)容Gliding Horse強(qiáng)調(diào)三重感知任務(wù)狀態(tài)感知系統(tǒng)始終清楚當(dāng)前處于哪個(gè)任務(wù)階段規(guī)劃、執(zhí)行、檢查、修正。不同階段關(guān)注的歷史信息不同。例如在執(zhí)行階段更關(guān)注具體的操作指令和參數(shù)在檢查階段則更關(guān)注最初的任務(wù)目標(biāo)和約束條件。系統(tǒng)內(nèi)部維護(hù)一個(gè)簡(jiǎn)單的“任務(wù)狀態(tài)機(jī)”用以動(dòng)態(tài)調(diào)整評(píng)估層的權(quán)重偏向。對(duì)話焦點(diǎn)感知通過檢測(cè)對(duì)話中的指代、省略和話題轉(zhuǎn)移系統(tǒng)能跟蹤當(dāng)前的“對(duì)話焦點(diǎn)”。當(dāng)焦點(diǎn)轉(zhuǎn)移時(shí)與新焦點(diǎn)相關(guān)的歷史信息權(quán)重會(huì)被臨時(shí)提升。例如用戶突然從討論“機(jī)票”轉(zhuǎn)到討論“酒店”那么之前關(guān)于酒店偏好的歷史對(duì)話權(quán)重會(huì)立刻升高而機(jī)票的細(xì)節(jié)權(quán)重則相應(yīng)降低。外部反饋感知系統(tǒng)會(huì)密切關(guān)注LLM或用戶的“困惑”信號(hào)。例如如果LLM在生成內(nèi)容中表現(xiàn)出對(duì)某些歷史信息的模糊如使用“可能”、“好像”等詞或者用戶直接指出“你忘了我說過要靠窗的”這類反饋會(huì)作為一個(gè)強(qiáng)信號(hào)直接提升相關(guān)歷史上下文的重要性甚至觸發(fā)一次對(duì)“背景知識(shí)庫”的主動(dòng)檢索和上下文重寫。3. 智能壓縮的核心算法與實(shí)現(xiàn)策略智能壓縮是Gliding Horse的引擎。實(shí)現(xiàn)它并非只有一種方法而是一個(gè)根據(jù)實(shí)際資源、延遲要求和效果需求進(jìn)行權(quán)衡的選擇題。下面詳細(xì)解析幾種核心策略及其實(shí)現(xiàn)細(xì)節(jié)。3.1 基于嵌入向量聚類的語義壓縮這是目前較為成熟和常用的一種無監(jiān)督方法。其核心思想是語義相近的信息在向量空間中距離也近可以聚類后進(jìn)行代表性摘要。實(shí)操步驟分塊與嵌入將經(jīng)過第一層過濾后的完整上下文文本按語義邊界如按對(duì)話輪次、按段落切割成多個(gè)文本塊[C1, C2, ..., Cn]。使用一個(gè)輕量且高效的嵌入模型如BGE-M3、text-embedding-3-small為每個(gè)文本塊生成向量表示[V1, V2, ..., Vn]。時(shí)序加權(quán)在計(jì)算聚類前對(duì)每個(gè)文本塊的向量進(jìn)行加權(quán)。給較新的塊賦予較高的權(quán)重因子如weight_i decay_factor ^ (n-i)其中i是塊序號(hào)n是總數(shù)decay_factor取0.95-0.99。這相當(dāng)于在語義相似度的基礎(chǔ)上疊加了時(shí)間新鮮度的考量。動(dòng)態(tài)聚類使用在線聚類算法如流式K-Means或?qū)哟尉垲悓?duì)這些加權(quán)后的向量進(jìn)行聚類。關(guān)鍵點(diǎn)在于聚類數(shù)量K不是固定的。我們可以設(shè)定一個(gè)“簇內(nèi)最大距離閾值”theta。當(dāng)嘗試將一個(gè)新塊歸入現(xiàn)有簇時(shí)計(jì)算其與簇中心的距離。若所有距離都大于theta則為此新塊創(chuàng)建一個(gè)新簇。這樣簇的數(shù)量由數(shù)據(jù)本身的分布決定。簇內(nèi)摘要生成對(duì)于每個(gè)形成的簇將其包含的所有原始文本塊按重要性可通過向量與簇中心的距離倒數(shù)來近似距離越近通常越具代表性排序選取Top-K個(gè)塊或者將它們拼接后送入前文提到的輕量級(jí)摘要模型生成該簇的唯一摘要。這個(gè)摘要代表了該語義單元的核心信息。摘要排序與拼接將所有簇的摘要按照其對(duì)應(yīng)簇中最新的文本塊的時(shí)間戳進(jìn)行排序拼接成最終的壓縮上下文。同時(shí)記錄每個(gè)摘要對(duì)應(yīng)的原始文本塊ID列表存入“背景知識(shí)庫”以便需要時(shí)溯源。參數(shù)選擇心得分塊大小不宜過大或過小。對(duì)于對(duì)話按輪次分塊是自然的。對(duì)于長文檔嘗試按200-500字符分塊并確保在句子邊界切割。距離閾值theta這是平衡壓縮率和信息損失的關(guān)鍵。建議在開發(fā)集上通過實(shí)驗(yàn)確定。一個(gè)初始值可以設(shè)置為所有向量兩兩之間平均距離的60%-70%。閾值越大壓縮越激進(jìn)簇更少摘要更少閾值越小保留細(xì)節(jié)越多。摘要模型選擇如果對(duì)延遲極其敏感甚至可以不用模型而是簡(jiǎn)單提取每個(gè)簇中距離中心最近的文本塊作為“代表句”。效果尚可且零延遲。3.2 基于重要性評(píng)分的學(xué)習(xí)式壓縮這種方法需要更多的前期準(zhǔn)備但效果往往更精準(zhǔn)。其核心是訓(xùn)練一個(gè)重要性評(píng)分模型。模型訓(xùn)練數(shù)據(jù)構(gòu)造需要構(gòu)建一個(gè)(長上下文 當(dāng)前查詢/任務(wù) 重要性標(biāo)簽)的數(shù)據(jù)集??梢酝ㄟ^人工標(biāo)注或者利用更強(qiáng)大LLM如GPT-4進(jìn)行蒸餾來構(gòu)造。對(duì)于一段歷史上下文中的每個(gè)句子或片段標(biāo)注它對(duì)于回答當(dāng)前查詢或完成當(dāng)前任務(wù)的重要性等級(jí)如0-無關(guān)1-相關(guān)2-關(guān)鍵。模型選型與訓(xùn)練選用一個(gè)編碼器架構(gòu)的模型如DeBERTa、RoBERTa。輸入是“當(dāng)前查詢 [SEP] 待評(píng)分文本片段”輸出是一個(gè)重要性分?jǐn)?shù)回歸任務(wù)或等級(jí)分類任務(wù)。損失函數(shù)可以設(shè)計(jì)為加權(quán)交叉熵給“關(guān)鍵”類別更高的權(quán)重。在線推理在運(yùn)行時(shí)將當(dāng)前任務(wù)描述與歷史上下文的每一個(gè)片段配對(duì)送入評(píng)分模型得到分?jǐn)?shù)。然后設(shè)定一個(gè)分?jǐn)?shù)閾值高于閾值的保留或精煉低于閾值的壓縮或丟棄。實(shí)現(xiàn)技巧緩存機(jī)制由于評(píng)分模型需要對(duì)大量片段進(jìn)行推理計(jì)算量可能較大??梢岳闷蝺?nèi)容的哈希值作為鍵將(片段 任務(wù)描述 分?jǐn)?shù))的結(jié)果緩存起來。當(dāng)相似片段和任務(wù)再次出現(xiàn)時(shí)可直接使用緩存分?jǐn)?shù)大幅提升效率。分?jǐn)?shù)平滑為了避免重要信息因單次評(píng)分波動(dòng)而被誤刪可以對(duì)同一片段在不同時(shí)刻的評(píng)分進(jìn)行滑動(dòng)平均處理。3.3 混合策略規(guī)則打底模型精修在實(shí)際的Gliding Horse實(shí)現(xiàn)中混合策略往往是最優(yōu)解。一個(gè)典型的工作流如下規(guī)則引擎先行應(yīng)用第一層基于規(guī)則的快速過濾去除明顯噪音減少后續(xù)處理量。輕量模型評(píng)分使用一個(gè)微型的重要性評(píng)分模型可能是蒸餾過的對(duì)剩余片段進(jìn)行快速初篩。這一步可以快速過濾掉大量“可能相關(guān)但非關(guān)鍵”的內(nèi)容。精準(zhǔn)摘要生成對(duì)于評(píng)分中高和關(guān)鍵的部分使用專門的摘要模型進(jìn)行精煉。對(duì)于評(píng)分低的部分可以考慮丟棄或僅提取實(shí)體/關(guān)鍵詞存入背景庫。動(dòng)態(tài)上下文組裝將精煉后的關(guān)鍵摘要按時(shí)間或邏輯順序組裝。同時(shí)在提示詞Prompt中明確告訴LLM“以下是提煉后的關(guān)鍵上下文...。此外關(guān)于[主題A]、[主題B]的更多細(xì)節(jié)已存檔如需可隨時(shí)告知我進(jìn)行查詢?!?這樣既提供了核心上下文又保留了擴(kuò)展能力。4. 系統(tǒng)集成與工程化實(shí)踐設(shè)計(jì)再精妙的算法也需要扎實(shí)的工程實(shí)現(xiàn)才能落地。將Gliding Horse集成到現(xiàn)有的Agent框架中需要注意以下幾個(gè)關(guān)鍵環(huán)節(jié)。4.1 與現(xiàn)有Agent框架的對(duì)接Gliding Horse應(yīng)被設(shè)計(jì)成一個(gè)獨(dú)立的上下文管理服務(wù)或中間件。它位于用戶/環(huán)境與核心LLM之間。接口設(shè)計(jì)輸入append(new_message_or_event)方法用于接收新的對(duì)話或事件。輸出get_compressed_context()方法用于獲取當(dāng)前時(shí)刻壓縮后的上下文。查詢query_background_knowledge(topic)方法供LLM在需要時(shí)主動(dòng)查詢背景知識(shí)庫。例如在LangChain或LlamaIndex這類框架中你可以自定義一個(gè)GlidingHorseMemory類繼承其BaseMemory或BaseRetriever接口無縫替換原有的簡(jiǎn)單記憶模塊。狀態(tài)管理壓縮上下文和背景知識(shí)庫是核心狀態(tài)。必須確保其線程安全/會(huì)話隔離對(duì)于多用戶并發(fā)場(chǎng)景每個(gè)用戶會(huì)話必須有獨(dú)立的狀態(tài)實(shí)例??沙志没С謱?huì)話狀態(tài)壓縮上下文、背景庫索引序列化存儲(chǔ)以便在服務(wù)重啟或會(huì)話恢復(fù)時(shí)能夠還原。資源清理實(shí)現(xiàn)LRU最近最少使用等機(jī)制定期清理長時(shí)間不活躍的會(huì)話狀態(tài)防止內(nèi)存泄漏。4.2 性能優(yōu)化與延遲控制上下文管理是實(shí)時(shí)進(jìn)行的必須保證低延遲。異步處理append操作應(yīng)該是非阻塞的。新信息到來后觸發(fā)異步的壓縮流程而get_compressed_context則返回當(dāng)前最新的、可能稍舊但一致的壓縮結(jié)果。這犧牲了一點(diǎn)點(diǎn)的“絕對(duì)實(shí)時(shí)性”換來了用戶請(qǐng)求的極速響應(yīng)。模型量化與加速用于評(píng)分和摘要的小模型務(wù)必進(jìn)行量化INT8/INT4并使用推理加速庫如vLLM, TensorRT-LLM, ONNX Runtime加載以獲得最佳的推理速度。向量檢索優(yōu)化如果背景知識(shí)庫使用了向量檢索務(wù)必使用高效的向量數(shù)據(jù)庫如Milvus, Qdrant, Weaviate并建立合適的索引HNSW。分級(jí)壓縮頻率不是每次append都觸發(fā)全量壓縮。可以設(shè)定策略每積累N條新信息或距離上次壓縮超過T秒才執(zhí)行一次完整的壓縮周期。對(duì)于中間的信息可以先放入一個(gè)“待處理緩沖區(qū)”。4.3 效果評(píng)估與監(jiān)控如何判斷Gliding Horse是否真的在“幫忙”而不是“幫倒忙”需要建立一套評(píng)估體系。離線評(píng)估任務(wù)完成度在標(biāo)準(zhǔn)測(cè)試集上對(duì)比使用Gliding Horse和原始完整上下文或簡(jiǎn)單滑動(dòng)窗口的Agent其任務(wù)成功率的變化。上下文利用率統(tǒng)計(jì)LLM生成內(nèi)容中明確引用或基于被壓縮保留的歷史信息的比例?;糜X率檢查因信息丟失導(dǎo)致的LLM“捏造事實(shí)”的比例是否降低。在線監(jiān)控壓縮率監(jiān)控平均每次壓縮后文本長度縮減的比例。這是一個(gè)重要的效率指標(biāo)。用戶顯式反饋?zhàn)粉櫽脩粽f出“你忘了”、“我之前說過”等短語的頻率這直接反映了注意力偏移問題。延遲百分位監(jiān)控get_compressed_context接口的P50、P95、P99延遲確保在可接受范圍內(nèi)。5. 實(shí)戰(zhàn)踩坑與避坑指南在實(shí)際開發(fā)和部署Gliding Horse的過程中我們積累了不少血淚教訓(xùn)。以下是一些關(guān)鍵的避坑點(diǎn)。5.1 信息丟失與“記憶扭曲”這是最危險(xiǎn)的問題。過度壓縮可能導(dǎo)致關(guān)鍵細(xì)節(jié)丟失甚至摘要模型產(chǎn)生“扭曲原意”的概括。避坑策略保留“原始引用”在任何壓縮摘要后面以非提示文本的形式如XML標(biāo)簽注釋附上其對(duì)應(yīng)的原始文本塊ID。當(dāng)LLM的輸出需要高度精確時(shí)如生成代碼、法律條款可以配置一個(gè)“高精度模式”在此模式下Gliding Horse會(huì)附帶更多原始文本片段甚至?xí)簳r(shí)關(guān)閉壓縮。設(shè)置“不可壓縮”標(biāo)簽允許開發(fā)者為某些特定類型的信息如用戶輸入的精確數(shù)字、系統(tǒng)指令、安全規(guī)則打上“不可壓縮”標(biāo)簽確保它們永遠(yuǎn)以原文形式存在于核心上下文中。摘要模型的雙重校驗(yàn)訓(xùn)練摘要模型時(shí)除了要求信息保留還可以增加一個(gè)“忠實(shí)度”判別任務(wù)讓模型同時(shí)判斷生成的摘要是否忠實(shí)于原文將這個(gè)分?jǐn)?shù)作為生成時(shí)的約束條件。5.2 壓縮策略的“滯后性”與“振蕩”由于壓縮不是瞬間完成的當(dāng)對(duì)話焦點(diǎn)快速切換時(shí)系統(tǒng)可能來不及調(diào)整導(dǎo)致提供給LLM的上下文“滯后”于當(dāng)前話題。另一種情況是兩個(gè)話題重要性評(píng)分相近導(dǎo)致壓縮結(jié)果在不同輪次間劇烈變化振蕩讓LLM感到困惑。避坑策略引入預(yù)測(cè)機(jī)制除了基于當(dāng)前狀態(tài)評(píng)估可以嘗試用簡(jiǎn)單的序列模型預(yù)測(cè)下一個(gè)可能的話題焦點(diǎn)并提前微調(diào)權(quán)重。例如檢測(cè)到用戶提問“那么它的優(yōu)點(diǎn)呢”可以預(yù)測(cè)接下來要討論“優(yōu)點(diǎn)”從而提前提升歷史中關(guān)于“優(yōu)點(diǎn)”描述的權(quán)重。使用遲滯閾值在重要性評(píng)分用于決定保留/丟棄時(shí)設(shè)置一個(gè)“遲滯區(qū)間”。例如丟棄閾值是0.3保留閾值是0.7。一個(gè)片段分?jǐn)?shù)從0.8降到0.4時(shí)因?yàn)槿栽趨^(qū)間內(nèi)所以暫時(shí)保留只有降到0.3以下才丟棄。這能有效防止因分?jǐn)?shù)微小波動(dòng)導(dǎo)致的頻繁切換。5.3 計(jì)算資源與成本權(quán)衡為每個(gè)會(huì)話都運(yùn)行一個(gè)摘要模型成本可能很高。避坑策略冷熱會(huì)話分離對(duì)于活躍會(huì)話頻繁交互使用完整的Gliding Horse流程。對(duì)于不活躍或免費(fèi) tier 的會(huì)話可以降級(jí)到僅使用規(guī)則過濾的簡(jiǎn)化版。共享評(píng)分模型實(shí)例評(píng)分模型通常很小可以單實(shí)例服務(wù)多個(gè)會(huì)話請(qǐng)求通過批處理Batching來提高GPU利用率。定期“快照”與重建不必永遠(yuǎn)維護(hù)完整的壓縮歷史鏈??梢悦扛粢欢螘r(shí)間如50輪對(duì)話將當(dāng)前的壓縮上下文作為一個(gè)“快照”固定下來后續(xù)的壓縮只基于這個(gè)快照和之后的新內(nèi)容進(jìn)行。這可以防止壓縮鏈過長帶來的累積誤差和計(jì)算增長。5.4 與LLM Prompt的協(xié)同設(shè)計(jì)壓縮后的上下文如何呈現(xiàn)給LLM同樣影響巨大。你不能簡(jiǎn)單地把一堆摘要扔給它。最佳實(shí)踐清晰的元信息提示在Prompt開頭明確告知LLM“接下來的對(duì)話歷史是經(jīng)過智能提煉的聚焦于當(dāng)前任務(wù)最相關(guān)的部分。如需更早的細(xì)節(jié)請(qǐng)向我詢問?!?這設(shè)定了LLM的預(yù)期。結(jié)構(gòu)化呈現(xiàn)不要將摘要揉成一段。用清晰的標(biāo)記進(jìn)行結(jié)構(gòu)化組織例如【核心任務(wù)目標(biāo)】用戶需要預(yù)訂本周五飛往北京的機(jī)票預(yù)算不超過1500元偏好靠窗座位。 【近期關(guān)鍵約束】用戶補(bǔ)充要求起飛時(shí)間最好在上午。 【已執(zhí)行操作】已查詢到航班ABC123價(jià)格1400元時(shí)間09:30座位可選。 【待確認(rèn)事項(xiàng)】用戶尚未提供乘機(jī)人姓名信息。這種結(jié)構(gòu)比純文本段落更易于LLM理解和引用。提供“查詢”工具在給LLM的Tool Calling列表中增加一個(gè)query_detail(話題)工具。當(dāng)LLM覺得自己需要更多信息時(shí)可以主動(dòng)調(diào)用此工具Gliding Horse則從背景知識(shí)庫中檢索相關(guān)原始細(xì)節(jié)返回。這實(shí)現(xiàn)了按需加載進(jìn)一步節(jié)省了上下文窗口。Gliding Horse所代表的“上下文感知與智能壓縮”思路是構(gòu)建高性能、高可靠Agent系統(tǒng)的關(guān)鍵基礎(chǔ)設(shè)施。它沒有追求無限擴(kuò)展的上下文長度而是轉(zhuǎn)向追求有限窗口內(nèi)的信息質(zhì)量與密度。這套機(jī)制的有效性已經(jīng)在我們的多個(gè)復(fù)雜任務(wù)型Agent中得到了驗(yàn)證。它讓Agent擺脫了對(duì)“蠻力”的依賴轉(zhuǎn)而依靠“巧勁”真正像一位經(jīng)驗(yàn)豐富的助手一樣在紛繁的信息流中牢牢抓住重點(diǎn)持續(xù)輸出精準(zhǔn)、連貫、令人滿意的結(jié)果。實(shí)現(xiàn)它需要細(xì)致的算法設(shè)計(jì)、扎實(shí)的工程實(shí)現(xiàn)以及對(duì)Agent行為模式的深刻理解但帶來的體驗(yàn)提升無疑是革命性的。