VerifyLoop:面向 Agent 的雙向持續驗證與糾錯協議

EVEMISSLAB Logic Matrix · EveMissLab / 一言諾科技有限公司

[認識論邊界宣告 / EPISTEMOLOGICAL DISCLAIMER]

[CHT] 本矩陣內所有論文之公式與數據為「啟發式模擬參數」,用於驗證理論架構與推演因果鏈,未經實證校準,請勿作為現實物理測量數據引用 or 處理。EVEMISSLAB 採行「邏輯先行(Logic-First)」原則:概念架構與系統因果映射優先於統計實證,但不排除未來實證對接。


[ENG] The numerical parameters within these frameworks are illustrative model coefficients used for structural verification and causal mapping; they are not empirically calibrated and must not be treated as physical measurements. This matrix operates on a Logic-First principle: conceptual architecture and causal mapping take precedence over statistical empiricism, without precluding future empirical reconciliation.

VerifyLoop:面向 Agent 的雙向持續驗證與糾錯協議

從生成式回答到可追蹤、可回溯、可修正的 Agent 工作流

作者:Neo.K 機構:EveMissLab / 一言諾科技有限公司 版本:Open Protocol Draft v0.1 類型:Agent 方法論 / 開源協議白皮書 / Reliability Layer / Trace-based Verification 日期:2026 7月


摘要

大型語言模型與 Agent 系統正在從「單次回答器」轉向「多步工作流執行器」。在這個轉換中,可靠性問題不再只是最後答案是否正確,而是整個 Agent 軌跡是否可追蹤、可回溯、可驗證、可修正。一次錯誤的計畫、一個不存在的檢索結果、一個被誤讀的工具回傳、一個未被標記的不確定推論,都可能沿著多步流程擴散,最終形成看似流暢但不可被信任的輸出。

本文提出 VerifyLoop:一套面向 Agent 工作流的雙向持續驗證與糾錯協議。VerifyLoop 不假設模型一次生成即可靠,而要求 Agent 對每次輸出保留任務鏈、推理鏈、證據鏈、工具鏈與版本鏈;並在輸出完成後,從結論反向檢查其必要前提、證據來源、工具記錄與任務目標是否一致。若正向生成鏈與反向驗證鏈不一致,系統不應直接輸出結論,而應標記 gap,分類錯誤來源,進入下一輪修正,或輸出「目前不可判定」。

VerifyLoop 的核心循環是:

Generate → Trace → Forward Check → Backward Check → Gap Diagnose → Correct → Version

本文將原始「雙向持續驗證糾錯系統」改寫為公開開源協議:不主張消除所有幻覺,不主張得到終極真理,而是提供一個可被不同 Agent 框架接入的可靠性層。它的目標是降低不可追蹤錯誤,提高輸出可審計性,讓 Agent 不只是會生成答案,也能留下自己如何抵達答案、哪些地方被驗證、哪些地方仍有缺口。

近期研究已顯示,Agent 幻覺與一般單輪回答幻覺不同,因為多步流程中的錯誤可能出現在 Planning、Retrieval、Reasoning、Human-Interaction、Tool-Use 等不同階段,且步驟級定位仍具挑戰;AgentHallu benchmark 報告的最佳模型步驟定位準確率仍有限,工具使用幻覺尤其難定位。這正好說明 Agent 可靠性需要工作流級 trace、gap attribution 與可審計驗證層。


關鍵詞

Agent、VerifyLoop、雙向驗證、持續糾錯、AI 幻覺、Agent 幻覺、RAG、Claim Verification、Tool Receipt、Trace-based Verification、Gap Diagnosis、Human-in-the-loop、Agent Reliability、開源協議


0. 開源定位聲明

0.1 本文是協議,不是封閉產品

VerifyLoop 不是單一產品,也不是特定模型、特定框架或特定供應商的功能。它是一個可以被不同 Agent 系統實作的工作流可靠性協議。

它可以被接入:

RAG 系統;
研究助理 Agent;
程式碼 Agent;
法律與政策分析 Agent;
資料分析 Agent;
瀏覽器操作 Agent;
知識庫維護 Agent;
多 Agent 協作系統。

VerifyLoop 的核心不是「讓模型變聰明」,而是讓 Agent 的輸出過程變得:

可追蹤;
可回溯;
可驗證;
可修正;
可版本化;
可審計。

0.2 本文不主張

本文不主張:

VerifyLoop 可以消除所有幻覺;
雙向驗證等於絕對真理;
Agent 可以完全不需要人類審查;
反向驗證一定正確;
多 Agent 檢查一定比單 Agent 可靠;
所有任務都值得高深度驗證;
所有知識都可以被完全形式化。

0.3 本文主張

本文主張:

Agent 的輸出應被視為一條可檢查的工作流,而不是孤立文字;
可靠性不只來自更大的模型,也來自更好的驗證結構;
正向生成與反向驗證可以互相暴露盲點;
工具調用、檢索結果與推理聲稱應被分離記錄;
當鏈條不能補完時,系統應輸出 gap,而不是假裝確定;
知識庫與 Agent 輸出應支援版本化更新。

1. 問題:Agent 不是一次回答器,而是多步工作流

傳統聊天機器人多半被理解為:

Prompt → Answer

但 Agent 系統更接近:

Task → Plan → Retrieve → Tool Use → Reason → Act → Observe → Revise → Answer

在這種多步流程中,錯誤可能出現在任何一個階段:

計畫錯誤:Agent 設定了錯誤任務分解;
檢索錯誤:Agent 找到不相關或過期資料;
推理錯誤:Agent 從正確資料推出錯誤結論;
工具錯誤:Agent 聲稱使用工具,但工具未回傳該結果;
互動錯誤:Agent 誤解使用者意圖;
合成錯誤:Agent 把局部成立的資訊寫成全局結論。

AgentHallu 的分類也指出,Agent 幻覺需要按照工作流中的不同階段定位,而不是只看最終答案。其 benchmark 將幻覺分為 Planning、Retrieval、Reasoning、Human-Interaction、Tool-Use 等類型,並要求找出 responsible step 與 causal explanation。

因此,Agent reliability 的關鍵問題不再是:

答案對不對?

而是:

這個答案是怎麼來的?
每一步是否有紀錄?
每個 claim 是否有 evidence?
工具聲稱是否有 receipt?
結論是否超出證據?
錯誤若發生,能否定位在哪一步?

這就是 VerifyLoop 的問題起點。


2. 從 Output-based AI 到 Trace-based Agent

2.1 Output-based AI 的限制

Output-based AI 只檢查最後輸出:

最後答案是否看起來合理;
語氣是否流暢;
格式是否符合需求;
引用是否存在;
結論是否有說服力。

但這種檢查很容易被流暢性欺騙。

一個答案可以語氣穩定、格式完整、推理看似自然,卻在中間某一步引用了錯誤資料、漏掉時間限定、虛構工具結果,或把推測寫成事實。

2.2 Trace-based Agent 的核心

Trace-based Agent 不只看最後答案,而是要求 Agent 留下工作軌跡:

Task Trace:任務如何被理解;
Plan Trace:任務如何被拆解;
Evidence Trace:使用了哪些資料;
Tool Trace:調用了哪些工具,工具實際回傳什麼;
Claim Trace:最後輸出包含哪些可驗證聲稱;
Reasoning Trace:哪些推論是由哪些資料支持;
Correction Trace:哪些地方被修正;
Version Trace:不同版本之間差異在哪裡。

這些 trace 不一定要暴露模型私有思維鏈。VerifyLoop 不要求公開模型內部 chain-of-thought。它要求的是可審計工作紀錄,包括任務分解、引用、工具回傳、claim/evidence 對應、gap 報告與版本差異。

2.3 Trace 不是裝飾,而是可靠性基礎

沒有 trace,就無法知道錯在哪裡。

有 trace,才能做到:

錯誤定位;
局部修正;
責任分配;
版本比較;
自動回歸測試;
人類審查;
知識庫更新。

因此,VerifyLoop 的第一原則是:

Agent 的輸出必須從「答案」升級為「答案 + 可審計軌跡」。

3. VerifyLoop 協議總覽

VerifyLoop 的基本循環如下:

1. Generate:生成初始答案或行動計畫
2. Trace:記錄任務、計畫、資料、工具、推理與輸出
3. Forward Check:檢查正向生成鏈是否連貫
4. Backward Check:從結論反推必要證據與前提
5. Gap Diagnose:定位不一致、跳步、缺證據或工具錯誤
6. Correct:自動修正、請求補資料、降級結論或交給人類
7. Version:保存修正後版本與差異

它可以被簡化為:

Answer is not final until it survives its own reverse check.

中文可表述為:

答案不能只被生成,還必須能從結論回扣到任務、證據與工具紀錄。

4. 正向鏈:Agent 如何產生答案

正向鏈描述 Agent 如何從任務走向輸出。

基本結構:

User Task
→ Task Interpretation
→ Plan
→ Retrieval / Tool Use
→ Intermediate Notes
→ Reasoning / Synthesis
→ Final Answer

每一步都應產生可紀錄節點。

4.1 正向鏈節點

forward_chain:
  - node_id: S0
    type: user_task
    content: "使用者原始需求"
  - node_id: S1
    type: task_interpretation
    content: "Agent 對任務的理解"
  - node_id: S2
    type: plan
    content: "要查什麼、要算什麼、要調用什麼工具"
  - node_id: S3
    type: retrieval
    content: "檢索到的資料與來源"
  - node_id: S4
    type: tool_call
    content: "工具調用與回傳"
  - node_id: S5
    type: synthesis
    content: "由資料到結論的合成"
  - node_id: S6
    type: final_answer
    content: "最後輸出"

4.2 正向檢查項目

正向檢查不是判斷答案最終真假,而是檢查流程是否基本連貫:

任務理解是否偏離使用者需求;
計畫是否覆蓋任務;
檢索是否真的支撐計畫;
工具回傳是否被正確讀取;
推理是否跳過必要中間步;
最後答案是否超出前面資料。

5. 反向鏈:答案需要什麼才能成立

反向鏈從最後答案出發,追問:

如果這個答案成立,它需要哪些前提?
如果這個 claim 成立,它需要哪些 evidence?
如果 Agent 聲稱用了工具,工具 receipt 是否存在?
如果結論包含比較,是否有完整比較集合?
如果結論包含時間判斷,時間限定是否明確?

反向鏈基本結構:

Final Answer
→ Claim Decomposition
→ Required Evidence
→ Evidence Availability
→ Tool Receipt Check
→ Task Alignment Check
→ Confidence / Gap Report

5.1 Claim Decomposition

最終答案必須拆成可驗證 claim。

例如:

「埃菲爾鐵塔建於 1889 年,高 324 米,曾是世界最高建築。」

可拆成:

claims:
  - claim_id: C1
    text: "埃菲爾鐵塔建於 1889 年"
    type: factual
  - claim_id: C2
    text: "埃菲爾鐵塔高度為 324 米"
    type: factual
  - claim_id: C3
    text: "埃菲爾鐵塔曾是世界最高建築"
    type: historical_comparison

若答案寫成:

「埃菲爾鐵塔是世界最高建築」

反向鏈會追問:

現在最高?
歷史上曾經最高?
比較集合是所有建築,還是當時建築?
資料時間點是何時?

這就是反向驗證的價值。

5.2 Evidence Requirement

每個 claim 都應標明需要哪種 evidence:

evidence_requirements:
  C1:
    required: ["historical_source"]
  C2:
    required: ["official_measurement_or_reliable_reference"]
  C3:
    required: ["historical_height_ranking", "time_range"]

5.3 Tool Receipt Check

如果 Agent 聲稱「我查詢了資料庫」「我讀取了檔案」「我執行了程式」,系統應檢查工具紀錄是否存在。

近年的 tool receipt 研究提出,Agent 可對工具執行產生不可由 LLM 偽造的簽名收據,再把 LLM 的聲稱與工具收據交叉檢查,以即時偵測虛構工具調用、錯報數量或把推論寫成事實等問題。

VerifyLoop 可將這個方向吸收為:

No tool claim without tool receipt.

中文:

沒有工具收據,就不能聲稱工具已經支持該結論。

6. 雙向一致性:Forward Chain 與 Backward Chain 的對接

VerifyLoop 不要求正向鏈與反向鏈字面相同,而要求它們在關鍵結構上相容。

6.1 一致性檢查項目

Claim 是否能在正向鏈中找到來源;
Evidence 是否真的支持 claim;
Tool receipt 是否支持 Agent 的工具聲稱;
反向鏈要求的前提是否在正向鏈中出現;
最後答案是否引入了正向鏈沒有的外部假設;
是否存在循環論證;
是否存在結論強度超出證據強度。

6.2 一致性分數

VerifyLoop 可輸出一個非絕對的 verification score:

verification_score:
  overall: 0.82
  task_alignment: 0.95
  claim_support: 0.80
  evidence_quality: 0.76
  tool_receipt_integrity: 1.00
  contradiction_check: 0.70
  uncertainty_handling: 0.85

這個分數不是「真理分數」,而是「目前 trace 下的可支持程度」。


7. Gap 三分法

當正向鏈與反向鏈不一致時,VerifyLoop 不應只說「錯了」,而應輸出 gap 類型。

7.1 Technical Gap

技術性斷鏈:

資料存在;
規則存在;
工具可用;
但 Agent 沒有查到、沒展開、沒引用、沒算完,或推理跳太快。

處理方式:

加深檢索;
展開中間步;
重新調用工具;
補充引理;
增加 claim-level verification;
生成更詳細版本。

7.2 Systemic Gap

系統性斷鏈:

目前知識庫、工具、規則或任務設定不足以支持結論。

例子:

缺少即時資料;
缺少專業資料庫;
任務需要法律判斷但無司法管轄區;
任務需要實驗結果但目前沒有實驗;
Agent 缺少可執行工具。

處理方式:

請求新工具;
請求人類提供資料;
降低結論強度;
改成假設性回答;
輸出需要外部驗證。

7.3 Undecidable Gap

不可判定斷鏈:

在目前資料、工具與規則下,不能可靠回答。

處理方式:

明確輸出不確定;
列出需要哪些資料才能回答;
避免假裝知道;
避免用流暢語氣掩蓋不可判定。

這是 VerifyLoop 的重要倫理點:

不可判定不是失敗。把不可判定說成確定,才是失敗。

8. 驗證深度 D

VerifyLoop 使用「驗證深度」表示不同任務需要不同程度的檢查。

8.1 深度分級

D0:直接回答,不做額外驗證。
D1:基本自我一致性檢查。
D2:檢索佐證,補來源。
D3:拆成原子 claim,逐條驗證。
D4:多 Agent 或多路徑交叉驗證。
D5:工具 receipt + 版本紀錄 + 人類審查。

8.2 深度選擇原則

低風險、日常任務:D0-D1;
一般資訊查詢:D2;
研究、政策、法律、金融、醫療、工程:D3-D5;
高風險自動化執行:至少 D4,最好 D5;
不可逆行動:必須人類審查。

8.3 驗證深度不是越高越好

高驗證深度需要成本:

更多 token;
更多工具調用;
更多延遲;
更多工程複雜度;
更高假陽性可能;
更多人類審查成本。

因此 VerifyLoop 不追求所有任務都最大驗證,而是追求:

任務風險 × 證據需求 × 成本限制

之間的動態平衡。


9. 系統模組設計

VerifyLoop 可拆成以下模組。

9.1 Trace Logger

紀錄整個 Agent 工作流。

trace:
  trace_id: "vl_2026_0001"
  task_id: "task_001"
  agent_id: "agent_research_assistant"
  timestamp: "2026-07-01T00:00:00+08:00"
  steps:
    - step_id: S0
      type: user_task
      content: "..."
    - step_id: S1
      type: plan
      content: "..."
    - step_id: S2
      type: retrieval
      source_refs: ["src_001", "src_002"]
    - step_id: S3
      type: tool_call
      tool_receipt_id: "receipt_001"
    - step_id: S4
      type: synthesis
      content: "..."

9.2 Claim Decomposer

把輸出拆成可驗證聲稱。

claim:
  claim_id: C001
  text: "..."
  type: factual | comparative | causal | predictive | normative | speculative
  required_evidence:
    - source
    - tool_receipt
    - calculation
  risk_level: low | medium | high

9.3 Evidence Retriever

為每個 claim 尋找 evidence。

evidence:
  evidence_id: E001
  claim_id: C001
  source_type: document | web | database | tool_output | user_provided
  content_summary: "..."
  freshness: "current | stale | unknown"
  supports_claim: true
  confidence: 0.78

9.4 Tool Receipt Verifier

檢查工具聲稱是否被真實工具紀錄支持。

tool_receipt:
  receipt_id: R001
  tool_name: "calculator"
  input_hash: "..."
  output_hash: "..."
  timestamp: "..."
  signed: true
  verified: true

9.5 Backward Verifier

從 claim 反推其必要支持條件。

backward_check:
  claim_id: C001
  required_conditions:
    - "需要來源 A"
    - "需要時間限定"
    - "需要比較集合"
  matched_conditions:
    - "來源 A 已存在"
  missing_conditions:
    - "缺少比較集合"
  status: partial

9.6 Gap Classifier

分類 gap。

gap:
  gap_id: G001
  claim_id: C001
  location: "final_answer.paragraph_2"
  type: technical | systemic | undecidable
  severity: low | medium | high
  explanation: "缺少支持該比較結論的完整排名資料"
  recommended_action: "retrieve_additional_evidence"

9.7 Correction Engine

根據 gap 類型採取修正。

Technical Gap → 補資料、補步驟、重跑工具。
Systemic Gap → 請求人類、要求新工具、降低結論。
Undecidable Gap → 明確輸出不確定。

9.8 Version Manager

保存版本差異。

version:
  version_id: V002
  parent_version: V001
  changes:
    - "將『是世界最高建築』改為『1889-1930 年曾為世界最高建築』"
    - "新增哈里發塔比較資料"
  verification_score_before: 0.42
  verification_score_after: 0.91

10. VerifyLoop JSON 規格草案

10.1 最小輸出格式

{
  "answer": "...",
  "verifyloop": {
    "trace_id": "vl_001",
    "verification_depth": "D3",
    "claims": [],
    "evidence": [],
    "tool_receipts": [],
    "gaps": [],
    "verification_score": {
      "overall": 0.0
    },
    "status": "verified | partial | corrected | uncertain | failed"
  }
}

10.2 Gap Report 格式

{
  "gap_id": "G001",
  "type": "technical",
  "severity": "medium",
  "location": {
    "claim_id": "C003",
    "answer_span": "paragraph_2_sentence_1"
  },
  "description": "The claim requires a time-bounded comparison but no comparison set was retrieved.",
  "required_action": "retrieve_comparison_data",
  "auto_correctable": true
}

10.3 Verification Report 格式

{
  "trace_id": "vl_001",
  "status": "corrected",
  "depth": "D3",
  "summary": "3 claims verified, 1 corrected, 0 unresolved.",
  "claim_results": [
    {
      "claim_id": "C001",
      "status": "supported",
      "confidence": 0.92
    },
    {
      "claim_id": "C002",
      "status": "corrected",
      "confidence": 0.88,
      "correction": "Added historical time range."
    }
  ],
  "remaining_gaps": []
}

11. 典型工作流

11.1 RAG 回答驗證

1. 使用者提問;
2. Agent 檢索資料;
3. Agent 生成答案;
4. VerifyLoop 拆解 claim;
5. 每個 claim 對應 retrieval evidence;
6. 若 claim 無 evidence,標記 gap;
7. 若 evidence 矛盾,要求重新生成;
8. 輸出答案 + verification report。

MARCH 這類多 Agent 自檢框架已開始採用 claim-level decomposition 與資訊隔離檢查:Solver 先生成答案,Proposer 將回答拆成可驗證原子命題,Checker 在不看原始答案的情況下對 retrieved evidence 驗證,以降低 self-confirmation bias。VerifyLoop 可吸收這個精神,但把它一般化為開源 Agent 協議。

11.2 工具型 Agent 驗證

1. Agent 宣稱已查詢資料庫;
2. VerifyLoop 檢查 tool receipt;
3. 若沒有 receipt,禁止把結果寫成工具支持事實;
4. 若 receipt 存在,檢查輸出數值是否被正確引用;
5. 若 Agent 把推論寫成工具結果,標記 tool-use hallucination。

11.3 研究助理 Agent

1. 輸入研究問題;
2. Agent 建立初步文獻地圖;
3. VerifyLoop 將每個研究主張拆成 claim;
4. 對每個 claim 檢查引用、年份、研究限制;
5. 對過時或未驗證 claim 加上 uncertainty label;
6. 生成可審計研究摘要。

11.4 知識庫批量更新

1. 將既有文件拆成段落與 claim;
2. 為每個 claim 建立 evidence requirement;
3. 批量檢索或讀取來源;
4. 標記 supported / contradicted / stale / uncertain;
5. 自動提出修正草稿;
6. 保存版本差異;
7. 人類審查高風險修改。

12. 與既有研究的關係

12.1 Agent 幻覺歸因

AgentHallu 的研究方向說明,Agent 幻覺不應只在最終輸出層面處理,而應定位到多步軌跡中的 responsible step。VerifyLoop 的 Trace Logger、Gap Classifier 與 Backward Verifier 正是面向這類 step-level attribution 的協議化實作。

12.2 多 Agent 自檢

MARCH 顯示,多 Agent 分工、自我檢查與資訊隔離可以降低 verifier 的 confirmation bias。VerifyLoop 不限定一定要多 Agent,但在 D4 以上的驗證深度中,建議使用多 Agent 或多路徑檢查。

12.3 Tool Receipt

NabaOS / tool receipt 方向指出,互動式 Agent 不一定適合用高成本密碼學證明;較輕量的 tool execution receipt 加 claim cross-check 可能更實用。VerifyLoop 將 tool receipt 視為 Tool Trace 的關鍵證據層。

12.4 Agent 幻覺 Survey

LLM-based agents 的幻覺 survey 已整理出 agent workflow 中不同階段可能出現的幻覺與對應緩解方法,並指出多步代理系統的幻覺偵測與緩解是重要研究方向。VerifyLoop 可被視為一種 workflow-level mitigation protocol。

12.5 Embodied Agent 與不可行任務

具身 Agent 的幻覺研究也顯示,當任務與環境不一致時,Agent 可能仍嘗試執行不可能任務,而不是明確指出不可行。VerifyLoop 的 Undecidable / Systemic Gap 分類可用來要求 Agent 在任務不可行時輸出邊界,而不是繼續行動。


13. 開源實作路線

13.1 Repository 建議結構

verifyloop-agent/
  README.md
  LICENSE
  docs/
    protocol.md
    schemas.md
    examples.md
  schemas/
    trace.schema.json
    claim.schema.json
    evidence.schema.json
    tool_receipt.schema.json
    gap_report.schema.json
    verification_report.schema.json
  verifyloop/
    trace_logger.py
    claim_decomposer.py
    evidence_checker.py
    backward_verifier.py
    gap_classifier.py
    correction_engine.py
    version_manager.py
  examples/
    rag_verification/
    tool_receipt_check/
    knowledge_base_update/
    research_assistant/
  tests/
    test_gap_classifier.py
    test_claim_decomposer.py
    test_receipt_verifier.py

13.2 MVP 模組

第一版不需要做太大。MVP 只需要:

輸入:Agent final answer + retrieval sources + optional tool logs
輸出:
1. claim list
2. evidence mapping
3. unsupported claims
4. contradiction warnings
5. gap report
6. corrected draft

13.3 Minimal API

from verifyloop import VerifyLoop

vl = VerifyLoop(depth="D3")

report = vl.verify(
    task=user_task,
    answer=agent_answer,
    sources=retrieved_sources,
    tool_logs=tool_logs
)

print(report.status)
print(report.gaps)
print(report.corrected_answer)

13.4 Integration Target

LangChain / LangGraph;
LlamaIndex;
AutoGen;
CrewAI;
OpenAI-compatible tool-calling agents;
自製本地 Agent;
知識庫批量處理 pipeline。

14. 限制

14.1 VerifyLoop 不能保證終極正確

VerifyLoop 只能提高可追蹤性與可驗證性,不能保證所有結論絕對正確。

原因包括:

知識庫可能錯;
資料可能過時;
檢索可能漏掉關鍵來源;
反向驗證器也可能推理錯;
多 Agent 可能共享同一偏差;
工具 receipt 只能證明工具回傳,不等於工具回傳本身正確;
高風險領域仍需專家審查。

14.2 Trace 不是私有思維鏈

VerifyLoop 不要求暴露模型私有 chain-of-thought。

它要求的是:

任務紀錄;
工具紀錄;
資料紀錄;
claim/evidence 對應;
gap 報告;
版本差異。

這些是可審計工作產物,不是模型內部思考逐字稿。

14.3 高驗證深度有成本

VerifyLoop 必須允許不同模式:

Fast Mode:快速、不完全驗證;
Standard Mode:基本檢索與 claim check;
Strict Mode:逐 claim 驗證與 tool receipt;
Audit Mode:多 Agent + 人類審查 + 版本化。

15. 結論:Agent 的下一步不是更會生成,而是更會驗證

生成能力已經足夠強。問題是:生成之後,誰來檢查?如何檢查?錯在哪裡?怎麼修正?如何避免同一錯誤在下一輪再次出現?

VerifyLoop 的答案是:

不要只看答案。
看 trace。

不要只做正向生成。
做反向驗證。

不要只說錯了。
定位 gap。

不要只修一次。
保留版本,持續修正。

不要假裝確定。
在不可判定時輸出不可判定。

VerifyLoop 的核心並不是讓 Agent 永不犯錯,而是讓錯誤變得可見、可定位、可修正、可累積學習。

Agent 的下一階段,不只是更強的生成,而是更可靠的工作流。

一句話總結:

VerifyLoop 是一套開源 Agent 驗證協議:它要求 Agent 不只生成答案,還要留下正向生成鏈、反向驗證鏈、證據紀錄、工具紀錄與 gap 診斷,並在不一致時進入持續修正循環。

附錄 A:術語表

| 術語 | 定義 | | ------------------ | ------------------- | | Forward Chain | Agent 從任務到答案的生成軌跡 | | Backward Chain | 從答案反推必要證據與前提的驗證軌跡 | | Trace | 任務、計畫、工具、資料、推理與版本紀錄 | | Claim | 最終答案中的可驗證聲稱 | | Evidence | 支持或反駁 claim 的資料 | | Tool Receipt | 工具執行紀錄或簽名收據 | | Gap | 正向鏈與反向鏈不一致或缺失之處 | | Technical Gap | 資料或規則存在,但未展開或未查到 | | Systemic Gap | 目前工具、資料或規則不足 | | Undecidable Gap | 在目前條件下不可判定 | | Verification Depth | 驗證深度,從 D0 到 D5 | | Version Trace | 修正前後版本差異紀錄 |


附錄 B:狀態碼

VERIFIED:所有主要 claim 已被支持。
PARTIAL:部分 claim 被支持,部分仍有 gap。
CORRECTED:原答案已被修正。
UNCERTAIN:目前資料不足,無法可靠回答。
FAILED:驗證失敗,答案不應輸出。
HUMAN_REVIEW_REQUIRED:需要人類審查。

附錄 C:最小 Gap 分類器邏輯

def classify_gap(claim, evidence, tool_receipts, task_context):
    if claim.requires_tool and not tool_receipts.exists_for(claim):
        return "technical", "Missing tool receipt"

    if claim.requires_current_data and not evidence.has_current_source():
        return "systemic", "Current data unavailable"

    if evidence.contradicts(claim):
        return "technical", "Contradicted by retrieved evidence"

    if claim.is_high_risk and evidence.is_insufficient():
        return "undecidable", "Insufficient evidence for high-risk claim"

    if claim.exceeds_task_scope(task_context):
        return "technical", "Conclusion exceeds task scope"

    return "supported", "No obvious gap"

附錄 D:README 短版

# VerifyLoop Agent Protocol

VerifyLoop is an open protocol for trace-based verification of LLM agents.

It turns an agent answer into:

- forward chain
- backward verification chain
- claim list
- evidence map
- tool receipt check
- gap report
- corrected version

Core loop:

Generate → Trace → Forward Check → Backward Check → Gap Diagnose → Correct → Version

VerifyLoop does not guarantee absolute truth.
It improves auditability, error localization, and iterative correction.

附錄 E:公開版邊界聲明

本文由內部理論「萬物雙向持續驗證糾錯系統」降維改寫而來。原始版本包含更強的知識演化、本體論與算力深度敘述;公開版刻意將其改寫為 Agent 協議與開源方法論。本文不主張真理可被完全驗證,而主張 Agent 的輸出應具有可審計軌跡、雙向檢查與持續修正能力。


全文完。

原始檔(供 RAG/下載):papers/VerifyLoop-Agent.md [md]