她把研究問題和幾十段文獻摘錄丟給一個大型雲端模型,請它寫一份附引用的報告,每次要等將近三分鐘。報告還會被同事反覆打開,當成之後寫論文的底稿
AstaBrief 8B 是 AI2(艾倫人工智慧研究所)在 Hugging Face 部落格上公開的模型。它做的事很單純:你給它一個研究問題,再給它一批已經檢索先用搜尋找出與問題相關的文獻片段,再交給模型閱讀好的文獻摘錄,它就寫出一份帶引用在句子後面標明這句話出自哪一篇文獻,方便讀者回頭查證的報告。名字裡的 8B 指它有約 80 億個參數模型內部可調整的數字,數量越多通常越強,但也越慢越貴,在大型語言模型裡算小的。
它是 AI2 科學研究平台 Asta 裡「Generate a report」功能的新選項,叫做 Fast mode,旁邊原本就有由 Claude 驅動的 Thinking mode。AI2 觀察到科學家的用法很特別:他們不是輸入幾個關鍵字,而是帶著大量背景和限制條件來問,例如「比較某一類方法,但要限定特定族群或情境」。他們也會一再回來翻舊報告,把它當成工作底稿,而不是一次性的答案。
這則新聞的重點有三個:第一,AI2 想驗證「專門訓練的小型開放模型,能不能追上專有大模型的報告品質」,同時降低生成時間與服務成本。第二,他們把模型的開放權重把訓練好的模型參數檔公開,任何人都能下載到自己的電腦或伺服器上執行和訓練資料一起開源,別人可以重現與改良。第三,他們還附上一個範例流程,讓研究者用自己的 PDF 在本機產生報告。
| 項目 | Fast mode(AstaBrief 8B) | Thinking mode(Claude 驅動) |
|---|---|---|
| 完整流程平均耗時 | 51.1 秒 | 178.5 秒 |
| 模型性質 | 開源、可下載自己跑 | 專有模型 |
| 適合情境 | 要快、要私有部署 | 要最深度的推理 |
| 生成方式 | 一次寫完整份報告 | 文章未詳述 |
AstaBrief 的賣點是「引用要可驗證」。這支小程式模擬驗收的第一步:逐句檢查報告有沒有引用、引用編號是否真的存在於文獻摘錄中,並把對應原文印出來,方便人工比對有沒有講過頭。
import reEXCERPTS = {1: '...', 2: '...'}REPORT = ['...', '...']ids = [int(x) for x in re.findall(r'\[(\d+)\]', line)]if i in EXCERPTS:print(... EXCERPTS[i])這是一個真實小專案:下載(或複製)檔案,照步驟在你電腦上跑起來。
import re
# 為什麼用字典:編號對應原文,才能在報告引用 [n] 時回頭查證據
EXCERPTS = {
1: '在 120 位成人的試驗中,藥物 A 使收縮壓平均下降 8 mmHg。',
2: '此研究只納入 65 歲以上的族群。',
}
# 這份假報告刻意埋了三種問題,用來測試驗收器
REPORT = [
'藥物 A 能降低所有人的血壓 [1]。',
'研究只針對老年人進行 [2]。',
'這是目前最有效的療法。',
'藥物 B 也有效 [3]。',
]
problems = 0
for n, line in enumerate(REPORT, 1):
ids = [int(x) for x in re.findall(r'\[(\d+)\]', line)]
if not ids:
problems += 1
print(f'第{n}句 無引用:{line}')
for i in ids:
if i in EXCERPTS:
print(f'第{n}句 引用[{i}]存在,請人工比對範圍:')
print(f' 報告說:{line}')
print(f' 原文是:{EXCERPTS[i]}')
else:
problems += 1
print(f'第{n}句 引用[{i}]不存在(幻覺引用):{line}')
print(f'\n自動偵測到 {problems} 個問題;其餘引用仍需人工確認結論範圍。')