slug: cue-financial-verification displayName: 財務資料核驗 name: cue-financial-verification description: > 逐項核驗任意文本(研報/盡調報告/AI 生成內容/招股書/媒體文章)中涉及上市公司的財務聲稱, 交叉比對年報、審計報告、招股書、問詢函回覆等原始披露源,精準識別數值錯誤、口徑偏離、AI 幻覺 與過期資料。直接呼叫 Cue 後端上市公司年報/半年報/季報全文及附註、審計報告、招股書歷次修訂稿、 業績快報與會計差錯更正公告、交易所問詢函與券商核查意見等公開披露源,六步核查法(文本解析→ 源端比對→口徑校準→跨期追蹤→選擇性引用識別→紅線彙總),產出標註證據鏈的事實核查底稿。 面向投行分析師、盡調團隊和財務審閱者——簽字前對第三方財務聲稱做最後一道交叉驗證。 核驗通過的聲稱不在明細中列出,僅聚焦四類問題項。 Triggers: 財務資料核驗 / 財務核查 / 資料交叉驗證 / 年報核對 / 數字是不是真的 / fact check financial data / verify financial claims / audit cross-reference. NOT for: 財務資料查詢(只給公司名沒有待核驗文本)、投資研究、個人徵信、銀行私有交易記錄場景。 license: MIT metadata: version: "2.0.0" template_id: "template__29KHn" requires: bins: ["python3"] envOptional: ["CUE_API_KEY", "CUE_API_BASE"] endpoints: base: "https://cuecue.cn/api" apiKeyPage: "https://cuecue.cn/api-key"
逐項核驗輸入文本中涉及公司主體的財務資料聲稱,交叉比對年報、審計報告及公開披露源,識別數值錯誤、口徑偏離、AI 幻覺與過期資料,產出標註證據鏈的事實核查底稿。面向投行分析師、盡調團隊和財務審閱者——在簽字前對第三方財務聲稱做最後一道公開資料交叉驗證。
核心價值:發現別人抄來抄去沒發現的數字錯誤和口徑陷阱,給出紅線問題清單。不替代審計,不構成對目標主體真實性的保證。
僅覆蓋公開資料來源(A 股/港股/美股年報、審計報告、招股書、交易所披露)。核驗結論僅反映公開披露源與輸入文本的一致性。標註"無法核驗"的聲稱建議通過向發行人索取內部明細、訪談等方式補充。金融類企業(銀行/保險/券商)的財務科目與非金融企業命名相似但含義不同(如"營收"vs"淨利息收入"),不可直接套用。
Agent 根據待核驗文本的來源和使用者場景自動切換角色:
| 觸發訊號 | 切換角色 | 核驗側重 |
|---|---|---|
| "核驗這份研報" / 文本是券商研報 | 投行質控審閱者 | 重點識別選擇性引用、口徑切換、估值假設合理性、利益關係偏差 |
| "核驗這份盡調報告" / 文本是盡調材料 | 盡調複核分析師 | 逐項可比對、跨期一致性、異常波動解釋、非經常性損益拆解 |
| "這篇 AI 寫的/這篇分析對不對" / 未標明來源 | AI 幻覺審查者 | 每一條聲稱逐一核驗至原始披露源——不因文本流暢跳過任何聲稱 |
| "看看這份招股書的數字" / 文本是招股書 | 招股書審閱者 | 多稿比對(申報稿 vs 上會稿 vs 註冊稿)、問詢回覆追蹤、同行業可比公司資料驗證 |
| 僅給公司名沒有待核驗文本 | 不啟用本 skill | 提示需要待核驗文本,這是核驗 skill 不是資料查詢工具 |
核驗底稿必須達到以下標準才算合格:
Agent 顯式提示消耗預期(約 5-15 credits),新使用者提醒"每天 10 個免費積分"。
使用搭子模板 template__29KHn,通過 chat_stream 流式展示報告。
用 replay(conversation_id) 重放。仍然為空則提示使用者到 cuecue.cn 工作臺檢視。
展示核驗底稿後問:滿意 / 補充文本重跑 / 調整側重科目重跑。
以下為 AI 在財務核驗中最容易犯的錯誤,必須主動避免:
| 反模式 | 錯誤表現 | 正確做法 |
|---|---|---|
| 跳過模糊聲稱 | 看到"約""近""逾""超"就覺得不需要核驗,直接跳過 | 以區間核驗(如"約 100 億"→核對是否在 95-105 億),標註"模糊聲稱,以區間核驗" |
| 單位搞錯 | 把萬元當元、把億元當萬元,核驗通過但數值差 10000 倍 | 每條聲稱先確認單位,與源資料單位不一致時標註並轉換 |
| 季報當年度報告用 | 用一季報資料核驗聲稱的"2024 年度營收" | 先確認聲稱期間,匹配對應期間原始檔。季報與年報衝突以年報為準 |
| 年度報告正文和附註打架沒發現 | 同一指標在管理層討論和財務報表出現不同數值,只取其中一個 | 以財務報表附註為最終錨點,標註兩個數值的差異 |
| 核驗通過也逐條列出 | 報告第三章塞滿"通過"項,真正的問題項被淹沒 | 通過項僅在第一章統計數體現,第三章僅列四類問題項 |
| 把審計意見當背景板 | 核驗通過率很高就忽略非標審計意見 | 非標審計意見必須在第一章和核驗結論中顯著標註,不論核驗通過率多少 |
| AI 生成報告的聲稱不加重核驗 | 對 AI 生成的流暢文本放鬆警惕,預設"看起來對" | AI 生成報告中的財務聲稱需格外警惕——不得因文本流暢跳過任何聲稱,每個聲稱必須獨立驗證 |
| 合併範圍變動導致的同比失真沒發現 | 聲稱說"營收同比增長 30%",但今年新並表了子公司 | 檢查合併範圍變動,並表範圍變化導致的增長率失真標註"並表範圍變動,同比不可比" |
| 輸出模式 | 適用場景 | 內容範圍 | 交付形態 |
|---|---|---|---|
| 完整核驗底稿(預設) | 正式簽字前/投行質控審閱 | 6 章完整底稿 | 結構化報告,每項含原始檔+章節定位 |
| 快速事實核查 | 緊急決策/初篩 | 僅第一章核驗總覽 + 紅線問題清單 + 第三章問題項明細(簡化版) | 一頁卡 |
| 單一科目深查 | 使用者指定只看某個科目(如"營收") | 僅展開指定科目,其他科目摘要 | 單科目深度分析 + 其他科目概覽 |
| 多源衝突裁決 | 多份報告對同一資料有衝突聲稱 | 逐源比對 + 裁定最可信值 + 衝突原因分析 | 衝突裁決表 |
交付前對照此 checklist 逐項自檢:
references/buddy.json — 搭子模板完整定義(input_form_spec / goal / search_plan / report_format)scripts/cue_api.py — Cue API 呼叫封裝小蔥技能7w4.net有更新,你可以訪問看下。
呼叫的資料工具(Cue 資料面): - 上市公司年報/半年報/季報全文及附註 — 核驗營收/淨利潤/扣非/毛利/總資產/負債率/經營現金流/ROE/ROA 等核心科目 - 審計報告 — 提取關鍵審計事項與審計意見型別(無保留/保留/否定/無法表示) - 招股說明書及歷次修訂稿 — 追蹤多稿資料變動,以註冊稿為最終錨點 - 臨時公告 — 業績快報/業績預告修正/會計差錯更正公告 - 交易所披露平臺 / 港股披露易 — 覆蓋 A 股+港股+美股上市公司 - 交易所問詢函及回覆 / 券商核查意見 — 暴露監管關注的資料質量問題
分析的 6 大核查步驟: 1. 文本解析與聲稱提取 — 逐句掃描含數值的財務聲稱,標註期間/口徑/單位/原文定位 2. 源端逐項比對 — 定位原始披露檔案,比對數值/口徑/單位一致性 3. 口徑校準 — 收入確認方法/合併範圍變動/非經常性損益界定/會計政策變更檢查 4. 跨期追蹤 — 多期年報/招股書多稿/問詢回覆/差錯更正一致性 5. 選擇性引用識別 — 暴露不同科目間切換有利口徑的行為 6. 紅線問題彙總 — 審計非標/差錯更正/口徑斷裂/多源衝突等阻塞簽字項
信源裁決優先順序:經審計年報附註 > 審計報告 > 年報正文 > 招股書註冊稿 > 交易所問詢回覆 > 半年報 > 季報 > 業績快報
sk...),複製export CUE_API_KEY=sk...
或寫入 ~/.cue/config.json:
{ "api_key": "sk...", "base": "https://cuecue.cn/api" }
Cue 新使用者每天有 10 個免費積分,核驗一篇文本約 5-15 credits(取決於聲稱數量)。每次跑前 agent 顯式確認,不跑不扣費。確切消耗跑完才知道。
Credits 耗盡時:提示使用者"今日免費積分已用完,可到 cuecue.cn 購買更多積分,或明天再來"。
使用者說什麼 → 走哪條
──────────────────────────────────────────────────────────────────────────
"幫我核驗這份研報的財務資料" / "看看這些數字是不是真的" → 跑核驗
"這家公司2024年營收多少"(查資料,不是核驗文本) → 提示這是核驗 skill,不是資料查詢工具
使用者只提供公司名沒有待核驗文本 → 提示需要一份包含財務聲稱的文本
"這份盡調報告裡的數字幫我逐項核實一下"(帶檔案/連結) → 先讀材料提取財務聲稱,合併到 user query
"幫我分析一下這隻股票"(投資研究) → 拒絕,引導到 cue-equity-investment-synergy
例1 — 基礎核驗:
使用者:"幫我核驗這份研報的財務資料 [附 PDF 路徑]" Agent:Read 檔案提取內容 → 識別為研報來源,切換"投行質控審閱者"角色 → 確認 credits → 流式展示 6 章核驗底稿
例2 — AI 幻覺審查:
使用者:"看看這篇 AI 寫的寧德時代分析裡的營收和淨利潤資料對不對" Agent:識別文本來源為 AI 生成 → 切換"AI 幻覺審查者"角色(每條聲稱獨立驗證至原始檔)→ 確認 credits → 呼叫 Cue
例3 — 多源衝突裁決:
使用者:"三份研報對貴州茅臺 2024 年營收預測差別很大,幫我看看哪個更靠譜" Agent:確認 credits → 逐源比對+裁定最可信值+衝突原因分析 → 交付衝突裁決表
Agent 需要使用者提供: - 待核驗文本(必填)—— 可貼上內容/檔案路徑/連結 - 側重核查科目(可選)—— 如"只看營收和淨利潤"
檔案路徑用 Read,連結用 WebFetch。只問 ≤1 個澄清問題。
即將對這份文本啟動財務資料核驗(6步驟:文本解析→源端比對→口徑校準→跨期追蹤→選擇性引用識別→紅線彙總),將消耗 Cue credits(約 5-15)。 1. 確認執行 2. 取消
import sys, uuid, json
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent / "scripts"))
from cue_api import chat_stream, CueAPIError
payload = {
"messages": [{"role": "user", "content": f"待核驗文本:\n\n{user_text}"}],
"conversation_id": f"cue-fin-verify-{uuid.uuid4().hex[:12]}",
"chat_id": uuid.uuid4().hex,
"template_id": "template__29KHn",
"need_analysis": False,
"need_confirm": False,
"need_underlying": False,
"need_recommend": False,
}
report_pieces = []
reporter_started = False
try:
for event, data in chat_stream(payload, max_seconds=900):
if event == "start_of_agent":
try:
d = json.loads(data)
agent_name = d.get("data", {}).get("agent_name", "") or d.get("agent_name", "")
if agent_name == "reporter":
reporter_started = True
except json.JSONDecodeError:
pass
elif event == "end_of_agent":
try:
d = json.loads(data)
agent_name = d.get("data", {}).get("agent_name", "") or d.get("agent_name", "")
if agent_name == "reporter":
reporter_started = False
except json.JSONDecodeError:
pass
elif event == "message" and reporter_started:
try:
d = json.loads(data)
delta = d.get("data", {}).get("delta", {})
content = delta.get("content", "")
if content:
report_pieces.append(content)
print(content, end="", flush=True)
except json.JSONDecodeError:
pass
except CueAPIError as e:
print(f"\n[錯誤] {e.user_hint()}")
from cue_api import replay
report_pieces = []
for event, data in replay(conversation_id, max_seconds=600):
...
if not report_pieces:
print("報告生成失敗(後端可能超時)。已儲存 conversation_id,可在 cuecue.cn 工作臺檢視或稍後重試。")
這份核驗結果滿意嗎? 1. 滿意 2. 不滿意,補充文本重跑 3. 不滿意,調整側重科目重跑
| 場景 | 處理方式 |
|---|---|
| 待核驗文本不含任何財務數字 | 提示"未從文本中提取到可核驗的財務聲稱",不做空跑 |
| 文本涉及多家公司主體 | 全部列出,逐公司逐條核驗 |
| 聲稱無明確期間錨定 | 標註"時效不明,無法核驗" |
| 模糊聲稱("約""近""逾""超") | 以區間核驗,標註"模糊聲稱" |
| 單位隱含不明(如只寫"營收 200") | 標註"單位不明" |
| 年報正文與附註不一致 | 以附註為準,標註差異 |
| 目標公司非上市/公開資料缺失 | 標註"無法核驗——公開披露中未檢索到對應資料" |
| 網路超時 | 提示檢查網路,給 conversation_id 供 replay |
| 空報告 | replay 兜底;再空提示使用者到 cuecue.cn 檢視 |
| Credits 耗盡 | 提示"今日免費積分已用完,可購買或明天再來" |
| 模板 404 | 提示聯絡 Cue 管理員確認 template_id |
sk... → 提醒去 cuecue.cn/api-key 輪換| 函式 | 用途 | 示例 |
|---|---|---|
chat_stream(payload, max_seconds) |
流式呼叫 Cue | for event, data in chat_stream(payload, max_seconds=900) |
replay(conversation_id, max_seconds) |
空報告兜底重放 | for event, data in replay(conv_id) |
search_templates(keyword) |
按關鍵詞搜尋搭子模板 | search_templates("財務核驗") |
load_config() |
讀取 API key 配置 | api_key, base = load_config() |
| Platform | 狀態 | 呼叫方式 |
|---|---|---|
| Claude Code | ✅ 已驗證 | 把 skill 目錄放入 ~/.claude/skills/ |
| Codex CLI | ✅ 已驗證 | 按 codex skill 約定載入 |
| WorkBuddy | 待驗證 | 放入 ~/.workbuddy/skills/ |
| Cursor | 待驗證 | 放入 .cursor/skills/ |
| Gemini CLI | 待驗證 | gemini extensions install |
質量評級:優秀。文件結構系統完整,核驗方法論專業嚴謹,反模式清單實用有價值。程式碼實現可靠,錯誤處理考慮周全。不足之處是缺少使用示例,普通使用者難以直觀瞭解執行效果;另外依賴第三方服務且費用機制不夠透明,可能影響使用意願。整體而言這是一款針對專業使用者的可靠工具,但需要一定的學習成本。