Context-1

Chroma Context-1: Training a Self-Editing Search Agent·|·Chroma

Chroma Context-1 在做的不是一般 RAG 再加 reranker
而是一個專門負責 多步搜尋(agentic search) 的 20B 模型

retrieval subagent:不直接回答問題,只負責把最相關的文件找出來,再交給下游生成模型回答


關鍵重點

1. 分階段訓練:先 Recall,再 Precision

  1. 先訓練模型 盡量不要漏掉可能有用的資訊,也就是先偏向廣搜;
  2. 後面再訓練它 從這些候選中逐步縮小範圍,只留下真正重要的內容

模型會把大問題拆成多個 subquery,逐輪搜尋

先 recall、後 precision 的 staged curriculum
也就是先學會廣搜不要漏(可能會抓到噪音,但是漏掉關鍵文件更糟糕)
再慢慢學會縮小、保留真正重要的文件


2. Context management:搜尋過程中自己清理上下文

這個方法的重點不只是「找到更多文件」,而是 動態管理 context
Agent 會在搜尋途中持續淘汰不重要的段落,而不是無限制累積資訊,藉此避免:

這類現象就是文中提到的 context rot
希望展現的是模型對於管理證據與控制 context 品質的能力


3. 可擴展的 synthetic task generation pipeline

訓練上不是只靠人工資料,而是建立了一套 合成任務資料產生流程,用 LLM 來產生任務、評估品質,減少大量人工標註的需求,同時維持資料品質。

意思是:

訓練中最麻煩的問題之一:高品質多步搜尋資料很難人工大量標註
涵蓋 web、finance、legal、email 等場景


Agent Harness

不要讓同一個模型同時負責檢索與生成,改成用 subagent 拆工,效果可能更好

1. Context-1 不是最終回答模型,而是 search subagent

Context-1 的工作不是直接回答使用者問題
而是替下游的 frontier reasoning model 找到支撐文件

它負責的是:

真正最後做綜合推理、生成答案的,還是另一個更強的 downstream model
所以它本質上是 retrieval specialist,不是 general-purpose answer model

## 2. 透過 tool calls 跟底層搜尋系統互動

Context-1 並不是直接「知道所有資料」
而是透過一層 search infrastructure 來查資料

它和底層系統互動的方式是:

模型不是直接操作資料庫,而是透過一個受控的工具介面進行搜尋


## 3. 整個流程是 observe → reason → act loop

核心執行模式是一個循環:

(1) Observe
先看到目前狀態,包含先前搜尋結果或新回傳的 observation。

(2) Reason
模型根據目前拿到的資訊判斷:

(3) Act
模型輸出一個 tool call,或者直接給 final answer
接著 harness 會真的去執行工具呼叫,再把新結果加回 trajectory,進入下一輪。

所以整體就是:observe → reason → act loop
看結果 → 想下一步 → 執行搜尋 → 再看新結果

observe → infer → act 的 state machine;
搜尋時會同時做 sparse + dense retrieval,再用 RRF 融合,之後 reranker 選出符合 token budget 的結果


把 context management 直接納入 search policy
它不只是會找,還會 主動管理 context


工具

四個工具:


訓練方法

它的訓練重點有三個:

a. staged curriculum

先學 recall,再學 precision

也就是:


b. synthetic task generation

自己生成多步搜尋題目,訓練兩個核心能力:


c. extraction-based verification

不是只靠 LLM 主觀判 relevance,
而是抽出文件證據與 clue 對應片段來驗證資料品質,減少 label noise。

Powered by Forestry.md