今天沒有產(chǎn)品發(fā)布
來聊一種方法 讓任何模型,都能寫萬字長文
沒錯,堪稱賽博德魯伊:
Buff 拍上去,GPT-3.5 也能寫萬字報告
最近,Agent 圈神仙打架:
Manus 爆火、Fellou 接棒、扣子空間緊隨其后...
這些項目各有特色,但都會掏出一個共同的 Demo:生成一篇長報告
Manus 官方示例
長報告這東西,看起來平平無奇,實則難如登天。
你可以讓 AI 寫一下,然后發(fā)現(xiàn):
開頭不錯,后面瞎扯 材料用了,重點沒有 洋洋灑灑,言之無物
今天,我們要介紹的,是一個方法論:
拿結(jié)構(gòu)當(dāng)核心,多步生成,構(gòu)建完整而清晰的長文
方法來自剛發(fā)的論文:
《LLM×MapReduce-V2: Entropy-Driven Convolutional Test-Time Scaling for Generating Long-Form Articles from Extremely Long Resources》 LLM×MapReduce-V2:用信息熵和卷積機制,指導(dǎo)大模型寫出結(jié)構(gòu)清晰的長文檔 所謂 v2,是因為之前有過 v1
名字很長,后面就叫它MapReduce-V2,作者是清華 NLP、OpenBMB 和面壁團隊。
論文:https://arxiv.org/abs/2504.05732
Git:https://github.com/thunlp/LLMxMapReduce/tree/main
你可以直接下來這個項目來用
對此,官方配了一個很抽象的 Demo,叫做卷姬,可以在這里試試:
https://surveygo.thunlp.org/
(卷姬用卷積...諧音??坼X啊喂)
Survey Go 首頁 https://surveygo.thunlp.org/示例會在飛書里展示
神金啊... 總覽:MapReduce-V2
MapReduce-V2 不復(fù)雜,不需要任何的特定模型,不需要進行微調(diào),單純就是一個流程優(yōu)化,賽博Buff。
在這個方法中,不試圖「一口氣寫完一萬字」,而是按部就班、寫完一段是一段,總計寫出場文本。
包含三個主要步驟 1、Encode,準(zhǔn)備素材 2、整理大綱,核心操作,包含摘要、提綱、結(jié)構(gòu)優(yōu)化 3、Decode,按結(jié)構(gòu)逐段生成內(nèi)容太長不看版
整個方法,按流程有三段:
第一步,把主題變成可以處理的素材。
你可以把已有的資料扔進去,AI 會自動整理成統(tǒng)一格式;
當(dāng)然,也可以什么都不給,就一句“如何變得更聰明”,它會自己拆關(guān)鍵詞、去網(wǎng)上找內(nèi)容、篩掉廢話,最后拼出來可用素材。
第一步:通過主題選素材 第二步,出大綱,是核心操作。
在這一步中,AI 會先把材料都過一遍,按提綱分章節(jié)做摘要,同時備注建議;
接著,它用這些內(nèi)容搭出一個初步大綱。
最后,再通過多輪優(yōu)化,篩掉冗余、合并相近、拉直邏輯線,最后產(chǎn)出一份結(jié)構(gòu)清晰、能指導(dǎo)寫作的文章骨架。
第二步:出大綱 最后一步,是寫作
這一步中,AI 不會試圖“一把寫完”,而是人一樣:
? 先挨個的寫出各個章節(jié)
? 把章節(jié)串成文章
? 潤色所有內(nèi)容,配上圖表、加上引用
最終,搞出一個「拼好文」
最終,AI 拼好文 再長都看版
如果你想深度了解,可以接著往下看。
讓我們硬核一點,細(xì)致些,包含了各種 Prompt 示例。
Encode:素材準(zhǔn)備
對于素材準(zhǔn)備,MapReduce-V2 支持兩種輸入方式:
? 其一,上傳素材,AI 整理格式
? 其二,定主題,AI 自己搜

用戶側(cè),可以上傳各種參考文獻(包含標(biāo)題、摘要、正文),AI 會統(tǒng)一格式,轉(zhuǎn)化為結(jié)構(gòu)化輸入。
用戶給定主題
這里,AI 會自動執(zhí)行一套流程,把材料找齊,按一下步驟:
1. 利用 AI 做要點分拆,得到一系列搜索關(guān)鍵詞;
2. 通過搜索引擎獲取相關(guān)網(wǎng)頁;
3. 異步爬取網(wǎng)頁內(nèi)容,過濾無關(guān)信息;
4. 計算主題相似度、篩選高質(zhì)量材料,最終選出最相關(guān)的 Top-N 文獻。
**劃重點 ** 這一階段的關(guān)鍵不在“找得多”,而在于“找得準(zhǔn)”。 AI 不僅負(fù)責(zé)找內(nèi)容,也要負(fù)責(zé)過濾內(nèi)容,以確保輸入材料可用性和結(jié)構(gòu)性。
用到的主要 Prompt
# LLM_search prompts SEARCH_SYSTEM_PROMPT_WITH_ABSTRACT="""您是一名行業(yè)研究專家,負(fù)責(zé)就 {topic} 的主題撰寫一份綜合報告。報告應(yīng)遵守以下要求:{abstract}。要收集必要的信息,您需要進行在線調(diào)研。請生成一組搜索查詢,幫助您檢索報告的相關(guān)數(shù)據(jù)和見解。 """ SEARCH_USER_PROMPT="""將當(dāng)前查詢中模糊的概念分解為更具體的子概念,以實現(xiàn)更精確的搜索。例如,“外國”可以進一步分解為在報告領(lǐng)域內(nèi)具有代表性的特定國家或地區(qū)。 輸出格式: ```markdown query_1; query_2; ... ``` """
整理大綱:結(jié)構(gòu)生成AI 開始干活,從這一步開始,主要分三步:
1. Digest:結(jié)構(gòu)化摘要
在這里,AI 會圍繞著大鋼結(jié)構(gòu),逐篇處理材料,針對性地生成摘要。
比如,假定大綱,在剛剛的“如何變得更聰明”里有一節(jié)是“什么是聰明”,它就只抽出「有關(guān)聰明」的信息來提煉。
同時它還會留下一串建議:這一節(jié)沒有數(shù)據(jù)支撐,或者這一節(jié)可以分兩塊寫。
用到的主要 Prompt
你是一個專業(yè)的學(xué)術(shù)助手... # 背景 目前,你正在協(xié)助編寫一篇學(xué)術(shù)綜述報告。... # 任務(wù)描述 **你的任務(wù)**是基于綜述報告的預(yù)定義**大綱**,為提供的**參考文章**生成該摘要。你必須遵循每個部分的描述指引,從參考文章的完整內(nèi)容中提取信息。最終生成的摘要將作為參考文章的代表性總結(jié),便于在進一步的綜述撰寫過程中使用。此外,根據(jù)完整的文章,你還需要提供改進大綱質(zhì)量的建議。 ## 摘要生成原則 **請遵循以下原則來生成文章摘要**: 1. **識別相關(guān)部分**:首先回顧大綱,識別與參考文章內(nèi)容最相關(guān)的部分。... 2. **內(nèi)容精煉**:對于相關(guān)部分,嚴(yán)格按照部分描述中的指導(dǎo)進行精煉。... 3. **忠實性**:在整個過程中,確保不引入任何未被原文支持的新事實或解釋,忠實于原文章的發(fā)現(xiàn)... ## 建議生成原則 ... # 輸入材料 ## 參考文章的Bibkey [\"{paper_bibkey}\"] ## 初步大綱 {survey_outline} ## 參考文章 {paper_content} # 輸出要求 ## 格式要求 1. **輸出格式**:摘要必須使用Markdown格式。摘要部分用一個```markdown\\n```整體括起來。大綱中的所有章節(jié)標(biāo)題(包括總標(biāo)題)必須出現(xiàn)在摘要中,并保持相同層級;不要跳過或省略任何部分。摘要的總標(biāo)題和子標(biāo)題應(yīng)該與大綱的總標(biāo)題和子標(biāo)題保持一致。你不許在```markdown\\n```中嵌套任何額外的```markdown\\n```。 2. **引用格式**:需要在句子末尾加上[\"{paper_bibkey}\"],以指定信息的來源。如果信息并非直接來自文章,可以不加引用。摘要和建議中均需要包含引用。 3. **公式格式**:如果輸出中有公式,請使用LaTeX格式表示。例如,內(nèi)聯(lián)公式使用$y = x^2$,塊狀公式使用$$y = x^2$$。 4. **建議格式**:建議應(yīng)以```suggestion\\n```括起來。只需要提供建議,不需要提供修改后的新大綱。 ## 格式示例 ```markdown {outline_example} ``` 建議: ```suggestion 給出你對大綱修改的建議,以便更好地利用這篇文章作為參考。 ```
2. Skeleton:立大綱所有摘要出來之后,AI 會用這些材料搭出一份初步的大綱。
這是一個帶有“任務(wù)描述”的 Markdown 樹狀結(jié)構(gòu),不僅列出章節(jié)名,還說明每一節(jié)應(yīng)該寫什么、引用哪些文獻。
類似裝修的設(shè)計圖,后續(xù)所有內(nèi)容生成都圍繞它展開。
用到的主要 Prompt
"""你是一名專業(yè)的學(xué)術(shù)助手,任務(wù)是幫助研究人員根據(jù)提供的材料進行文獻綜述。 # 背景 我需要基于主題“{title}”撰寫一份學(xué)術(shù)綜述大綱,并使用提供的參考文獻... # 任務(wù)描述 你的任務(wù)是基于提供的**文章摘要**構(gòu)建綜述大綱。每個大綱部分應(yīng)具有系統(tǒng)且詳細(xì)的描述。描述由兩部分組成: - **Digest Construction**:確定從提供的參考文獻全文中提取哪些信息以創(chuàng)建摘要。該摘要將用于后續(xù)的Digest Analysis,以撰寫邏輯嚴(yán)謹(jǐn)、批判性強且有洞察力的學(xué)術(shù)綜述部分。... - **Digest Analysis**:解釋如何使用提取的信息來組織和分析文章,并提供可執(zhí)行的步驟。避免僅僅列出信息,而是分析和綜合這些信息,形成一個連貫且結(jié)構(gòu)良好的敘述。... 你可以遵循以下原則生成高質(zhì)量的大綱: 1. **系統(tǒng)性**: 全面涵蓋主題的所有相關(guān)方面,形成一個完整且嚴(yán)謹(jǐn)?shù)闹R框架,使讀者能夠掌握主題的整體情況。... 2. **針對性**: 大綱的每個條目必須與綜述主題密切相關(guān),精確定位主題的核心點和關(guān)鍵問題... 3. **客觀性**: 大綱的措辭和內(nèi)容安排不應(yīng)帶有個人主觀偏見或情感傾向。對各種研究結(jié)果和不同學(xué)術(shù)觀點的展示應(yīng)公平客觀,以確保內(nèi)容的真實性和可靠性... # 輸入材料 ## **文章摘要** {abstracts} # 輸出要求 ## 格式要求 1. 輸出的**大綱**必須為Markdown格式,主題為一級標(biāo)題。**大綱**應(yīng)使用分隔符```markdown\\n```包圍。 2. 每個部分的描述應(yīng)引用適當(dāng)?shù)奈恼耣ibkeys... 3. 每個部分必須包含適當(dāng)?shù)淖硬糠郑ㄗh使用Markdown標(biāo)題來表示層次結(jié)構(gòu)。 4. 每組參考文獻的bibkeys必須用一對方括號括起來...。 ## 格式示例 ```markdown # {title} ## 部分A Digest Construction: 寫出應(yīng)從全文中提取哪些信息。 Digest Analysis: 寫出如何組織和分析文章[\"BIBKEY1\", \"BIBKEY2\"],并提供可執(zhí)行步驟。 ... ### 子部分A Digest Construction: 寫出應(yīng)從全文中提取哪些信息。 Digest Analysis: 寫出如何組織和分析文章[\"BIBKEY1\", \"BIBKEY2\"],并提供可執(zhí)行步驟。 ### 子部分B Digest Construction: 寫出應(yīng)從全文中提取哪些信息。 Digest Analysis: 寫出如何組織和分析文章[\"BIBKEY1\", \"BIBKEY2\"],并提供可執(zhí)行步驟。 ... ## 部分C ... ```
3. Convolution:卷積式結(jié)構(gòu)優(yōu)化關(guān)鍵操作來了。
AI 會把上面階段所有對提綱的建議,拿出來一輪輪融合:
按主題分組、聚合建議、打分篩優(yōu)、再迭代生成新提綱。
每一輪都像是卷積核掃一遍結(jié)構(gòu)圖,最后留下信息密度最高、邏輯最清晰的那個版本。
多輪打磨后,你會獲得一份很棒的提綱:它既參考了全部摘要,又兼顧邏輯一致性和寫作節(jié)奏。
這也是 Convolution 是 V2 版本的最大創(chuàng)新,它的目標(biāo)是:
通過多次迭代,類似 CNN,將大綱變成了一個高質(zhì)量、邏輯清晰、信息密實的文章草稿。
用到的主要 Prompt
"""你是一個專業(yè)的學(xué)術(shù)助手,負(fù)責(zé)幫助研究人員根據(jù)提供的材料進行文獻綜述。 # 背景: 學(xué)術(shù)綜述的主題是“{title}”... # 任務(wù)描述: 為整合這些建議,請遵循以下原則: 1. **系統(tǒng)性整合**: - 理解現(xiàn)有的分析框架和建議... - **層級結(jié)構(gòu)**:將建議分為高層次(戰(zhàn)略層面)和低層次(操作層面),確保每個建議具有明確的定位和功能... 2. **挑戰(zhàn)與解決方案**: - 基于分析框架,整合各個子領(lǐng)域面臨的挑戰(zhàn)以及當(dāng)前方法的不足... - 針對總結(jié)出的挑戰(zhàn)和不足,預(yù)測未來的研究方向,以彌補當(dāng)前工作的不足... # 輸入材料: 1. 初步大綱:需要完善的當(dāng)前版本綜述大綱。 2. 個別建議:來自幾位專家評審的反饋,每個建議包含關(guān)于該建議有效性分?jǐn)?shù)的評估結(jié)果及評分理由... ## 初步大綱 ```markdown {outline} ``` ## 個別建議 {suggestions} # 輸出要求 ## 格式要求: 1. 所有建議必須用一對```suggestion\n```引用... 2. 每個 Bibkey 必須由引號包裹,每組 Bibkey 必須由一組方括號包圍,如["BIBKEY1", "BIBKEY2"]... 3. 建議應(yīng)具有可操作性,并與綜述的目標(biāo)密切對齊... 4. 如果輸出中包含公式,請使用LaTeX格式表示... ## 格式示例 ```suggestion 1. 描述這一組建議的核心目標(biāo): - 針對當(dāng)前核心目標(biāo),如何修改初步大綱的具體建議 [\"BIBKEY1\", \"BIBKEY2\",...]. - ... 2. 描述這一組建議的核心目標(biāo): - 針對當(dāng)前核心目標(biāo),如何修改初步大綱的具體建議 [\"BIBKEY1\", \"BIBKEY2\",...]. - ... 3. 描述這一組建議的核心目標(biāo): - 針對當(dāng)前核心目標(biāo),如何修改初步大綱的具體建議 [\"BIBKEY1\", \"BIBKEY2\",...]. -... ``` """
Decode:內(nèi)容輸出有了大綱之后,AI 就會開始動筆寫作:按結(jié)構(gòu)分段生成:
? 小節(jié)一級一級寫,從葉子節(jié)點開始
? 每段只引用它該引用的 digest,不亂帶
? 寫完后還有章節(jié)級合并,總結(jié)收束
? 最后整體再來一輪潤色、插圖、引用處理
[圖片:Decode 流程圖,展示結(jié)構(gòu)樹寫作從底到頂?shù)纳陕窂絔
有點像媒體團隊在協(xié)作:
? Digest/摘要:提供素材;
? Skeleton/大綱:提供結(jié)構(gòu);
? 最終,AI 大老爺負(fù)責(zé)具體生產(chǎn)
最終,你會獲得一篇結(jié)構(gòu)合理、內(nèi)容完整、Markdown 格式的長文,包含圖表、引用和排版。
用到的主要 Prompt- 子章節(jié)
你是一個專業(yè)的學(xué)術(shù)助手,專門從事文獻綜述工作,幫助研究人員高效地綜合相關(guān)研究。 ==================== 背景: 目前,你正在撰寫一篇名為“{title}”的學(xué)術(shù)綜述報告... ==================== 任務(wù)描述: **你的任務(wù)**是為最終綜述報告創(chuàng)建一個子章節(jié)... 思考原則: 1. **將個別摘要整合成一個有機的子章節(jié)**: - **按照子章節(jié)描述的系統(tǒng)組織**:...從摘要中提取有價值的信息,并將其綜合成一個全面的綜述子章節(jié)... - **基于證據(jù)的分析與綜合**:從摘要中提取有力的證據(jù),例如實驗結(jié)果、批判性分析和深刻見解,以支持子章節(jié)描述中的分析... - **識別研究空白和未來方向**:系統(tǒng)地總結(jié)當(dāng)前研究領(lǐng)域中的挑戰(zhàn),突出現(xiàn)有研究的局限性,包括樣本量的限制、方法論的約束或未解決的研究問題... 2. **語言風(fēng)格**: - **正式性、嚴(yán)謹(jǐn)性和客觀性**:在寫作中保持高度的正式性、嚴(yán)謹(jǐn)性和客觀性... - **句子結(jié)構(gòu)和清晰度**:構(gòu)造句子時要嚴(yán)謹(jǐn)和準(zhǔn)確,確保邏輯清晰,易于理解... - **中立性、精確性和學(xué)術(shù)嚴(yán)謹(jǐn)性**:采用中立語氣,基于證據(jù)客觀地呈現(xiàn)內(nèi)容... ==================== 輸入材料: 子章節(jié)描述 ```markdown {outline} ``` 個別文章摘要 ```markdown {digest} ``` ==================== 輸出要求: 1. 輸出的章節(jié)內(nèi)容必須用一對```markdown\n```引用, 內(nèi)容中除了有特定含義的詞匯或縮寫,其他所有語言必須為漢語,不允許混雜除漢語與英語之外的其他語言。 2. 每個 Bibkey 必須由引號包裹,每組 Bibkey 必須由一組方括號包圍,如["BIBKEY1", "BIBKEY2"]... 3. 如果輸出中包含公式,請使用LaTeX格式表示。例如,內(nèi)聯(lián)公式使用$y = x^2$,塊狀公式使用$$y = x^2$$... ==================== 格式示例: ```markdown ### {section_title} 通過整合個別摘要中的相關(guān)內(nèi)容并優(yōu)化整體呈現(xiàn)以提高清晰度和連貫性生成的子章節(jié)內(nèi)容[\"BIBKEY1\", \"BIBKEY2\"]。 ```
用到的主要 Prompt- 父章節(jié)
你是一個專業(yè)的學(xué)術(shù)助手,專門從事文獻綜述工作,幫助研究人員高效地綜合相關(guān)研究。 ==================== 背景: 目前,你正在撰寫一篇名為“{title}”的學(xué)術(shù)綜述報告... ==================== 任務(wù)描述: **你的任務(wù)**是綜合當(dāng)前章節(jié)標(biāo)題和第一個子章節(jié)標(biāo)題之間的內(nèi)容... 思考原則: 1. **將個別摘要整合成一個有機的子章節(jié)**: - **按照子章節(jié)描述的系統(tǒng)組織**:...從摘要中提取有價值的信息,并將其綜合成一個全面的綜述子章節(jié),確保最終子章節(jié)涵蓋所有摘要中的見解。 - **基于證據(jù)的分析與綜合**:從摘要中提取有力的證據(jù),例如實驗結(jié)果、批判性分析和深刻見解,以支持子章節(jié)描述中的分析... - **識別研究空白和未來方向**:系統(tǒng)地總結(jié)當(dāng)前研究領(lǐng)域中的挑戰(zhàn),突出現(xiàn)有研究的局限性,包括樣本量的限制、方法論的約束或未解決的研究問題... 2. **將子章節(jié)內(nèi)容整合成一個有機的整體**: - **全面回顧與核心識別**:徹底回顧每個子章節(jié)的內(nèi)容,系統(tǒng)地找出其中的主要主題、關(guān)鍵論點和重要發(fā)現(xiàn)... - **發(fā)現(xiàn)和利用子章節(jié)之間的聯(lián)系**:尋找子章節(jié)之間的共同點和相互聯(lián)系。這些可能包括共享的研究方法、相關(guān)的理論框架或交集的研究問題... - **結(jié)構(gòu)化以提高清晰度**:在整合子章節(jié)內(nèi)容時,要建立層次結(jié)構(gòu)。首先呈現(xiàn)最一般和最概括的概念,然后逐步展開更具體的細(xì)節(jié)... - **有意義的綜合,而非簡單編纂**:確保子章節(jié)內(nèi)容的整合是有意義的綜合,而不僅僅是簡單的編纂。提供一個敘述,闡明每個子章節(jié)如何有助于對主題的整體理解... 3. **語言風(fēng)格**: - **正式性、嚴(yán)謹(jǐn)性和客觀性**:在寫作中保持高度的正式性、嚴(yán)謹(jǐn)性和客觀性... - **句子結(jié)構(gòu)和清晰度**:構(gòu)造句子時要嚴(yán)謹(jǐn)和準(zhǔn)確,確保邏輯清晰,易于理解... - **中立性、精確性和學(xué)術(shù)嚴(yán)謹(jǐn)性**:采用中立語氣,基于證據(jù)客觀地呈現(xiàn)內(nèi)容... ==================== 輸入材料: 章節(jié)描述: ```markdown {outline} ``` 子章節(jié): {subcontents} 個別文章摘要: ```markdown {digest} ``` ==================== 輸出要求: 1. 輸出的章節(jié)內(nèi)容必須用一對```markdown\n```引用... 2. 每個 Bibkey 必須由引號包裹,每組 Bibkey 必須由一組方括號包圍,如["BIBKEY1", "BIBKEY2"]... 3. 如果輸出中包含公式,請使用LaTeX格式表示... ==================== 格式示例: ```markdown ### {section_title} 通過整合個別摘要中的相關(guān)內(nèi)容并優(yōu)化整體呈現(xiàn)以提高清晰度和連貫性生成的子章節(jié)內(nèi)容[\"BIBKEY1\", \"BIBKEY2\"]。 ```
收束一下,MapReduce-V2 不是“寫作大模型”或者“通用代理”,而是一個開源的、清晰的寫作框架,是賽博德魯伊,上 Buff,讓你的模型能寫更長的內(nèi)容
如果你也在做自動報告、長文生成、知識整合類項目,開源來借鑒一下。
工具、論文、Demo 都已經(jīng)開源,跑一遍,比看十篇綜述更直觀。
用的 prompt,都在這里 https://github.com/thunlp/LLMxMapReduce/blob/main/LLMxMapReduce_V2/src/prompts/prompts_zh.py
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.