偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

AI 不再失憶:記憶增強(qiáng) RAG 引領(lǐng)新一代智能體革命

人工智能
聽(tīng)起來(lái)耳熟?問(wèn)題是——標(biāo)準(zhǔn)的 RAG (Retrieval-Augmented Generation) 代理基本上就是數(shù)字金魚(yú)。它們對(duì)每個(gè)單獨(dú)查詢有很好的短期記憶,但長(zhǎng)期保留能力為零。

引言

如何創(chuàng)建上下文感知的 AI 助手,讓它們隨著時(shí)間推移學(xué)習(xí)并變得更聰明,而不超出你的令牌預(yù)算

你有沒(méi)有想過(guò),為什么你的 AI 助手好像把你剛告訴它的事全忘了?你不是一個(gè)人在戰(zhàn)斗。

想象一下:你正在和一個(gè) AI 代理合作,問(wèn)它關(guān)于公司文檔的詳細(xì)問(wèn)題。一開(kāi)始它給出的答案完美無(wú)缺,但接著你問(wèn)同一個(gè)話題的后續(xù)問(wèn)題,突然間它就像得了失憶癥一樣。代理又得重新讀整個(gè)文檔,燒掉令牌和時(shí)間,就好像明天不存在似的。

聽(tīng)起來(lái)耳熟?問(wèn)題是——標(biāo)準(zhǔn)的 RAG (Retrieval-Augmented Generation) 代理基本上就是數(shù)字金魚(yú)。它們對(duì)每個(gè)單獨(dú)查詢有很好的短期記憶,但長(zhǎng)期保留能力為零。

今天,我們來(lái)解決這個(gè)問(wèn)題。

為什么標(biāo)準(zhǔn) RAG 代理會(huì)忘記一切

讓我告訴你傳統(tǒng) RAG 系統(tǒng)哪里出問(wèn)題了,相信我,這不光是考驗(yàn)?zāi)托?,還在花你的錢(qián)。

金魚(yú)記憶綜合癥

標(biāo)準(zhǔn) RAG 代理是這樣工作的:你問(wèn)一個(gè)問(wèn)題,它們搜索文檔,拉出相關(guān)塊,塞進(jìn)提示中,然后生成答案。聽(tīng)起來(lái)不錯(cuò),對(duì)吧?

錯(cuò)。實(shí)際情況是這樣的:

圖片圖片


每個(gè)查詢都從零開(kāi)始。就好像有個(gè)研究助理,每次問(wèn)完問(wèn)題就把筆記燒掉。

令牌雪崩

隨著對(duì)話變長(zhǎng),傳統(tǒng) RAG 系統(tǒng)試圖通過(guò)把所有東西塞進(jìn)提示來(lái)解決記憶問(wèn)題。這就制造了我所謂的“令牌雪崩”——上下文指數(shù)級(jí)增長(zhǎng),很快就達(dá)到模型的極限。

即使是 GPT-4o 帶著它那巨大的 128K 上下文窗口,在擴(kuò)展對(duì)話中也掙扎。Anthropic 的研究發(fā)現(xiàn),即使 200K 令牌也不夠用于多輪互動(dòng),除非有智能記憶管理。

殘酷的數(shù)學(xué)計(jì)算:GPT-4o 每 1K 令牌 0.03 美元,一個(gè)增長(zhǎng)到 50K 令牌的對(duì)話每次查詢花 1.50 美元。有 100 個(gè)這樣的對(duì)話?你就花了 150 美元在本來(lái)可以壓縮成小結(jié)的上下文上。

進(jìn)入記憶增強(qiáng)型 RAG

你的 AI 的數(shù)字筆記本

這就開(kāi)始激動(dòng)人心了。要是你的 AI 代理能像人類研究員一樣做筆記呢?要是它能記住之前互動(dòng)的關(guān)鍵事實(shí),并隨著時(shí)間積累知識(shí)呢?

記憶增強(qiáng)型 RAG 代理就是干這個(gè)的。想象成給你的 AI 一個(gè)數(shù)字筆記本,它可以記下重要發(fā)現(xiàn),以后隨時(shí)翻看。

圖片圖片

人類類比

當(dāng)你讀一篇研究論文時(shí),你不會(huì)記住每個(gè)字。你提取關(guān)鍵見(jiàn)解,寫(xiě)下來(lái),以后參考筆記。這就是記憶增強(qiáng)型代理做的——它們把檢索信息的本質(zhì)壓縮成簡(jiǎn)潔總結(jié),并存儲(chǔ)起來(lái)供未來(lái)使用。

構(gòu)建你的第一個(gè)記憶感知代理(一步一步)

準(zhǔn)備好構(gòu)建一個(gè)真正能記住的 AI 了嗎?我們來(lái)深入代碼。我們將使用 OpenAI Agents SDK 創(chuàng)建一個(gè)文檔問(wèn)答代理,隨著每次互動(dòng)變得更聰明。

步驟 1:設(shè)置你的代理大腦

首先,建立基礎(chǔ)——一個(gè)簡(jiǎn)單的知識(shí)庫(kù)和記憶存儲(chǔ):

from agents import Agent, Runner, function_tool  

# 你的文檔(生產(chǎn)環(huán)境中,使用合適的 vector database)  
documents = [  
    {  
        "title": "Apollo 11 Mission",   
        "content": "Apollo 11 was the first spaceflight to land humans on the Moon. It launched in 1969."  
    },  
    {  
        "title": "Neil Armstrong Bio",   
        "content": "Neil Armstrong was the first person to walk on the Moon, during the Apollo 11 mission."  
    }  
]  

# 你的代理的記憶筆記本  
memory_store = []

步驟 2:創(chuàng)建記憶工具

現(xiàn)在來(lái)點(diǎn)魔法——我們給代理四個(gè)超能力:

@function_tool  
def retrieve_docs(query: str) -> str:  
    """Search documents for relevant information."""  
    for doc in documents:  
        if query.lower() in doc["content"].lower():  
            return f"From {doc['title']}: {doc['content']}"  
    return "No relevant document found."  

@function_tool  
def summarize_content(text: str) -> str:  
    """Create a concise summary of the text."""  
    if len(text.split()) < 30:  
        return text  
    # In production, use an LLM call here  
    summary = text.split('.')[0] + '.'  
    return f"SUMMARY: {summary}"  

@function_tool  
def store_summary(info: str) -> str:  
    """Save important information to long-term memory."""  
    memory_store.append(info)  
    return "Stored in memory."  

@function_tool  
def search_memory(query: str) -> str:  
    """Search through stored memories."""  
    for entry in memory_store:  
        if query.lower() in entry.lower():  
            return entry  
    return ""

步驟 3:記憶優(yōu)先策略

這里是我們教代理聰明使用記憶的地方:

memory_rag_agent = Agent(  
    name="SmartResearchAssistant",  
    model="gpt-4",  
    instructinotallow="""  
You are an AI research assistant with a perfect memory system.  

Here's your workflow:  
1. **Always check memory first** - Use search_memory() to see if you already   
know the answer  
2. **Retrieve new info only when needed** - If memory doesn't help, use   
retrieve_docs()  
3. **Summarize and store** - Use summarize_content() then store_summary()   
for new findings  
4. **Build your knowledge base** - Over time, you'll become an expert on   
the topics  

Remember: Your memory is your superpower. Use it wisely and never forget to update it with new knowledge!  
""",  
    tools=[search_memory, retrieve_docs, summarize_content, store_summary]  
)

觀察你的代理實(shí)時(shí)學(xué)習(xí)

來(lái)看看實(shí)際運(yùn)行。以下是你的記憶感知代理如何處理對(duì)話的:

第一個(gè)問(wèn)題:學(xué)習(xí)階段

user_query1 = "Who was the first person to walk on the Moon?"  
result1 = Runner.run_sync(memory_rag_agent, user_query1)

幕后發(fā)生什么:

圖片圖片


后續(xù)問(wèn)題:記憶發(fā)揮作用

user_query2 = "What mission was that?"  
result2 = Runner.run_sync(memory_rag_agent, user_query2)

現(xiàn)在看魔法:

圖片圖片


代理立即從記憶中回答——沒(méi)有文檔搜索,沒(méi)有浪費(fèi)令牌,沒(méi)有延遲。

圖片圖片


數(shù)字不會(huì)撒謊:為什么這很重要

讓我展示你會(huì)看到的巨大改進(jìn):

令牌節(jié)省

傳統(tǒng) RAG:每個(gè)查詢處理完整文檔(每個(gè) 500+ 令牌)記憶增強(qiáng)型:總結(jié)通常是 20–50 令牌節(jié)省:隨著時(shí)間推移,令牌使用減少 80–90%

速度改進(jìn)

傳統(tǒng) RAG:文檔搜索 + 檢索 + 處理 = 2–5 秒記憶增強(qiáng)型:記憶查找 = 200–500ms結(jié)果:已知信息響應(yīng)快 4–10 倍

成本分析

這里是一個(gè)真實(shí)場(chǎng)景:一周內(nèi)關(guān)于同一文檔集的 100 個(gè)查詢。

傳統(tǒng) RAG:

  • 100 查詢 × 平均 2,000 令牌 = 200,000 令牌
  • 成本:6.00 美元(按 0.03 美元/1K 令牌)

記憶增強(qiáng)型 RAG:

  • 前 20 查詢:每個(gè) 2,000 令牌 = 40,000 令牌
  • 后 80 查詢:每個(gè) 300 令牌(從記憶) = 24,000 令牌
  • 總計(jì):64,000 令牌
  • 成本:1.92 美元

節(jié)?。?.08 美元(減少 68%)

高級(jí)記憶策略:超越基本存儲(chǔ)

一旦你掌握了基本記憶增強(qiáng)型 RAG,這里有一些高級(jí)技巧,讓你的代理更聰明:

分層記憶

想象成你的代理的文件系統(tǒng):

memory_structure = {  
    "facts": [],           # 快速事實(shí)查找  
    "procedures": [],      # 一步一步的過(guò)程  
    "relationships": [],   # 概念之間的連接  
    "summaries": []        # 高層概述  
}

記憶過(guò)期

不是所有記憶都一樣重要。實(shí)現(xiàn)智能遺忘:

@function_tool  
def store_memory_with_priority(info: str, priority: str = "medium") -> str:  
    """Store memory with importance level."""  
    timestamp = datetime.now()  
    memory_entry = {  
        "content": info,  
        "priority": priority,  
        "timestamp": timestamp,  
        "access_count": 0  
    }  
    memory_store.append(memory_entry)  
    return f"Stored {priority} priority memory."

語(yǔ)義記憶搜索

對(duì)于生產(chǎn)系統(tǒng),使用 vector embeddings 進(jìn)行記憶搜索:

@function_tool  
def semantic_memory_search(query: str) -> str:  
    """Find memories using semantic similarity."""  
    query_embedding = get_embedding(query)  
      
    best_match = None  
    best_score = 0  
      
    for memory in memory_store:  
        memory_embedding = memory.get("embedding")  
        if memory_embedding:  
            similarity = cosine_similarity(query_embedding, memory_embedding)  
            if similarity > best_score and similarity > 0.8:  
                best_score = similarity  
                best_match = memory["content"]  
      
    return best_match or ""

常見(jiàn)陷阱(以及如何避免)

“一切都重要”陷阱

問(wèn)題:你的代理存儲(chǔ)每個(gè)小細(xì)節(jié),導(dǎo)致記憶膨脹。

解決方案:選擇性存儲(chǔ)。只存儲(chǔ)可能再次引用的信息。

@function_tool  
def should_store_memory(text: str, context: str) -> bool:  
    """Decide if information is worth remembering."""  
    if len(text.split()) < 5:  # 太短  
        return False  
    if "trivial" in context.lower():  # 明確標(biāo)記為不重要  
        return False  
    return True

“陳舊記憶”問(wèn)題

問(wèn)題:代理記住過(guò)時(shí)信息。

解決方案:實(shí)現(xiàn)記憶刷新機(jī)制:

@function_tool  
def refresh_memory(topic: str) -> str:  
    """Update memories about a specific topic."""  
    # Remove old memories about topic  
    global memory_store  
    memory_store = [m for m in memory_store if topic.lower() not in m.lower()]  
      
    # Retrieve fresh information  
    fresh_info = retrieve_docs(topic)  
    if fresh_info:  
        summary = summarize_content(fresh_info)  
        store_summary(f"[UPDATED] {summary}")  
      
    return f"Refreshed memory about {topic}"

“記憶混亂”挑戰(zhàn)

問(wèn)題:無(wú)組織的記憶越來(lái)越難搜索。

解決方案:使用帶標(biāo)簽的結(jié)構(gòu)化記憶:

@function_tool  
def store_tagged_memory(info: str, tags: list) -> str:  
    """Store memory with searchable tags."""  
    memory_entry = {  
        "content": info,  
        "tags": tags,  
        "timestamp": datetime.now()  
    }  
    memory_store.append(memory_entry)  
    return f"Stored memory with tags: {', '.join(tags)}"

現(xiàn)實(shí)世界應(yīng)用

客戶支持代理

想象一個(gè)支持代理,能記住與客戶幾個(gè)月對(duì)話的每一次互動(dòng)。不再有“能重復(fù)你的問(wèn)題嗎?”的時(shí)刻。

研究助手

完美用于學(xué)術(shù)研究,在幾周的文檔分析中積累知識(shí)。代理真正成為你研究領(lǐng)域的專家。

代碼審查機(jī)器人

一個(gè)記住你的編碼模式、之前 bug 和架構(gòu)決定的代理。隨著學(xué)習(xí)你的代碼庫(kù),它給出越來(lái)越相關(guān)的建議。

個(gè)人知識(shí)管理者

你自己的 AI 助手,記住你討論過(guò)的所有項(xiàng)目、目標(biāo)和偏好。

AI 記憶的未來(lái)

我們只是觸及表面。下一波記憶增強(qiáng)型代理將包括:

  • 自傳式記憶:代理記住自己的推理過(guò)程
  • 情節(jié)式記憶:具體互動(dòng)和上下文的詳細(xì)記錄
  • 程序式記憶:學(xué)習(xí)和記住如何執(zhí)行復(fù)雜任務(wù)
  • 協(xié)作式記憶:多個(gè)代理間的共享知識(shí)庫(kù)

你的下一步:構(gòu)建生產(chǎn)就緒的記憶系統(tǒng)

準(zhǔn)備好在生產(chǎn)環(huán)境中實(shí)現(xiàn)這個(gè)?這里是你的路線圖:

階段 1:基本實(shí)現(xiàn)(第 1–2 周)

  • 設(shè)置記憶存儲(chǔ)(從簡(jiǎn)單內(nèi)存開(kāi)始,然后移到 Redis/database)
  • 實(shí)現(xiàn)四個(gè)核心工具(搜索、檢索、總結(jié)、存儲(chǔ))
  • 創(chuàng)建記憶優(yōu)先的提示指令
  • 用小文檔集測(cè)試

階段 2:增強(qiáng)記憶(第 3–4 周)

  • 添加 vector embeddings 用于語(yǔ)義記憶搜索
  • 實(shí)現(xiàn)記憶優(yōu)先級(jí)和過(guò)期
  • 創(chuàng)建記憶分析和監(jiān)控
  • 添加記憶刷新機(jī)制

階段 3:高級(jí)功能(第 5–8 周)

  • 多層記憶架構(gòu)
  • 代理實(shí)例間的記憶共享
  • 自動(dòng)化記憶組織
  • 性能優(yōu)化和擴(kuò)展

入門(mén)工具和資源

必需庫(kù)

  • OpenAI Agents SDK:用于代理框架
  • LangChain:備選代理框架,帶記憶組件
  • ChromaDB/Pinecone:用于語(yǔ)義記憶的 vector databases
  • Redis:快速內(nèi)存存儲(chǔ),用于頻繁訪問(wèn)

監(jiān)控和分析

LangSmith:跟蹤記憶使用和代理性能Weights & Biases:監(jiān)控記憶效率指標(biāo)自定義儀表板:跟蹤記憶命中率和令牌節(jié)省

記憶革命現(xiàn)在開(kāi)始

記憶增強(qiáng)型 RAG 不只是技術(shù)改進(jìn)——它是向真正學(xué)習(xí)和成長(zhǎng)的 AI 的根本轉(zhuǎn)變。我們不是在構(gòu)建無(wú)狀態(tài)的問(wèn)答機(jī)器人,而是創(chuàng)建隨著每次互動(dòng)變得更聰明的數(shù)字同事。

好處很明顯:巨大令牌節(jié)省、更快響應(yīng)、更一致答案,以及代理隨著時(shí)間真正理解上下文。

但真正刺激的是——這只是開(kāi)始。隨著我們添加更復(fù)雜的記憶系統(tǒng),我們正走向不只是處理信息,而是積累智慧的 AI。

輪到你了:你會(huì)用能記住的代理構(gòu)建什么?

想深入 AI 代理開(kāi)發(fā)?關(guān)注我,獲取更多構(gòu)建生產(chǎn)就緒 AI 系統(tǒng)的動(dòng)手教程。如果你把記憶增強(qiáng)型 RAG 應(yīng)用到項(xiàng)目中,我很想在評(píng)論區(qū)聽(tīng)到你的結(jié)果。

責(zé)任編輯:武曉燕 來(lái)源: AI大模型觀察站
相關(guān)推薦

2022-06-24 22:33:36

Qlik數(shù)據(jù)主動(dòng)智能

2023-09-18 16:05:24

AI圖像處理軟件

2018-10-24 16:31:24

華為云

2020-09-23 11:14:06

數(shù)據(jù)中心

2023-09-08 10:40:31

CIOAIGC

2018-03-29 15:50:48

華為

2025-08-08 02:15:00

2025-06-09 08:42:23

2010-11-17 17:04:05

2010-01-14 15:18:51

2020-03-19 10:31:14

AI 數(shù)據(jù)人工智能

2020-12-08 19:57:30

聯(lián)迪商用OS

2010-03-12 10:24:52

智能交換機(jī)

2022-03-10 16:01:29

Playwright開(kāi)源

2012-07-02 10:36:19

菲亞特

2025-06-06 01:15:00

2012-12-17 11:12:48

2016-01-26 11:58:12

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)