這一課會完成什麼
- 用同一份執行契約與證據台帳,接起各課的實作產出
- 先依權限篩選來源,再讓每項主張對得上引註;查不到就明列未知
- 以固定評測集驗證停止、審查、故障處理與中斷後的復原
- 把架構、品質、成本、風險與範圍整理成有證據支持的試行決策
開始前先準備
- • 完成模組 0 到 10 的交付檔案,或已有同等且通過測試的實作
- • 準備合成或已授權的資料集,每筆資料都有來源 ID、權限、時效與來源紀錄
- • 使用非正式環境與模擬轉接層,指定負責研究證據與營運決策的審查者
先把定義說清楚
行銷研究總整專案
這個總整專案(Capstone)要把前面各課的產出接成一項有明確範圍的研究服務。系統接收結構化問題,提出可供審查的計畫,以核准的唯讀工具蒐集資料,記下每項主張對應的來源,再按預算與停止條件交付研究摘要。摘要要寫出反例、未知事項與適用限制;交付時另附測試、執行軌跡、評測結果、成本試算、操作手冊與試行決策,讓另一位工程師能重跑並核對。
行銷研究需要探索未知問題,也要嚴格核對證據。搜尋範圍、來源規則、主張依據、權限與審查責任,都得落在實作中,才能評估 Agent 是否適合這項工作。
另一位工程師應能重跑系統、查出每個決定的依據。為此要固定介面、資料集版本、驗收門檻與失敗案例,並保留可重播的執行軌跡。
研究建議可能影響預算與產品定位,即使系統沒有外部寫入能力,也需要標明不確定性,並由人簽核。來源不足的結論,不能靠文字流暢度補足。
現場情境
Mariner category-entry research
具名合成情境。Mariner Cloud、市場、文件、研究問題、指標、評測與決策都是課程測試資料;範例結果不構成商業建議,也不是 Tenten 的客戶專案。
- 負責人
- 你負責 B2B 產品行銷團隊的工程實作與研究營運。
- 要做的決策
- 依證據判斷要做限定範圍的探索研究、補充資料,或否決市場類別假設,並列出哪些新事實會改變決定。
- 目前狀態
- Mariner 正在考慮進入新的工作流程自動化類別。已核准資料集共 74 份:48 段合成訪談節錄、12 個附擷取日期的產品或定價頁、8 份分析筆記、6 份內部成交與失單摘要。其中 10 份文件只限產品主管閱讀。另備有 30 個案例的回歸測試集,以及模擬的唯讀 CRM。
- 預期成果
- 交付精簡的研究摘要、來源台帳、未知事項、反向證據、審查紀錄、執行軌跡、評測報告與限定範圍的試行決策。未達最低證據涵蓋要求時,暫不下結論。
限制條件
- • 系統可搜尋、檢索、計算與起草;不得發布、聯絡潛在客戶、修改 CRM 或購買資料。
- • 研究摘要中的每個事實句,都要引用讀者有權查看的來源 ID。缺乏直接支持時,明確標成推論、假設或未知。
- • 語意或關鍵字排序前,先按執行者權限篩選文件;未授權審查者的執行軌跡與輸出也不得出現受限段落。
- • 每次執行最多 10 個模型回合、16 次工具呼叫、2 個平行研究分支、120 秒,以及 USD 2.00 的教學測試預算。
- • 分析師須核准證據資料包與最終建議;這份核准不授予任何外部操作權限。
實作範例
6 段訪談中有 2 段反例,研究結論該怎麼改?
證據類型: 具名模擬情境規劃器把問題拆成買方痛點、轉換誘因、替代方案與證據門檻。一個分支找到 6 段已核准訪談,提到報表延遲;另一個找到目前定價頁與 2 份成交及失單筆記。原草稿寫『mid-market buyer 在 weekly reporting failure 後會一致改掉 spreadsheet』。逐項核對後,只有 4 段訪談支持這項觀察,另有 2 段認為試算表已足夠。成交與失單資料也太少,無法估計這種情況有多普遍。
驗證器拒絕 consistently 這個概括用詞,將普遍程度標為未知,把發現限縮到這 4 段訪談中的觀察(原稿記為『4 段 cited interview 觀察到的 bounded pattern』)。摘要保留 2 個反例,建議先做 10 次訪談的探索研究,聚焦報表製作頻率,暫不進入新市場類別。分析師核准修訂版,註記訪談選樣偏差;原本的一般化主張未通過。
合成範例最後有 0 個未附引註的事實句。每項主張連到來源 ID、擷取日期、存取分類、支持段落、反向證據與信心水準的理由。系統在 8 個回合、12 次工具呼叫內停止,未超出教學測試預算,也未執行外部操作。這份建議僅支援研究決策,仍不能證明市場需求。
主張限制
Mariner 的資料與結果全為虛構。Triple Whale 來源描述供應商公開的真實分析 Agent 架構及成果,不能拿來驗證本專案,也不能把其數字套用過來。Anthropic 的多 Agent 數字同樣只適用原公開設定。本專案須報告自己的資料集、權限、模型與工具版本、試跑次數、錯誤及審查決策。
做法
照著做,每一步都有檢查點
現場情境
依證據判斷要做限定範圍的探索研究、補充資料,或否決市場類別假設,並列出哪些新事實會改變決定。
- 01先固定研究問題與架構
- 02先驗權限,再檢索資料
- 03把研究迴圈的上限寫進程式
驗收條件
以一個指令重跑限定範圍的唯讀系統及全部關鍵驗收,清楚呈現暫不下結論、拒絕、停止與恢復的結果。這只能證明指定測試範圍通過,不能概括成適合所有正式環境。
- 01
先固定研究問題與架構
寫清需求格式、要支援的決策、允許來源、禁止操作、預算、審查者與暫不下結論的條件。用相同的小型基準任務,比較固定程式流程、單 Agent,以及可選的雙分支,再選控制流程。
檢查點 · 架構紀錄列出通過驗收的最簡方案、未採用方案、可量測理由、權限、停止條件與降級路徑。
- 02
先驗權限,再檢索資料
匯入 74 份合成文件,保留來源 ID、擷取日期、負責人、存取分類、文件脈絡與片段來源。先按執行者權限篩選,再做語意或關鍵字排序;用標準題目測必要來源召回率與引註正確性。
檢查點 · 未授權身分取得 0 個受限片段;每段回傳資料保留來源紀錄,報告分開呈現檢索召回率與答案品質。
- 03
把研究迴圈的上限寫進程式
使用有型別的工具契約與應用程式狀態,檢查階段及預算,最多啟動 2 個獨立分支。證據去重後保存精簡筆記、來源 ID 與停止原因,避免每次都重播無上限的對話紀錄。
檢查點 · 測試證明回合、呼叫、分支、時間與費用上限有效;重啟能接回已存階段,所有路徑都無法呼叫未登錄或可寫入的工具。
- 04
先核對主張,再寫成摘要
建立主張台帳,逐項檢查來源是否存在、權限、擷取日期、段落是否支持主張、矛盾、推論標記與資料缺口。分析師先核准台帳,再據此產生摘要,保留限制與反例。
檢查點 · 最後摘要有 0 個未附引註的事實句;預設的不受支持、過期、互相矛盾與無權讀取案例,分別回傳不同原因碼。
- 05
保留全部試跑結果,檢查關鍵失敗
基準版與候選版都跑 30 個案例,每案 3 次。測提示注入、被污染的中繼資料、缺文件、工具格式錯誤、連接器中斷、過期核准、預算用盡、重複恢復與證據含糊,再人工核對關鍵軌跡。
檢查點 · 關鍵失敗必須為 0,否則判 no-go。報告附設定、類別分組、一致性、尾端表現、評判者校準、事故與未解失敗,保留全部試跑。
- 06
由接手者重跑,再簽試行決策
示範 1 次正常完成、1 次暫不下結論、1 次權限拒絕、1 次重啟與 1 次緊急停止。計算每次執行成本與審查負擔,列出風險、試行條件、監測負責人、操作手冊、回復方式與會改變決定的新事實。
檢查點 · 未參與實作的人能重跑並簽核限定範圍試行、待補件後再審,或 no-go;決策明列負責人、適用範圍與重新審查條件。
實務脈絡
展示版之後
先接好整條研究流程
把需求格式、研究計畫、工具契約、權限檢索、主張台帳、分析師核准與最後摘要接成同一條流程。核准要綁定資料與規則版本;執行軌跡、評測、成本及事故紀錄也引用相同發布、資料集與權限版本,才能互相核對。
為 74 份文件建立清單:48 段合成訪談、12 個產品或定價頁、8 份分析筆記、6 份成交與失單摘要。每份記下負責人、日期、存取分類、時效與來源 ID。其中 10 份限產品主管閱讀,用來測試越權洩漏。標準案例另含未授權、過期、反例、空結果與已刪除來源;受限內容只要出現在候選資料、軌跡、精簡筆記或摘要,關鍵驗收就不通過。
每個研究分支先列子問題、允許來源、最低證據量、反例與停止條件。只把相互獨立的問題或公司研究拆成平行分支,合併前去重、核對版本與權限。達到 10 個回合或 16 次工具呼叫就停止,保留缺口,不為了交齊答案補造資料。
主張台帳:把觀察、推論與未知分開
台帳逐項保存主張原文、狀態、來源 ID、支持段落、矛盾、日期、限制與審查者。直接支持的範圍只限已宣告資料集;推論、假設與未知要另行標記。先由程式檢查來源、權限與版本,再由人核對段落是否真能支持主張。轉成摘要時,原有的限制條件也要保留。
4 段訪談只能支持這 4 段中的觀察,不能據此估計整個市場有多普遍。另 2 段反例須一起列出。審查者可以縮小主張、補限制、標未知、加反例或移除來源;把這些修改留下來,加入後續測試。建議也要列優缺點、選樣偏差、缺失事實與會改變決定的條件。
最後核對讀者實際看到的摘要:來源仍可用、目前讀者有權閱讀、版本一致,標題與摘要沒有把限制拿掉。圖表中的數字主張同樣附來源與計算方式,不能只在內部台帳留證據。
測試洩漏、故障與重新啟動
威脅模型至少涵蓋訪談中的提示注入、公開工具結果夾帶命令、受限摘要洩漏、過期來源、重複恢復,以及把推論當事實的人工作業。每項風險列控制方式、偵測方法、測試案例與負責人。唯讀系統仍可能給出錯誤決策,不能省略這些檢查。
從乾淨資料庫與索引,以固定指令重跑 30 個案例,每案 3 次,保留全部結果、設定與雜湊。另示範正常完成、暫不下結論、權限拒絕、中斷重啟與緊急停止 5 條路徑。文件說清版本、環境、機密設定與失敗後的處理方式,讓接手者能重現。
再刻意移除 1 個來源。系統應縮小結論或停止,而非改查未核准的網站。這個測試用來確認缺資料時仍守住來源規則,不會為了交付而臨時擴大權限。
用完整交付檔案決定是否試行
交付目錄附清單與閱讀順序:先看範圍及關鍵驗收,再看架構、資料、評測、成本與事故。每份檔案記下負責人、產生方式與日期;自動產生的資料附重跑指令,人工決策附簽核。審查時檢查關鍵案例涵蓋、延遲、成本、審查工時、事故與操作手冊,最後決定限定範圍試行、待補件後再審,或 no-go。
試行紀錄列研究問題、資料、可閱讀者、操作上限、審查者、重大失敗、停止與復原方式,以及重新審查日期。合成資料上的通過結果不授予真實資料存取權;資料、權限、模型或工具版本改變,就重新驗證。改接真實服務前,還要取得資料授權、完成威脅審查、確認供應商當前行為並在目標環境評測。
工程負責人簽型別、權限、狀態、停止與復原;研究負責人簽來源、主張、反例與限制;營運負責人簽費用、警示、值班、停止與試行範圍。三份結果合成一份決策紀錄,列未解風險與期限。各角色只簽自己的責任,不能以簡報看起來完整或測試通過,就代替其他審查。
動手實作
交付研究證據包與試行決策
建立 Mariner 唯讀研究服務,用固定的合成資料評測,再刻意測試惡意輸入與失敗情況。根據完整交付檔案,決定小範圍試行或 no-go。
準備項目
- • 另開程式庫放起始範本,加入 lint、typecheck、單元測試、測試資料檢查,以及一個執行固定評測集的指令。
- • 記錄資料集負責人;移除缺少權限、擷取日期或穩定識別碼的來源。
- • 分開工程驗收、證據審查與營運決策。獨自練習時,也依序扮演不同角色,分別留下紀錄。
本課產出
可執行的唯讀程式庫、架構紀錄、資料集清單、威脅模型、證據台帳、已審查摘要、30 個案例的重複試跑報告、成本試算表、5 份事故紀錄、操作手冊、展示指令稿,以及簽核的試行或 no-go 備忘錄。
起始模板: Capstone run contract
TypeScripttype Evidence = {
sourceId: string;
capturedAt: string;
accessClass: "public" | "approved-internal" | "product-leads";
excerpt: string;
supports: string[];
contradicts: string[];
};
type Claim = {
id: string;
text: string;
status: "supported" | "inference" | "hypothesis" | "unknown";
sourceIds: string[];
limitation: string;
};
type ResearchRun = {
runId: string;
actorId: string;
question: string;
corpusVersion: "mariner-corpus-v1";
policyVersion: "research-read-v1";
budgets: { turns: 10; toolCalls: 16; parallelBranches: 2; wallMs: 120000; usd: 2 };
evidence: Evidence[];
claims: Claim[];
openQuestions: string[];
terminal: "complete" | "needs_evidence" | "review_denied" | "budget_stop" | "failed";
};
const releaseGates = {
uncitedFactualClaims: 0,
unauthorizedSourceExposures: 0,
prohibitedEffects: 0,
nonterminalRuns: 0,
taskSuccessRateMin: 0.90,
};
// Required stages: validate intake, plan, retrieve with permissions,
// assemble evidence, draft claims, verify claims, request review, finalize.
// Persist an event after each stage and recheck budgets before the next one.預期結果
以一個指令重跑限定範圍的唯讀系統及全部關鍵驗收,清楚呈現暫不下結論、拒絕、停止與恢復的結果。這只能證明指定測試範圍通過,不能概括成適合所有正式環境。
留給下一課
把程式庫與證據包保留為參考實作。改用真實資料前,先取得資料授權,審查連接器威脅與供應商當前行為,在目標環境評測、演練事故,並由權責主管核准。合成資料的結果不能直接沿用。
驗收條件
- 01每項事實主張可追到有權限使用的來源 ID,推論、假設、未知與反向證據都有明確標記。
- 02執行器強制權限、登錄工具、唯讀範圍、預算、停止、核准、冪等性與中斷後恢復,模型無法繞過。
- 0330 個案例各跑 3 次,關鍵失敗必須為 0;否則決策保持 no-go,不能用平均分數抵銷。
- 04程式庫、清單、台帳、摘要、評測、成本、事故、操作手冊、展示指令稿與簽核決策完整,且能由接手者重現。
常見故障
故障診間
F1摘要附了來源,段落卻不支持旁邊的主張。
- 先檢查
- 逐一開啟引註段落,核對意思與適用範圍,追查主張在檢索後何時被改寫。
- 可能原因
- 先寫草稿再補看似相關的來源,沒有依已核對的主張台帳組成摘要。
- 修復方式
- 退回不受支持的主張,從來源段落重寫,並列出矛盾與不確定性。
- 下次怎麼避免
- 主張與來源核對是產生文件與人工核准前的必要門檻,失敗就不發布摘要。
F2未授權的審查者能從摘要推知受限內容。
- 先檢查
- 按審查者身分追查來源權限、快取筆記、分支彙整、模型脈絡與輸出。
- 可能原因
- 檢索後才篩權限,或受限發現從共用狀態流入其他分支。
- 修復方式
- 清除該次執行資料,在排序前篩權限、隔離分支狀態,按實際使用者規則重做。
- 下次怎麼避免
- 資料集或提示詞每次變更,都用不同身分測直接洩漏與推知受限內容的風險。
F3每個新來源又帶出新問題,研究一直停不下來。
- 先檢查
- 檢查涵蓋要求、新增證據價值、重複查詢、預算與停止原因的評測。
- 可能原因
- 計畫只有大方向,未定義證據門檻、收益遞減規則與程式停止條件。
- 修復方式
- 停止執行並列未解問題;要繼續研究,另開已核准的範圍。
- 下次怎麼避免
- 逐項設定證據目標、分支與回合上限、去重規則,以及暫不下結論的條件。
F4展示成功,另一位工程師卻無法重跑。
- 先檢查
- 比較資料集、模型、工具、規則、提示詞、環境、隨機種子、時鐘與未提交的本機狀態。
- 可能原因
- 結果依賴未記錄的設定、持續變動的外部資料,或人工挑選的有利輸出。
- 修復方式
- 固定測試資料與清單,改由指令執行,保留全部試跑並記錄無法避免的外部變動。
- 下次怎麼避免
- 最終審查前,要求從乾淨環境重現並核對交付檔案雜湊。
展示版之後
正式上線前的邊界
- 01列出研究決策、來源規則、暫不下結論的條件、審查者與禁止操作。
- 02檢索前先篩來源權限;來源紀錄一路保留到片段、筆記、主張與輸出。
- 03輸入、工具、狀態、證據、主張、核准、停止原因與錯誤都有型別。
- 04回合、呼叫、分支、時間、位元組與支出上限,由應用程式強制執行。
- 05分別評測檢索、主張、結果、軌跡、規則、操作、一致性、延遲、成本與審查負擔。
- 06保留可串聯且已遮蔽敏感資訊的軌跡、有版本的交付檔案、審查決策及可重現的發布證據。
- 07演練提示注入、服務中斷、過期資料、格式錯誤、操作結果未知、撤權、回復版本與人工備援。
- 08只按簽核範圍上線,指定負責人、緊急停止權責、監測、審查日期與擴大範圍的驗收門檻。
證據類型
資料來源與主張限制
資料來源只支撐本課標示的主張,不代表換一個系統也會得到相同結果。
- [1]Structured model outputsschema 遵循 · refusal 處理 · 不完整輸出處理
OpenAI · 官方文件 · 2026-08-20
- [2]Function callingstrict function schema · 平行呼叫 · tool-call 狀態機
OpenAI · 官方文件 · 2026-08-20
- [3]評測 agent workflowtrace grading · 資料集 · 可重複的 eval 執行
OpenAI · 官方文件 · 2026-08-20
- [4]Anthropic 如何打造 multi-agent 研究系統廣度優先委派 · 平行研究 · multi-agent 成本限制
Anthropic · 公開案例 · 2026-08-20
- [5]拆解 AI agent evals結果與軌跡評分 · 重複試跑 · 隔離的評測環境
Anthropic · 官方文件 · 2026-08-20
- [6]Triple Whale 用 Claude 推動業務成長行銷分析 agent · 專用分析工具 · 供應商公開的成效數字
Anthropic / Claude · 公開案例 · 2026-08-20
延伸的 Tenten 資源