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