戰(zhàn):從聊天到自動(dòng)化工作流的設(shè)計(jì)與應(yīng)用)
最近在折騰一個(gè)自動(dòng)化腳本需要批量處理一批文檔然后生成對(duì)應(yīng)的分析報(bào)告。我試了幾個(gè)方案要么配置太復(fù)雜要么輸出格式不靈活。后來(lái)看到有人提到 ChatGPT 的 Work 模式說(shuō)它能把多輪對(duì)話變成一個(gè)可復(fù)用的工作流。我一開始沒太在意覺得不就是把聊天記錄保存下來(lái)嗎直到我真正用 Work 模式把一個(gè)復(fù)雜的文檔處理任務(wù)跑通才意識(shí)到它的價(jià)值遠(yuǎn)不止“保存對(duì)話”那么簡(jiǎn)單。很多人把 ChatGPT 當(dāng)作一個(gè)即問(wèn)即答的聊天機(jī)器人問(wèn)一個(gè)問(wèn)題得到一個(gè)答案然后結(jié)束。這在處理簡(jiǎn)單、獨(dú)立的任務(wù)時(shí)沒問(wèn)題。但當(dāng)你面對(duì)一個(gè)需要多步驟、有上下文依賴、并且需要反復(fù)執(zhí)行類似流程的任務(wù)時(shí)這種“單次對(duì)話”的模式就顯得力不從心了。你需要記住上一步做了什么手動(dòng)把上一步的輸出復(fù)制粘貼到下一步的輸入里還要確保每次的指令格式一致。這個(gè)過(guò)程不僅繁瑣而且極易出錯(cuò)。ChatGPT 的 Work 模式本質(zhì)上解決的就是這個(gè)問(wèn)題它把一次性的、線性的對(duì)話變成了一個(gè)結(jié)構(gòu)化的、可重復(fù)執(zhí)行的“工作流”或“腳本”。這聽起來(lái)可能有點(diǎn)抽象但它的實(shí)際影響是讓你從“每次都要重新教 AI 做事”的重復(fù)勞動(dòng)中解放出來(lái)轉(zhuǎn)向“定義好流程讓 AI 自動(dòng)執(zhí)行”的更高階協(xié)作。1. 從“聊天”到“工作流”理解 Work 模式的本質(zhì)轉(zhuǎn)變要理解 Work 模式的價(jià)值首先要跳出“聊天”的思維定式。傳統(tǒng)的 ChatGPT 對(duì)話是狀態(tài)短暫的。你關(guān)閉網(wǎng)頁(yè)對(duì)話歷史雖然保存但那個(gè)包含了上下文、角色設(shè)定和臨時(shí)指令的“會(huì)話狀態(tài)”就結(jié)束了。下次即使打開同樣的歷史記錄你也需要重新建立上下文或者手動(dòng)復(fù)制粘貼關(guān)鍵信息。Work 模式引入了一個(gè)核心概念可復(fù)用的對(duì)話模板。你可以把它想象成編程中的一個(gè)函數(shù)。你定義好這個(gè)函數(shù)的輸入?yún)?shù)初始提示詞、系統(tǒng)指令、用戶消息模板、處理邏輯多輪對(duì)話的固定結(jié)構(gòu)和輸出格式。之后你只需要更換輸入數(shù)據(jù)就能批量“調(diào)用”這個(gè)函數(shù)得到結(jié)構(gòu)化的輸出。1.1 Work 模式解決了哪類具體問(wèn)題根據(jù)我的使用體驗(yàn)以下幾類任務(wù)特別適合用 Work 模式來(lái)優(yōu)化結(jié)構(gòu)化內(nèi)容生成比如你每周都需要根據(jù)一堆產(chǎn)品數(shù)據(jù)生成一份包含市場(chǎng)趨勢(shì)、競(jìng)品分析和行動(dòng)建議的周報(bào)。在 Work 模式里你可以創(chuàng)建一個(gè)“周報(bào)生成器”工作流。第一步讓 AI 提取數(shù)據(jù)中的關(guān)鍵指標(biāo)第二步基于指標(biāo)分析趨勢(shì)第三步結(jié)合趨勢(shì)給出建議。每次只需輸入新的數(shù)據(jù)表格就能自動(dòng)走完這三步輸出格式統(tǒng)一的周報(bào)草稿。多步驟信息處理例如從一篇長(zhǎng)文章中提取核心觀點(diǎn)然后將觀點(diǎn)翻譯成另一種語(yǔ)言最后再根據(jù)翻譯內(nèi)容生成一個(gè)社交媒體帖子。手動(dòng)操作需要三次獨(dú)立的對(duì)話并且要傳遞中間結(jié)果。在 Work 模式中你可以把“提取-翻譯-生成”這三步固化下來(lái)一次性完成。標(biāo)準(zhǔn)化問(wèn)答與審核客服常見問(wèn)題模板、代碼審查清單、內(nèi)容合規(guī)性檢查等。你可以建立一個(gè)審核工作流輸入待檢查的文本AI 會(huì)按照預(yù)設(shè)的多個(gè)維度如語(yǔ)法、邏輯、合規(guī)點(diǎn)依次檢查并輸出結(jié)果列表。1.2 一個(gè)關(guān)鍵認(rèn)知Work 模式不是“魔法”而是“流程封裝”很多人期待 Work 模式能“一鍵解決所有問(wèn)題”這是不現(xiàn)實(shí)的。它的核心價(jià)值在于“封裝”和“復(fù)用”。你依然需要清晰地定義每一步要做什么給出明確的指令并設(shè)計(jì)好步驟之間的信息傳遞。它的優(yōu)勢(shì)在于一旦你花時(shí)間調(diào)試好一個(gè)高效的工作流后續(xù)的每一次執(zhí)行都是低成本、高一致性的。這就像你寫了一個(gè) Shell 腳本來(lái)自動(dòng)化部署。第一次寫腳本可能花了你一小時(shí)比手動(dòng)部署還慢。但之后每次部署你只需要運(yùn)行這個(gè)腳本幾秒鐘就完成了。Work 模式就是給 ChatGPT 的交互過(guò)程寫“腳本”。2. 實(shí)戰(zhàn)構(gòu)建你的第一個(gè)文檔分析工作流理論說(shuō)再多不如動(dòng)手試一次。我們以一個(gè)具體的場(chǎng)景為例分析一批技術(shù)博客文章提取其核心主題、技術(shù)棧關(guān)鍵詞并評(píng)估其內(nèi)容深度入門/進(jìn)階/專家級(jí)。在普通聊天模式下你可能需要這樣操作復(fù)制第一篇博客內(nèi)容問(wèn)“請(qǐng)?zhí)崛∵@篇文章的核心主題。”復(fù)制 AI 回復(fù)的主題再問(wèn)“這篇文章提到了哪些技術(shù)棧關(guān)鍵詞”最后再問(wèn)“你認(rèn)為這篇文章的內(nèi)容深度如何” 然后對(duì)第二篇、第三篇博客重復(fù)上述所有步驟。下面我們看看如何在 Work 模式中將其固化。2.1 創(chuàng)建工作流與定義系統(tǒng)角色首先進(jìn)入 ChatGPT 界面找到創(chuàng)建或管理 Work 的入口具體位置可能因版本更新而變化通常在側(cè)邊欄或設(shè)置中。創(chuàng)建一個(gè)新的 Work。第一步也是最重要的一步是設(shè)定清晰的“系統(tǒng)指令”。這相當(dāng)于定義了這個(gè)工作流的全局角色和任務(wù)邊界。系統(tǒng)指令示例 你是一個(gè)技術(shù)內(nèi)容分析師。你的任務(wù)是按步驟分析用戶提供的技術(shù)博客文章。請(qǐng)嚴(yán)格遵循以下步驟執(zhí)行并在每個(gè)步驟后等待我的確認(rèn)或提供下一步所需的輸入。最終輸出一個(gè)結(jié)構(gòu)化的 JSON 格式結(jié)果。這個(gè)系統(tǒng)指令明確了角色技術(shù)內(nèi)容分析師、任務(wù)分析博客和模式分步驟、結(jié)構(gòu)化輸出。2.2 設(shè)計(jì)多輪對(duì)話步驟接下來(lái)不是直接開始聊天而是規(guī)劃對(duì)話的步驟。在 Work 模式中你可以預(yù)先添加多個(gè)“消息塊”并設(shè)定它們的類型用戶/助手和內(nèi)容。我們可以設(shè)計(jì)三個(gè)步驟步驟一用戶消息請(qǐng)分析以下技術(shù)博客文章提取其最核心的1個(gè)主題。 文章內(nèi)容 {{article_content}}這里{{article_content}}是一個(gè)變量占位符。這是 Work 模式的關(guān)鍵功能之一。執(zhí)行工作流時(shí)你需要為這個(gè)變量提供實(shí)際值。步驟二用戶消息基于上述文章和已提取的主題列出文中提到的所有技術(shù)棧關(guān)鍵詞如編程語(yǔ)言、框架、工具等最多10個(gè)。注意這里指令中提到了“上述文章”和“已提取的主題”。在 Work 模式運(yùn)行時(shí)AI 是能看到整個(gè)對(duì)話上下文的因此它知道“上述”指的是什么。步驟三用戶消息綜合主題和關(guān)鍵詞判斷這篇文章的內(nèi)容深度。請(qǐng)從以下三個(gè)級(jí)別中選擇其一 - 入門級(jí)面向新手介紹基礎(chǔ)概念和簡(jiǎn)單操作。 - 進(jìn)階級(jí)需要一定前置知識(shí)探討實(shí)現(xiàn)原理、最佳實(shí)踐或中等復(fù)雜度方案。 - 專家級(jí)涉及底層機(jī)制、架構(gòu)設(shè)計(jì)、性能優(yōu)化或前沿探索。 請(qǐng)簡(jiǎn)要說(shuō)明理由。2.3 定義輸出與執(zhí)行最后你需要告訴 AI 最終如何呈現(xiàn)結(jié)果。可以在最后一步或者通過(guò)系統(tǒng)指令來(lái)要求。最終輸出要求可放在系統(tǒng)指令或最后一步 請(qǐng)將以上三步的分析結(jié)果整合以如下 JSON 格式輸出{ core_topic: 提取的核心主題, tech_keywords: [關(guān)鍵詞1, 關(guān)鍵詞2, ...], content_depth: { level: 入門級(jí)/進(jìn)階級(jí)/專家級(jí), reason: 判斷理由 } }工作流設(shè)計(jì)完成后保存。當(dāng)你需要分析一篇新文章時(shí)你只需要打開這個(gè)工作流。在運(yùn)行界面將變量{{article_content}}替換為真實(shí)的博客文本。點(diǎn)擊運(yùn)行。AI 會(huì)自動(dòng)按步驟執(zhí)行并最終輸出一個(gè)結(jié)構(gòu)化的 JSON 對(duì)象。這才是效率的飛躍你不再需要手動(dòng)分三次提問(wèn)、復(fù)制粘貼中間結(jié)果。你定義了一次流程之后就是“輸入文章 - 獲得結(jié)構(gòu)化報(bào)告”的自動(dòng)化操作。3. 進(jìn)階技巧讓工作流更可靠、更強(qiáng)大一個(gè)能跑通的工作流只是開始。要讓它在實(shí)際工作中可靠、高效地運(yùn)行還需要考慮以下幾個(gè)進(jìn)階問(wèn)題。3.1 處理長(zhǎng)文本與上下文管理技術(shù)博客文章可能很長(zhǎng)超出模型的單次上下文限制。直接拋入長(zhǎng)文本可能導(dǎo)致截?cái)嗷蚍治霾蝗=鉀Q方案預(yù)處理摘要可以在工作流外部先用一個(gè)簡(jiǎn)單的提示詞讓 AI 對(duì)長(zhǎng)文進(jìn)行摘要再將摘要輸入工作流。或者在工作流內(nèi)部第一步就增加一個(gè)“生成摘要”的環(huán)節(jié)。分塊處理對(duì)于需要全文分析的任務(wù)可以設(shè)計(jì)工作流先對(duì)文章進(jìn)行分塊如按章節(jié)然后對(duì)每一塊執(zhí)行分析最后再有一個(gè)步驟來(lái)匯總各塊結(jié)果。這需要更復(fù)雜的設(shè)計(jì)但能處理任意長(zhǎng)度的文檔。明確指令在系統(tǒng)指令中要求 AI“如果輸入文本過(guò)長(zhǎng)請(qǐng)專注于開頭引言、各級(jí)標(biāo)題和結(jié)論段落進(jìn)行分析以獲取核心信息。”3.2 提高輸出的一致性與準(zhǔn)確性AI 的輸出可能存在波動(dòng)性同一篇文章運(yùn)行兩次提取的關(guān)鍵詞可能略有不同。解決方案細(xì)化指令不要只說(shuō)“提取關(guān)鍵詞”。改為“提取文中明確提及的、具體的軟件技術(shù)名稱如‘Python’、‘React’、‘Docker’、‘Kubernetes’。忽略泛指的詞匯如‘系統(tǒng)’、‘工具’、‘平臺(tái)’。”提供示例在系統(tǒng)指令中給出一個(gè)例子One-shot/Few-shot Learning讓 AI 模仿輸出格式和風(fēng)格。后處理校驗(yàn)對(duì)于要求極高的場(chǎng)景可以將工作流的輸出作為初稿再添加一個(gè)“人工校驗(yàn)或AI二次校驗(yàn)”的步驟。例如讓另一個(gè) AI 角色檢查提取的關(guān)鍵詞是否都確實(shí)在原文中出現(xiàn)過(guò)。3.3 工作流的參數(shù)化與批量處理真正的威力在于批量處理。你可能有幾十上百篇文章需要分析。操作思路確保工作流高度參數(shù)化就像上面的例子只有{{article_content}}是變量。其他指令都應(yīng)固化。準(zhǔn)備輸入數(shù)據(jù)將多篇文章內(nèi)容整理成一個(gè)列表如 CSV 文件每行一篇文章。通過(guò) API 調(diào)用這是實(shí)現(xiàn)自動(dòng)化的關(guān)鍵。ChatGPT 提供 API你可以寫一個(gè)簡(jiǎn)單的腳本Python 等讀取你的文章列表。為每一篇文章構(gòu)建一個(gè) API 請(qǐng)求請(qǐng)求中包含了你的整個(gè)工作流定義系統(tǒng)消息、對(duì)話歷史和當(dāng)前文章的變量值。發(fā)送請(qǐng)求接收并解析返回的 JSON 結(jié)果。將結(jié)果保存到數(shù)據(jù)庫(kù)或文件中。# 概念性示例代碼非直接可運(yùn)行 import openai import json # 你的工作流定義簡(jiǎn)化表示 workflow_messages [ {role: system, content: 你是技術(shù)內(nèi)容分析師...}, {role: user, content: 請(qǐng)分析以下文章...\n{{article}}}, # ... 更多步驟 ] def analyze_article(article_text): # 將變量替換為實(shí)際文章 messages [msg if msg[content].find({{article}}) -1 else {role: msg[role], content: msg[content].replace({{article}}, article_text)} for msg in workflow_messages] response openai.ChatCompletion.create( modelgpt-4, # 或你使用的模型 messagesmessages, temperature0.2, # 降低隨機(jī)性提高一致性 ) # 解析返回的 JSON 結(jié)果 result_text response.choices[0].message.content # 這里假設(shè) AI 返回的是純 JSON 字符串 try: return json.loads(result_text) except: return {error: result_text} # 批量處理 articles [文章1內(nèi)容, 文章2內(nèi)容, ...] all_results [] for article in articles: result analyze_article(article) all_results.append(result) # 可選添加延遲以避免速率限制通過(guò) API 批量調(diào)用你就能實(shí)現(xiàn)全自動(dòng)的、大規(guī)模的內(nèi)容分析流水線。4. 避坑指南與長(zhǎng)期使用思考Work 模式很強(qiáng)大但如果不注意一些細(xì)節(jié)很容易踩坑或者覺得它“不好用”。4.1 常見問(wèn)題與排查輸出格式不穩(wěn)定AI 有時(shí)可能不嚴(yán)格按照你要求的 JSON 格式輸出而是輸出一段文字。對(duì)策在指令中強(qiáng)烈要求例如“你必須且只能輸出一個(gè)合法的 JSON 對(duì)象不要有任何額外的解釋、前綴或后綴。” 同時(shí)在代碼中做好異常處理如果解析 JSON 失敗可以記錄原始輸出以便調(diào)試。變量替換失敗執(zhí)行時(shí)發(fā)現(xiàn)變量{{var}}沒有被替換。對(duì)策檢查工作流編輯界面確認(rèn)變量名書寫一致包括大小寫。確保在執(zhí)行界面正確地為變量賦值。如果是通過(guò) API 調(diào)用確保你的替換邏輯正確。上下文混淆在多輪復(fù)雜工作流中AI 可能會(huì)搞錯(cuò)步驟之間的信息歸屬。對(duì)策簡(jiǎn)化工作流設(shè)計(jì)避免過(guò)多的分支和循環(huán)當(dāng)前 Work 模式對(duì)復(fù)雜邏輯支持有限。在每一步的指令中明確引用所需的信息例如“基于第一步中提取的主題進(jìn)行如下分析...”。Token 消耗與成本工作流步驟越多對(duì)話越長(zhǎng)消耗的 Token 就越多API 調(diào)用成本越高。對(duì)策優(yōu)化指令去除冗余描述。對(duì)于長(zhǎng)文本輸入考慮先進(jìn)行本地預(yù)處理如提取關(guān)鍵段落。對(duì)于非關(guān)鍵步驟可以考慮使用更經(jīng)濟(jì)的模型如果支持。4.2 Work 模式 vs. 自定義GPTs vs. API直接編程你可能會(huì)有疑問(wèn)Work 模式、OpenAI 的 GPTs 功能以及直接用 API 編程有什么區(qū)別該如何選擇特性ChatGPT Work 模式OpenAI GPTs直接調(diào)用 API 編程上手難度低在聊天界面內(nèi)可視化配置中需要配置指令、知識(shí)庫(kù)、動(dòng)作高需要編程能力靈活性中適合線性、多步驟對(duì)話流程中高可以結(jié)合知識(shí)庫(kù)和外部動(dòng)作極高可實(shí)現(xiàn)任意復(fù)雜邏輯復(fù)用與分享中可在賬戶內(nèi)復(fù)用分享可能受限高可發(fā)布給他人使用高代碼本身易于分享和版本管理自動(dòng)化程度低依賴手動(dòng)觸發(fā)或簡(jiǎn)單調(diào)度中可通過(guò) API 或界面觸發(fā)極高可集成進(jìn)任何系統(tǒng)全自動(dòng)調(diào)度適用場(chǎng)景個(gè)人或小團(tuán)隊(duì)將常用復(fù)雜對(duì)話流程化構(gòu)建具有特定知識(shí)和能力的 AI 助手并對(duì)外提供企業(yè)級(jí)應(yīng)用需要穩(wěn)定、高性能、定制化的 AI 集成如何選擇如果你是個(gè)人用戶只是想把自己在 ChatGPT 里經(jīng)常重復(fù)的一套提問(wèn)方法保存下來(lái)Work 模式是最快、最直接的選擇。如果你想構(gòu)建一個(gè)功能更完整、可以對(duì)外分享的專用助手比如一個(gè)代碼評(píng)審助手內(nèi)置了代碼規(guī)范知識(shí)并且不想寫代碼那么GPTs更合適。如果你需要將 AI 能力深度集成到自己的軟件系統(tǒng)、后臺(tái)服務(wù)或批量數(shù)據(jù)處理管道中追求完全的掌控力、自動(dòng)化調(diào)度和成本優(yōu)化那么直接使用 API 并編寫程序是唯一的選擇。Work 模式可以作為一個(gè)很好的原型設(shè)計(jì)工具幫你驗(yàn)證流程然后再用代碼實(shí)現(xiàn)。4.3 長(zhǎng)期價(jià)值從使用工具到設(shè)計(jì)流程最終ChatGPT Work 模式帶給我的最大啟發(fā)不是多了一個(gè)功能而是思維模式的轉(zhuǎn)變。它促使我們從一個(gè)被動(dòng)的“工具使用者”轉(zhuǎn)變?yōu)橐粋€(gè)主動(dòng)的“流程設(shè)計(jì)者”。以前我們遇到問(wèn)題思考的是“我怎么向 AI 提問(wèn)才能得到答案”。現(xiàn)在我們可以思考“這個(gè)問(wèn)題可以分解為哪幾個(gè)標(biāo)準(zhǔn)步驟每個(gè)步驟的輸入輸出是什么如何把它們串聯(lián)成一個(gè)穩(wěn)定可靠的流程”這種思維不僅適用于 ChatGPT也適用于我們使用其他軟件、管理項(xiàng)目、甚至處理日常工作。它關(guān)乎的是如何將隱性的、依賴個(gè)人臨場(chǎng)發(fā)揮的經(jīng)驗(yàn)轉(zhuǎn)化為顯性的、可重復(fù)、可優(yōu)化、可移交的標(biāo)準(zhǔn)化流程。這或許才是 AI 時(shí)代我們最需要培養(yǎng)的核心能力之一。Work 模式正是練習(xí)這種能力的一個(gè)絕佳沙盒。