使用 Jev 構建 Harness

@sydneyrunkle
英語2026年9月18日
420K
2.1K
210
49
3.9K

TL;DR

本文說明如何將來自 TypeSafe AI 的快速 System One 模型 Jev 整合至 LangChain Agents。內容詳述 Jev 在結構化決策、模型路由及安全防護方面的能力,以最佳化 Agent 的效能與成本。

Agent 以迴圈方式運作:由 LLM 決定下一步行動,工具執行該操作,模型評估結果,然後繼續這個迴圈,直到任務完成。

起初,將 Agent 和 LLM 整合到依賴結構化資料與可預測介面的軟體應用程式中相當困難。隨後出現了兩個基礎元件,讓這過程變得容易許多:

但即使有了這些機制,Agent 迴圈仍然緩慢昂貴:每個決策都需要再次呼叫模型。

介紹 Jev。Jev 是由 TypeSafe AI 發布的新模型。該公司表示,在分類任務上,其推論速度比同等 LLM 快高達 200 倍,成本低 400 倍

https://x.com/CompleteSkeptic/status/2099925682726002904

本文將涵蓋 Jev 的運作原理、它在 Agent 迴圈中的定位,以及如何搭配 LangChain 使用它。

關於 Jev 的一切

Jev 實際上並非傳統 LLM,它不會生成文字。這是 TypeSafe AI 團隊所稱的 System One 模型:

📖 System One 模型是一類專為做出快速、結構化決策而設計的 AI 模型,軟體可直接使用這些決策。System One 模型會評估一個

state 並回傳帶有型別的解答與機率。

它採用 用於校準決策的強化學習(RLCD)進行訓練。你的程式碼利用這些結果來引導 Agent 的後續動作,而無需為每個決策進行完整的聊天 LLM 呼叫。

要調用 Jev 模型,你需要傳送一個 state(上下文)以及關於該 state 的 questions。以下是他們文件中支援工單範例的單問題版本:

json
1{
2 "model": "jev-latest",
3 "state": "Hi, I've been trying to connect my Stripe account for 3 days and it keeps failing. I'm losing sales. Please help ASAP.",
4 "questions": {
5 "is_urgent": {
6 "type": "noul",
7 "instructions": "The message conveys urgency or time-sensitivity"
8 }
9 }
10}

文件中的範例給出了這個緊急程度答案,這裡省略了回應的其他部分:

json
1{
2 "is_urgent": {
3 "type": "noul",
4 "noul": 0.999
5 }
6}

這表示訊息具有緊急性的機率為 99.9%,你的應用程式可以利用此資訊來優先處理該工單。

支援的 questions 有三種類型:

Sydney Runkle - inline image
  • Choice: 從一組選項中選擇。回傳每個選項的機率以及整體信心分數。
  • Score: 針對有序等級(如低、中、高)對輸入進行評分。回傳連續分數、底層分布以及信心值。
  • Noul: 回答是非題。回傳陳述為真的機率。

這裡的一個關鍵功能是,你可以在單一請求中針對同一個 state 詢問多個問題。

💡 System One 模型會平行評估請求中的每個問題。增加問題幾乎不會改變回應時間,且僅需額外問題的 token 成本,這非常便宜。

如需針對支援工單詢問多個問題的範例,請參閱 TypeSafe Quickstart

總而言之,不同於傳統 LLM,Jev 不受限於文字生成或序列決策!

如何搭配 LangChain 使用 Jev

LangChain 的供應商無關模型非常適合支持 Jev,並與其他數千種整合及模型供應商並存。

LangChain 整合透過 TypeSafeClassifier 暴露 Jev。你將 state 和 questions 傳遞給 .invoke(),即可獲得分類結果而非聊天回應。

安裝 langchain-typesafe 並設定你的 TYPESAFE_API_KEY,然後進行呼叫:

python
1from langchain_typesafe import Noul, TypeSafeClassifier
2
3classifier = TypeSafeClassifier()
4
5response = classifier.invoke(
6 state=(
7 "The deploy failed twice and customers are seeing 500s. "
8 "Can someone look now?"
9 ),
10 questions={
11 "urgent": Noul(
12 instructions="Does this need attention right now?"
13 ),
14 },
15)
16
17urgency = response.nouls["urgent"].noul

state 可以是文字、結構化資料或 LangChain 訊息。這使得從節點或中介軟體鉤子中使用 Agent 已有的上下文來調用 Jev 變得簡單明瞭。

你可以將其內建到自訂中介軟體或工具中!

應用場景

Jev 不是 LLM 的直接替代品。它不生成文字,但可以處理我們今天常使用 LLM 進行的分類任務,且沒有相同的延遲和成本。這使其成為驅動你 Agent 的模型的有力補充:使用 LLM 進行開放式推理和生成,而在過程中使用 Jev 進行快速的結構化決策。

Model routing

簡單的查詢不需要與艱難的除錯任務使用相同的模型。Model-routing middleware 讓 Jev 評估請求並根據你定義的標準選擇模型,從而對直觀任務使用快速且廉價的模型,對複雜任務使用更強大的模型。

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 ModelChoice,
4 ModelRouterMiddleware,
5)
6
7router = ModelRouterMiddleware(
8 choices={
9 "fast": ModelChoice(
10 model="openai:luna",
11 criteria="Direct lookups, extraction, and localized changes.",
12 ),
13 "powerful": ModelChoice(
14 model="openai:sol",
15 criteria="Architecture and high-stakes decisions.",
16 ),
17 },
18 instructions="Choose the least costly model that can complete the task.",
19)
20
21agent = create_agent("openai:gpt-5.6-luna", middleware=[router])

路由器從最新的用戶訊息中選擇一個模型,並在整個執行過程中使用它。機率和信心值也可在 agent state 中取得。

Auto Mode

Agent 本質上仍不可完全信任。Agent 可能會收到不良指令(無論是自然發生還是來自動機足夠強的攻擊者),這可能說服它執行我們不希望它採取的行動。

像 claude、codex、cursor 這樣的編碼框架已經推出某種方式,在危險行動被執行之前對其進行分類,這逐漸幫助建立了對 Agent 的信任。直到現在,這個分類步驟一直被封鎖在框架的閉源部分中。

既然現在存在一個廉價且高效的分類器模型,我們可以採用相同的模式並將其應用於所有 Agent!

python
1from langchain.agents import create_agent
2from langchain_typesafe.experimental.middleware import (
3 AutoModeMiddleware,
4)
5
6guardrail = AutoModeMiddleware(tools=["bash"])
7
8agent = create_agent("openai:gpt-5.6-luna", middleware=[guardrail])

AutoModeMiddleware 使用 Jev 檢查工具呼叫中可能涉及的風險決策,並在工具執行前阻擋呼叫。

開始使用!

我們對 Jev 及其帶來的可能性感到非常興奮。我們已經看到幾個很酷的项目:Browserbase 的 Kyle Jeong 正在以幾分之幾美分的成本驅動瀏覽器使用 Agent,Jarrod Watts 建立了一個即時交易 Agent,而 Ryan Vogel 則在大規模進行郵件分流。

如今每週都有新模型發布,但這一個獲得了相當巨大的反響。我們很高興看到你使用 LangChain 和 Jev 建構什麼。

請在 forum 告訴我們你的想法,在 X 上標記我們並分享你正在建構的內容,或參與 LangChain issues

致謝

感謝 @huntlovell@hwchase@ccurme@veryboldbagel 以及 Nathan Drenzer 提供的深思熟慮的審查與貢獻。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章