模型總“跑偏”?揭秘AI產(chǎn)品經(jīng)理“外掛”:上下文工程!
今天,咱們來聊點真正能提升你產(chǎn)品“IQ”的話題——最近在AI圈爆火的“上下文工程”(Context?Engineering)。是不是覺得這詞兒聽著挺高大上,但又有點摸不著頭腦?別急,作為一名深耕AI領(lǐng)域的產(chǎn)品經(jīng)理,我敢說,這絕對是你馴服AI的終極奧秘!
??大模型有記憶嗎?(這個“靈魂拷問”咱們最后揭曉?。?/h2>
開始前,我想先問大家一個有點“哲學(xué)”的問題:你覺得大模型有記憶嗎?
有人覺得“它能跟我一直聊,肯定有記憶?。 币灿腥丝赡茉谙搿八看伍_新對話都像失憶一樣,應(yīng)該沒有?”這個問題,咱們先放一放,文章末尾會給出我的答案,相信你看完上下文工程,會有一個更清晰的判斷。
??上下文工程:從“提示詞咒語”到“智能劇本”
說起來,“上下文工程”這個概念真正被推到風(fēng)口浪尖,得歸功于最近硅谷AI大神們的“神仙對話”。
今年7月,知名電商平臺Shopify的聯(lián)合創(chuàng)始人兼首席執(zhí)行官托比·盧特克(TobiLutke)在社交媒體上的一番話,瞬間點燃了整個AI圈的討論火焰。他直言:“比起‘提示詞工程’(PromptEngineering),我確實更喜歡‘上下文工程’(ContextEngineering)這個術(shù)語?!本o接著,AI大神安德烈·卡帕西(AndrejKarpathy)也迅速跟帖表示贊同,他將上下文工程稱為“一門精深的科學(xué),也是一門巧妙的藝術(shù)?!?/strong>
聽到這,我的DNA直接動了!以前,我們總在琢磨怎么寫出“魔法咒語”般的Prompt,指望模型能“心領(lǐng)神會”。但現(xiàn)在,上下文工程的提出,讓我們意識到:我們不只是在給模型下達(dá)指令,更是在給模型“構(gòu)建一個完整的世界”!這個世界里包含了它完成任務(wù)所需的所有信息、背景和工具。
為什么說是“科學(xué)”?
因為它像一門嚴(yán)謹(jǐn)?shù)膶嶒炘O(shè)計:系統(tǒng)提示詞、用戶輸入、少量示例、檢索增強(qiáng)生成、相關(guān)數(shù)據(jù)、工具、狀態(tài)、歷史記錄、以及信息壓縮等。信息給得太少或格式不對,模型就像“巧婦難為無米之炊”;信息太多或不相關(guān),就會瘋狂消耗Token和算力,導(dǎo)致成本飆升、性能下降——這是我們產(chǎn)品經(jīng)理最頭疼的“投入產(chǎn)出比”難題,當(dāng)開發(fā)跟你抱怨“這個需求太復(fù)雜了,算力不夠!”的時候,你是不是感覺被點穴了?
為什么說是“藝術(shù)”?
因為它沒有標(biāo)準(zhǔn)答案!怎么把這些信息投喂并讓模型效果最“出彩”,需要你像藝術(shù)家一樣,用直覺、經(jīng)驗甚至創(chuàng)意去“打磨”。這就像我們設(shè)計AI產(chǎn)品的交互流程,同一個功能,不同的設(shè)計會帶來截然不同的用戶體驗。它需要我們具備發(fā)散性思維和對細(xì)節(jié)的極致追求。
卡帕西更是犀利指出:“大多數(shù)AIagent的失敗,不是模型的能力不足,而是上下文的失敗。”這句話真是說到了我的心坎里!多少次,苦口婆心給開發(fā)、測試、運營講解需求,產(chǎn)品MVP仍然“跑偏”?多少次,評審會上大家雞同鴨講,最后變成“互相甩鍋”?根源就在于——對“上下文”理解出現(xiàn)了偏差!
所以,上下文工程的核心就是:在恰當(dāng)?shù)臅r機(jī)、以恰當(dāng)?shù)母袷教峁┣‘?dāng)?shù)男畔?。要求我們系統(tǒng)性地考慮所有能影響AI決策的信息流。
??認(rèn)識大模型的“記憶容量”:上下文窗口
要深入理解上下文工程,就必須先了解一個核心概念——上下文窗口(ContextWindow)。簡單說就是大模型一次性能夠“記住”或處理的信息量上限。窗口越大,能“裝”的信息越多,理論上模型的理解力就越強(qiáng)。
我們來看看它的“進(jìn)化史”
- GPT-2:最大上下文窗口約2048tokens,差不多能裝1~1.5頁A4紙的內(nèi)容。
- GPT-3:提升到4096tokens,已經(jīng)能塞下一篇完整的新聞稿或技術(shù)報告。
- GPT-4(128K版本):直接突破天際,達(dá)到驚人的128,000tokens!這什么概念?《哈利·波特與魔法石》英文版全書約77K,都可以放進(jìn)上下文窗口中!
看起來好像越大越好,對嗎?現(xiàn)實往往不這么簡單——并不是!
尤其是當(dāng)我們構(gòu)建復(fù)雜的AIAgent時,它可能需要長時間運行任務(wù)或頻繁調(diào)用外部工具。這意味著Agent會反復(fù)把之前的上下文整段帶入計算,瘋狂消耗Token!
這就像你讓AIAgent幫你做個復(fù)雜項目:先查日歷、再發(fā)郵件、接著做個總結(jié)……每一步,它都可能背著幾十K的上下文“跑流程”!這感覺就像讓你每天上班都得背著一本《哈利波特全集》去通勤。Token就是錢啊!成本瞬間飆升,效率反而可能下降,而這就是AI產(chǎn)品經(jīng)理必須面對的現(xiàn)實痛點。
??揭秘:上下文到底包括哪些“干貨”?
那么,在大模型決策前需要搞清楚“我知道什么”、“你在說什么”、“我該怎么回”,這些“干貨”到底指什么呢?
簡單來說,上下文就是模型在做出決策或生成回復(fù)前,所依賴的一切相關(guān)信息。
我們引用GoogleDeepMind高級AI關(guān)系工程師PhilippSchmid的說法,他把“上下文工程”拆解成幾個關(guān)鍵模塊,每一個都和我們AI產(chǎn)品設(shè)計息息相關(guān):
- 系統(tǒng)提示詞(SystemPrompt):這就像給模型“立人設(shè)”!比如告訴它:“你是一個知書達(dá)理的大學(xué)教授,擅長AI領(lǐng)域知識,別亂說敏感詞,別談?wù)?,要說人話?!币婚_始就定好它是誰、要干嘛、怎么說!想想我們做產(chǎn)品,是不是也得先明確產(chǎn)品定位和品牌調(diào)性?
- 用戶提示詞(UserPrompt):也就是你問模型的問題,比如:“請寫一篇關(guān)于上下文工程的短視頻腳本!”這才是它開始工作的信號。也是用戶需求的直接體現(xiàn)。
- 短期記憶:指的是當(dāng)前對話的上下文,比如你剛說了啥、它剛回了啥,它都記著。這就好比開會時,針對當(dāng)前議題的實時交流和反饋。
- 長期記憶:這就厲害了!比如你之前告訴它你喜歡“技術(shù)風(fēng)”的回答,它就記下來了。哪怕今天是新開對話,它也能“懂你”。這不就是產(chǎn)品經(jīng)理夢寐以求的用戶個性化、持續(xù)學(xué)習(xí)能力嗎?
- 工具調(diào)用(ToolUse):比如查日歷、發(fā)郵件、查天氣……這些操作的過程和結(jié)果,都會寫進(jìn)上下文,讓AI知道之前做過啥,別重復(fù)操作。簡直就是AI產(chǎn)品實現(xiàn)復(fù)雜業(yè)務(wù)邏輯和跨系統(tǒng)協(xié)同的關(guān)鍵!
- 檢索增強(qiáng)(RAG):大模型還可以查資料,比如你有個企業(yè)知識庫,它會去里面檢索抓取相關(guān)內(nèi)容,加到上下文來參考。完美解決了大模型知識滯后、容易“胡說八道”的問題,也讓企業(yè)內(nèi)部知識資產(chǎn)價值利用最大化。
- 結(jié)構(gòu)化輸出:有時候要它用特定格式說話,比如輸出JSON、表格,甚至生成代碼結(jié)構(gòu)——也得在上下文里說明清楚。這對我們API對接、數(shù)據(jù)處理和自動化流程來說,至關(guān)重要。
當(dāng)你把這些都清晰地組織起來,大模型才能像一個訓(xùn)練有素的專家!
??如果上下文“翻車”:AI產(chǎn)品經(jīng)理的“心塞”瞬間
如果上下文設(shè)計不當(dāng),會引發(fā)一系列問題,就像產(chǎn)品設(shè)計不良會導(dǎo)致各種Bug一樣:
- 上下文中毒:當(dāng)AI在調(diào)用工具時,帶回錯誤信息,這些錯誤信息會污染整個上下文,導(dǎo)致后續(xù)推理全盤皆輸。這就像我們產(chǎn)品上線后發(fā)現(xiàn)數(shù)據(jù)源出了問題,導(dǎo)致整個分析報告都錯得離譜,最后所有部門都來找你“算賬”……
- 上下文干擾:上下文太長,混雜太多信息,會讓模型“注意力分散”,沒辦法專注重要內(nèi)容,就像開卷考試桌上放了一堆沒用的參考書,嚴(yán)重影響效率和準(zhǔn)確性。
- 語境混淆:一些無用的信息可能影響模型判斷,導(dǎo)致它答非所問。
- 上下文沖突:比如,上下文中如果出現(xiàn)前后矛盾的內(nèi)容(比如不同版本的需求描述),模型可能不知道該相信哪一個,導(dǎo)致答復(fù)混亂或錯誤。這就像我們經(jīng)常遇到的,某個需求文檔更新了,但舊版本的說明還在流傳,導(dǎo)致開發(fā)和測試拿到的是不同版本,然后就……“互相扯皮,項目延期!”你懂的。
Anthropic也明確指出:Agent通常會參與跨越數(shù)百個回合的對話,需要謹(jǐn)慎的上下文管理策略。所以,作為AI產(chǎn)品經(jīng)理,必須重視這些挑戰(zhàn)!
?? 四大上下文管理策略:明智記憶、高效篩選、巧妙壓縮、精準(zhǔn)隔離!
面對這些挑戰(zhàn),這四大策略,將是你在AI產(chǎn)品設(shè)計和優(yōu)化中的“法杖”:
1.輸入(WriteContext):讓AI“有跡可循”
AI也需要“記東西”,有三種方式:
- 長期記憶(Long-termmemory):像是歷史資料、老任務(wù)、舊知識,可以跨會話記住。比如Reflexion會通過模型反思總結(jié)經(jīng)驗;GenerativeAgents還能定期生成新記憶,越用越聰明!這不就是我們希望AI持續(xù)學(xué)習(xí)、自我進(jìn)化的能力嗎?
- 暫存器(Scratchpad):就像人類打草稿、寫便簽,記錄臨時信息。AI也會邊做邊寫,保存在“便簽本”里,方便用、方便查!
- 狀態(tài)(State):記錄任務(wù)過程中的關(guān)鍵變量,比如函數(shù)調(diào)用結(jié)果、操作路徑,像“項目日志”一樣,方便后續(xù)追蹤。
就像咱們做項目,有歷史文檔??(長期記憶)、便簽紙??(暫存器)、任務(wù)記錄??(狀態(tài))。AI也一樣,這些都得準(zhǔn)備齊全!
2.篩選(SelectContext):讓AI“去偽存真”
信息太多怎么辦?當(dāng)然不能全塞進(jìn)去!要做的就是:從所有記憶中篩選出最相關(guān)的部分,只喂最關(guān)鍵的信息給模型!來源包括工具結(jié)果、便簽本、長期記憶、知識庫內(nèi)容等。
就像去知識倉庫挑資料,挑最有用的幾頁就行,別整個倉庫搬過去!這能有效解決我們信息過載、模型“跑題”的困擾。
3.壓縮:讓AI“精簡高效”
上下文再大,也不是無底洞!要學(xué)會“濃縮精華”!
- 總結(jié)(Summarize):比如把1000字內(nèi)容→總結(jié)成200字要點,保留關(guān)鍵信息。
- 裁剪(Trim):刪掉無關(guān)內(nèi)容,省空間、提效率!
像Claude甚至能在上下文快滿時自動壓縮。
這就像我們做需求分析,要學(xué)會提煉核心需求,砍掉不必要的枝蔓,精簡而有效。
4.隔離(IsolateContext):讓AI“專注高效”
不同任務(wù)的上下文混在一起會“打架”,所以要拆開、分區(qū)、隔離處理,防止信息污染。
- 狀態(tài)分區(qū):像文件夾一樣,把不同任務(wù)信息分開放。
- 沙盒保存(Sandbox):信息只在內(nèi)部臨時使用,用完即扔,不外泄。
- 多智能體分區(qū):多個Agent各自處理各自的部分,互不干擾,最后合并結(jié)果!
就像多個團(tuán)隊各干各的活,互不打擾,最后再按照排期交成果!
?總結(jié):賦能AI,也在賦能自己!
面對大模型長上下文的挑戰(zhàn),我們也要學(xué)習(xí)這個模式:
- 先記錄信息(寫)
- 再篩有用內(nèi)容(選)
- 然后做濃縮(壓)
- 最后做好隔離管理(隔)
這樣,AI才不會“被信息淹沒”,能更高效地思考與行動,真正從“機(jī)械”變“智能”!而作為AI產(chǎn)品經(jīng)理,掌握上下文工程,也就掌握了更高維地設(shè)計和管理AI產(chǎn)品的能力。
?? 回到開始的問題:大模型有記憶嗎?
答案揭曉
我的回答是:默認(rèn)情況下,大模型本身是沒有真正意義上的“記憶”的。
當(dāng)關(guān)閉頁面,或者開新的對話窗口,它就會忘了你是誰。有人可能會說:“不對啊,我昨天聊的事情,今天還可以接著聊呀?”
那是因為我們有上下文窗口!它可以臨時“記住”一些內(nèi)容,但這完全依賴于你當(dāng)前這次對話的內(nèi)容。一旦超過“上下文長度限制”,早期的對話就會被“遺忘”。所以,那不是真正意義上的“記憶”,更像是一種基于有限“注意力”的“臨時緩存”。
而上下文工程,正是為了彌補(bǔ)大模型“短期記憶”的局限,并通過各種策略,賦予它更強(qiáng)大的“語境理解”和“信息管理”能力,讓它在每個回合都能做出更“明智”的決策。
各位從業(yè)AI的朋友們,看完這篇文章,是不是對上下文工程有更深的理解呢?它不只是一個技術(shù)概念,更是我們AI產(chǎn)品經(jīng)理提升產(chǎn)品價值、解決痛點的關(guān)鍵思維!
本文由 @思藝Siyi 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評論,等你發(fā)揮!