TypeSafe Skill v0.5.7 於 2026 年 9 月 12 日標記,一行 npx 指令裝進 Codex,教代理用 Jev 寫功能。 Claude Code 則用兩行外掛指令安裝。這份 TypeSafe AI 官方代理技能不會讓程式代理自動把自己的下一步交給 Jev。讓代理呼叫 Jev Choice 再照結果行動,是另一種用法,提示、門檻、失敗處理與紀錄都得自己補上。

最近流傳一段示範:Codex 裝好這個技能後,把「下一步該搜尋、讀程式碼還是問使用者」交給 Jev 決定,信心 0.8 以下就轉人工。示範本身可以參考,但它展示的用法和官方技能的設計目的不同。Jev 型別化判斷的基本原理,Tenten 先前已經寫過。這篇只看技能裝進去後改變了什麼,以及代理交出決定權前該補哪些保護。

安裝 TypeSafe Skill:三種方式擇一,再檢查 Codex 金鑰與沙箱

TypeSafe Skill 放在 TypeSafe 官方 skills 儲存庫,採 MIT 授權,版本號 0.5.7,標記提交時間是 2026 年 9 月 12 日。Claude Code 使用外掛市集,其他代理用 skills 命令列工具:

# Claude Code
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai

# Codex 與其他代理
npx skills add typesafe-ai/skills --skill typesafe-ai

依 TypeSafe 代理技能文件,npx skills add 預設只裝在目前專案,加上 -g 才是全域。三種方式擇一,重複安裝會留下不同步的說明。

安裝方式 預設範圍 明確呼叫 更新指令
Claude Code 外掛 使用者範圍,可用 --scope project 改為專案 /typesafe:typesafe-ai claude plugin marketplace update typesafe-ai、claude plugin update typesafe@typesafe-ai
npx skills add(Codex) 專案內 .agents/skills/ 提示中寫「使用 TypeSafe 技能」 npx skills update
手動複製 你放的目錄 同上 整個目錄換成 GitHub 最新版

安裝範圍比想像中小。截至 2026 年 10 月 5 日,儲存庫只有兩個外掛描述檔、README、兩份授權檔,以及一份 149 行的 SKILL.md。沒有腳本、hook,也沒有 MCP 伺服器。裝進去的是一份給代理讀的說明,不會在背景執行任何東西。

要讓代理真的發出請求,還需要金鑰。官方 Python SDK 與 HTTP 範例都從環境變數讀取:

export TYPESAFE_API_KEY="你的金鑰"

Codex 有兩個預設值會影響這一步。依 OpenAI 的 Codex 設定參考,shell_environment_policy.ignore_default_excludes 預設為 true。名稱含 KEY、SECRET 或 TOKEN 的變數會在其他過濾規則執行前先保留下來,但你另外設定的過濾規則仍可能把它們拿掉;若你為了安全改成 false,TYPESAFE_API_KEY 也會被濾掉。Codex 核准與安全文件則說明,預設的 workspace-write 沙箱關閉網路,需要網路的指令會先請你核准。要讓呼叫直接通過,得在設定中開啟 sandbox_workspace_write.network_access = true。想把對外連線限制在 api.typesafe.ai,再加上 features.network_proxy 的網域規則。只加白名單、不開網路,不會生效。

TypeSafe Skill 不保證自動觸發

Claude Code 與 Codex 都會依技能的 description 判斷要不要載入。Claude Code 技能文件寫明,Claude 會在相關時自動使用技能,也可以用斜線指令直接呼叫。OpenAI 的 Codex 技能文件也有隱含呼叫:工作內容符合 description 時,Codex 可以自行選用。

TypeSafe Skill 的 description 鎖定三種情境。一是功能需要程式化常識,二是腦力激盪 AI 能替應用做什麼,三是把大型語言模型的提示加解析改成結構化決策。示範宣稱裝好後,代理遇到任何判斷、分類或路由都會自動使用它,這個說法比文件寬。TypeSafe 自己的疑難排解把「代理沒有使用技能」列為常見問題。對策是在 Claude Code 輸入 /typesafe:typesafe-ai,其他代理則在提示中點名。點名不花成本,也省去猜測。

裝好之後,代理被要求做什麼

TypeSafe Skill 的 SKILL.md 第一條指示是讀即時文件:先查 llms.txt 索引,再讀 API、SDK 與 Confidence 頁面,不憑記憶寫整合程式碼。接著要代理從使用者想要的應用行為往回推,找出需要語意理解的判斷點。

分工規則寫得很清楚。已知規則、計算、精確查詢與實際執行都留在程式碼裡,Jev 只負責語意判斷。代理要在 Choice、Noul、Score 之間挑題型,把可以並行的問題放進同一個請求,再用代表性案例測試整個應用的行為。失敗時,要分開判斷是缺證據、模型判錯、程式錯誤還是服務故障。

門檻的寫法很保守。技能文件說,Choice 與 Score 的 confidence 只描述機率分布有多集中,不代表整個流程正確,也不等於允許執行。範例裡的門檻要當成待驗證的數字。TypeSafe 另有一頁 Jev 搭配程式代理的說明講得更直接:Jev 無法取代 Claude Code、Cursor 等程式代理工具背後的大型語言模型。技能的用途,是讓代理寫出正確的 TypeSafe 整合。

所以官方設想的使用者,是要在產品裡加入客服分流、文件重排或內容審核的人,請代理幫忙寫出呼叫 Jev 的程式。

同一個 TypeSafe Skill 的兩種用法:官方設計讓代理寫出呼叫 Jev 的程式,流傳示範讓代理把下一步交給 Jev 再過門檻

流傳的示範做的是另一件事

流傳的 Codex+Jev 示範,提示要求 Codex 把當前狀態送給 Jev Choice。使用者請求是分析某檔股票當天上漲的原因,已知事實為空,候選動作有五個:直接回答、上網搜尋、檢查本機程式碼、詢問使用者、轉人工。規則是 confidence 至少 0.8 才執行,否則轉人工;呼叫失敗時停止,不准 Codex 自行補判斷。

示範者回報的結果是 jev-1.13.0,輸入 495 個 token、輸出 63 個 token。web_search 機率 0.99,confidence 也是 0.99,Codex 隨即上網搜尋。這些數字是示範者自己的紀錄,Tenten 沒有重跑,也無法查證;以下是對照官方文件後的四點觀察。

第一,貼出來的 JSON 是代理整理過的摘要。依 TypeSafe HTTP API 參考,真正的回應把答案放在 answers 底下,以你取的問題 ID 為鍵。choice、probabilities 與 confidence 都在這一層裡,API 也沒有 finalAction 欄位。要稽核,就請代理保存原始回應。

第二,0.8 的意義要換算。TypeSafe 的 Confidence 文件列出 Choice 公式:(最高機率 − 1/n) ÷ (1 − 1/n)。五個選項時,confidence 0.8 等於最高機率 0.84;以機率 0.99 換算,confidence 是 0.9875,四捨五入正好是示範回報的 0.99。

五個選項時,Jev Choice 的 confidence 0.8 等於最高機率 0.84,示範回報的 0.99 換算為 0.9875

第三,這題太簡單。沒有任何已知事實、又問當天行情,幾乎任何判斷方式都會選搜尋。這次結果只能證明串接成功,無法說明 0.8 是不是好門檻。

第四,模型費用確實低。依 Jev 模型文件,jev-1.13.0 每百萬輸入 token 收 USD 0.042,輸出不計費。用示範的 495 個 token 推算,一次約 USD 0.0000208,一萬次約 USD 0.21。這是本文推算,只含 Jev 費用;Codex 組請求、讀回應所耗的 token 不在內。示範提到 Jev 能減少 Codex 額度消耗,Tenten 沒有量測,無法證實。

面向 官方技能的用法 示範的用法
Jev 判斷的對象 你的應用要處理的資料 程式代理自己的下一步
誰寫門檻 程式碼裡的常數,可審查 提示裡的一句話
失敗處理 由應用程式碼負責 只能靠代理遵守提示
每次判斷的成本 Jev 輸入 token Jev 輸入 token 加上代理組請求的 token

想讓代理交出下一步,先補四道保護

讓 Codex 把下一步交給 Jev 的模式值得試,尤其是「要不要先問人」這種判斷。前提是提示寫清楚,結果留得下來。以下是 Tenten 依官方 API 欄位改寫的提示範例,沒有實際執行,也沒有呼叫付費 API:

使用 TypeSafe 技能。

這一步的動作由 Jev 決定:實際呼叫 POST https://api.typesafe.ai/v1/systemone,不要只做文字分析。
model 固定為 jev-1.13.0,金鑰從環境變數 TYPESAFE_API_KEY 讀取,不得印出。

state:
{
  "userRequest": "分析今天輝達股價上漲的原因",
  "knownFacts": [],
  "availableTools": ["answer_directly", "web_search", "inspect_code", "ask_user"]
}

問題(Choice):為了可靠完成使用者要求,下一步應採取哪個動作?
選項:
- answer_directly:已有穩定資訊,可以直接回答
- web_search:需要最新的外部資訊
- inspect_code:需要檢查本機專案檔案
- ask_user:缺少完成任務必需的資訊
- human_review:風險較高,或沒有合適選項

執行規則:
- confidence 達 0.8 以上才執行 Jev 選出的動作,否則改為 human_review。
- 收到 401 或 422:停止並回報,不重試。
- 收到 429 或 529:指數退避重試最多 3 次,仍失敗就停止並回報。
- 任何失敗都不得由你自行補上判斷。
- 先把原始回應的 model、usage、answers 完整寫入 logs/jev-decisions.jsonl,再執行動作。
代理把下一步交給 Jev 前的四道保護:固定 jev-1.13.0、用標記案例訂門檻、401/422 停止並對 429/529 退避重試、寫入決策紀錄

固定模型版本,寫明提示

讓 Codex 把下一步交給 Jev 時,第一道保護是固定模型版本:提示要點名 TypeSafe 技能、要求實際呼叫 API,並把 model 固定為 jev-1.13.0。模型文件說 jev-latest 會隨新版移動,答案可能跟著變;門檻調好之後,除非重新校準,否則不要換版本。

用標記案例訂門檻

Jev 的 confidence 門檻要用自己標記過的歷史任務來訂。找一批過去的任務,人工標出正確的下一步,再看不同門檻下的錯誤與轉人工比例。Confidence 文件主張門檻隨風險調整:唯讀的搜尋可以寬一點,會寫檔或對外送出的動作要嚴一點。若只是在幾個無害選項間挑最可能的一個,TypeSafe 說取最高者即可;要決定何時轉人工,就需要門檻。模型文件也提醒,英文是 Jev 的主要訓練語言,中文等 CJK 文字也能處理,但準確度不如英文;state 用中文寫時,門檻更要拿自己的中文案例測過,並留意 confidence 的變化。

API 出錯就停

TypeSafe API 出錯時,代理應該停下:401 與 422 不重試,429 與 529 退避重試。API 參考列出 401 金鑰錯誤、422 請求格式錯誤、429 超過速率、529 服務過載;前兩種重試也沒用,後兩種等一下可能恢復。模型文件標示目前上限為每秒 80 個請求、每秒 10 萬個 token,並說明數字會動態調整。任何一種失敗,代理都不該自己猜。

每次決策都留紀錄

每次 Jev 決策都要留下紀錄:保存模型版本、state、選項、完整機率、confidence、門檻與最後執行的動作。state 會送到 TypeSafe 的伺服器,金鑰、個資與內部程式碼片段都不該放進去;模型文件寫明 Jev 不拿客戶請求訓練,零資料保存則只提供給企業客戶。

就算 Jev 選了 web_search,Codex 的沙箱與核准規則照樣生效。決策層只提出建議,權限仍由執行環境把關。這和用 Jev 替 Grok Bot 選下一位執行者的設計相同:模型挑選項,程式檢查授權。

示範說法與官方文件不一致的地方

把流傳示範的五項說法逐一對照 TypeSafe、OpenAI 與 Anthropic 的文件後,一項相符、一項只對一半,三項需要修正或無法證實。速度與價格倍數都是 Jev 相對大型語言模型的比較。

示範的說法 官方或原始來源 差異
安裝後下一輪起自動使用 依 description 判斷,TypeSafe 建議點名技能 可能觸發,不保證
快 40 到 200 倍,延遲 70 到 500 毫秒 2026 年 9 月 15 日發表文寫的相同 一致,限 System One 類型的查詢
便宜 40 到 400 倍 官方頁面未見此數字;官網首頁列 444.6 倍,輸入價比 Claude Fable 5.1 低 238 倍 444.6 倍來自自家工作流程測試
回應含 choice、finalAction API 回應在 answers 底下,沒有 finalAction 示範貼的是代理摘要
開源仿製 kev 由 Devin 撰寫 kev 儲存庫存在,README 沒有提到 Devin 撰寫方式無法證實

Jev 速度與價格倍數的出處是 TypeSafe 在 2026 年 9 月 15 日的 Jev 發表文。發表文也承認,首頁的 193.6 倍與 444.6 倍落在實際效益的高端,測試由自家模型能力團隊建立,可能有偏差。

常見問題

TypeSafe Skill 在 Codex 要怎麼安裝?

TypeSafe Skill 在 Codex 用 npx skills add 指令安裝,參數是 typesafe-ai/skills --skill typesafe-ai。執行時選擇 Codex。預設裝在目前專案的 .agents/skills/,加 -g 才是全域。裝好後若代理沒有載入,TypeSafe 建議確認安裝目標正確並重新啟動代理。

TypeSafe Skill 會讓 Codex 改用 Jev 當主模型嗎?

TypeSafe Skill 不會改變 Codex 背後的模型。TypeSafe 文件明說,Jev 不會產生文字或程式碼,也沒有任何設定能讓程式代理改由 Jev 驅動。技能只提供 API、題型與設計原則,讓代理寫出正確的整合。

安裝 TypeSafe Skill 一定要有 API 金鑰嗎?

安裝 TypeSafe Skill 不需要金鑰,儲存庫裡沒有可執行的程式。要讓代理實際呼叫 Jev 或跑測試查詢時,才需要在 TYPESAFE_API_KEY 設定金鑰。網頁應用則要把金鑰留在伺服器端。

kev 能接手 Codex 的決策請求嗎?

kev 可以接收 TypeSafe System One 格式的請求,但門檻要重新測試。kev 是 jaredpalmer GitHub 帳號下的開源專案,以 Apache-2.0 授權,建在 Qwen3.5 與 Qwen3.8 上;README 說 API 對齊 TypeSafe 的 System One,官方 Python SDK 不改即可連到本機伺服器。kev 和 Jev 是不同模型,對 Jev 調好的門檻未必適用。

參考來源

Author Insight

代理的下一步只要會寫檔、對外送出或花錢,Jev 的 confidence 就不該單獨放行。TypeSafe 自己的文件說 confidence 只描述分布集中度,不代表允許執行;這句話在代理情境裡比在客服分流更要緊,因為錯一步可能直接改到程式碼。只有唯讀動作,而且手上有一批標好正確答案的歷史任務時,把決定交給 Jev 才划算。

術語表

術語 本文用法
代理技能(skill) 放在 SKILL.md 的說明,程式代理依需要載入
Choice Jev 從預先定義的選項中選一個的題型
confidence 由 Choice/Score 機率分布算出的集中度
失敗即停 API 出錯時停止流程,不由代理自行補判斷
description 技能中描述用途的欄位,代理據此決定是否自動載入
Share this post
Ewan Mak

I'm a Full Stack Developer with expertise in building modern web applications that fast, secure, and scalable. Crafting seamless user experiences with a passion for headless CMS, Vercel and Cloudflare

Loading...