[{"data":1,"prerenderedAt":1740},["ShallowReactive",2],{"content-/typesafe-jev-use-cases":3,"all-pages-for-dir":1721,"related-/typesafe-jev-use-cases":1722,"og-image-/typesafe-jev-use-cases":1739},{"id":4,"title":5,"body":6,"category":1704,"concepts":1704,"description":1705,"extension":1706,"meta":1707,"navigation":146,"ogImage":1704,"path":1708,"project_name":1704,"published":1709,"publishedAt":1710,"seo":1711,"source":1704,"stem":1712,"tags":1713,"todo":1704,"unpublished":1709,"updatedAt":1704,"__hash__":1720},"pages/2026-09/2026-09-18/typesafe-jev-use-cases.md","出力が無料のモデル Jev は何に使えるか",{"type":7,"value":8,"toc":1685},"minimark",[9,13,17,20,24,46,50,58,61,82,89,417,420,555,558,561,564,567,578,581,584,590,597,600,603,606,609,621,624,627,644,647,651,654,741,744,747,807,810,813,816,822,825,828,831,834,938,941,944,947,950,953,991,994,1001,1004,1054,1057,1060,1069,1072,1109,1112,1116,1119,1122,1134,1137,1140,1143,1193,1196,1199,1202,1205,1253,1256,1259,1266,1269,1273,1276,1279,1282,1289,1292,1408,1415,1418,1423,1426,1456,1459,1463,1466,1469,1487,1490,1493,1496,1499,1533,1536,1539,1542,1681],[10,11,5],"h1",{"id":12},"出力が無料のモデル-jev-は何に使えるか",[14,15,16],"p",{},"Vercel AI Gateway のモデル一覧に Jev という名前が並んでいる。\nTypeSafe AI が出したモデルで、出力の単価が $0.00 と表示されている。\n記帳代行のように、同じ判定を何千回も繰り返す仕事をしていると、この表示は目に留まる。",[14,18,19],{},"結論から言うと、記帳代行には向いていなかった。\n代わりに、どこでなら効くのかがはっきりした。",[21,22,23],"h2",{"id":23},"調べてわかったこと",[25,26,27,31,34,37,40,43],"ul",{},[28,29,30],"li",{},"出力が無料なのは本当だった。値引きではなく、テキストを生成しないという構造から来ている",[28,32,33],{},"画像は渡せない。受け取るのはテキストと構造化テキストだけ",[28,35,36],{},"記帳代行には向かない。Gemini 3.8 Flash との単価差は、実務量では月200円ほどにしかならない",[28,38,39],{},"実際に使われているのは、決まった選択肢から短い時間で1つ選ぶ場面。ゲームの判断、ブラウザ操作の選択、大量の分類",[28,41,42],{},"生の状態ではなく、計算済みの事実を渡すと精度が上がる。チェスでは最善手率が13%から37%になった",[28,44,45],{},"課金は前払いのクレジット制で、オートチャージを有効にしない限り、入れた額を超えて請求されることはない",[21,47,49],{"id":48},"jev-が返すもの","Jev が返すもの",[14,51,52,53,57],{},"Jev は文章を書かない。\n状態を投げると、型のついた答えと確率が返る。\nチャットの代わりではなく、",[54,55,56],"code",{},"if"," 文の代わりに置くモデルである。",[14,59,60],{},"答えの型は3つしかない。",[25,62,63,70,76],{},[28,64,65,69],{},[66,67,68],"strong",{},"boolean","：真である確率が0から1で返る",[28,71,72,75],{},[66,73,74],{},"choice","：名前のついた選択肢から1つを選び、選択肢ごとの確率が付く",[28,77,78,81],{},[66,79,80],{},"score","：順序のある尺度で補間されたスコアと、段ごとの確率が返る",[14,83,84,85,88],{},"呼び出しには AI SDK の ",[54,86,87],{},"experimental_evaluate"," を使う。",[90,91,96],"pre",{"className":92,"code":93,"language":94,"meta":95,"style":95},"language-typescript shiki shiki-themes vitesse-light vitesse-light","import { experimental_evaluate as evaluate } from 'ai';\n\nconst result = await evaluate({\n  model: 'typesafe-ai/jev',\n  state: { 日付: '2026-09-15', 摘要: 'アマゾン ウェブ サービス', 金額: 12800 },\n  questions: {\n    kamoku: {\n      type: 'choice',\n      instructions: '勘定科目を選べ',\n      criteria: {\n        通信費: 'クラウドや回線の利用料',\n        支払手数料: '決済にかかる手数料',\n        消耗品費: '少額の物品',\n      },\n    },\n    kazei: {\n      type: 'boolean',\n      instructions: '課税仕入れ10%か',\n    },\n  },\n});\n","typescript","",[54,97,98,141,148,170,190,240,249,257,273,290,298,315,332,349,355,361,369,384,400,405,411],{"__ignoreMap":95},[99,100,103,107,111,115,118,121,124,127,131,135,138],"span",{"class":101,"line":102},"line",1,[99,104,106],{"class":105},"sHkkW","import",[99,108,110],{"class":109},"shFtX"," {",[99,112,114],{"class":113},"s4oTP"," experimental_evaluate",[99,116,117],{"class":105}," as",[99,119,120],{"class":113}," evaluate",[99,122,123],{"class":109}," }",[99,125,126],{"class":105}," from",[99,128,130],{"class":129},"sMJiu"," '",[99,132,134],{"class":133},"sdGka","ai",[99,136,137],{"class":129},"'",[99,139,140],{"class":109},";\n",[99,142,144],{"class":101,"line":143},2,[99,145,147],{"emptyLinePlaceholder":146},true,"\n",[99,149,151,155,158,161,164,167],{"class":101,"line":150},3,[99,152,154],{"class":153},"stQ0i","const ",[99,156,157],{"class":113},"result",[99,159,160],{"class":109}," =",[99,162,163],{"class":105}," await",[99,165,120],{"class":166},"senZ8",[99,168,169],{"class":109},"({\n",[99,171,173,177,180,182,185,187],{"class":101,"line":172},4,[99,174,176],{"class":175},"sz8Xr","  model",[99,178,179],{"class":109},": ",[99,181,137],{"class":129},[99,183,184],{"class":133},"typesafe-ai/jev",[99,186,137],{"class":129},[99,188,189],{"class":109},",\n",[99,191,193,196,199,202,204,206,209,211,214,217,219,221,224,226,228,231,233,237],{"class":101,"line":192},5,[99,194,195],{"class":175},"  state",[99,197,198],{"class":109},": { ",[99,200,201],{"class":175},"日付",[99,203,179],{"class":109},[99,205,137],{"class":129},[99,207,208],{"class":133},"2026-09-15",[99,210,137],{"class":129},[99,212,213],{"class":109},", ",[99,215,216],{"class":175},"摘要",[99,218,179],{"class":109},[99,220,137],{"class":129},[99,222,223],{"class":133},"アマゾン ウェブ サービス",[99,225,137],{"class":129},[99,227,213],{"class":109},[99,229,230],{"class":175},"金額",[99,232,179],{"class":109},[99,234,236],{"class":235},"sM54T","12800",[99,238,239],{"class":109}," },\n",[99,241,243,246],{"class":101,"line":242},6,[99,244,245],{"class":175},"  questions",[99,247,248],{"class":109},": {\n",[99,250,252,255],{"class":101,"line":251},7,[99,253,254],{"class":175},"    kamoku",[99,256,248],{"class":109},[99,258,260,263,265,267,269,271],{"class":101,"line":259},8,[99,261,262],{"class":175},"      type",[99,264,179],{"class":109},[99,266,137],{"class":129},[99,268,74],{"class":133},[99,270,137],{"class":129},[99,272,189],{"class":109},[99,274,276,279,281,283,286,288],{"class":101,"line":275},9,[99,277,278],{"class":175},"      instructions",[99,280,179],{"class":109},[99,282,137],{"class":129},[99,284,285],{"class":133},"勘定科目を選べ",[99,287,137],{"class":129},[99,289,189],{"class":109},[99,291,293,296],{"class":101,"line":292},10,[99,294,295],{"class":175},"      criteria",[99,297,248],{"class":109},[99,299,301,304,306,308,311,313],{"class":101,"line":300},11,[99,302,303],{"class":175},"        通信費",[99,305,179],{"class":109},[99,307,137],{"class":129},[99,309,310],{"class":133},"クラウドや回線の利用料",[99,312,137],{"class":129},[99,314,189],{"class":109},[99,316,318,321,323,325,328,330],{"class":101,"line":317},12,[99,319,320],{"class":175},"        支払手数料",[99,322,179],{"class":109},[99,324,137],{"class":129},[99,326,327],{"class":133},"決済にかかる手数料",[99,329,137],{"class":129},[99,331,189],{"class":109},[99,333,335,338,340,342,345,347],{"class":101,"line":334},13,[99,336,337],{"class":175},"        消耗品費",[99,339,179],{"class":109},[99,341,137],{"class":129},[99,343,344],{"class":133},"少額の物品",[99,346,137],{"class":129},[99,348,189],{"class":109},[99,350,352],{"class":101,"line":351},14,[99,353,354],{"class":109},"      },\n",[99,356,358],{"class":101,"line":357},15,[99,359,360],{"class":109},"    },\n",[99,362,364,367],{"class":101,"line":363},16,[99,365,366],{"class":175},"    kazei",[99,368,248],{"class":109},[99,370,372,374,376,378,380,382],{"class":101,"line":371},17,[99,373,262],{"class":175},[99,375,179],{"class":109},[99,377,137],{"class":129},[99,379,68],{"class":133},[99,381,137],{"class":129},[99,383,189],{"class":109},[99,385,387,389,391,393,396,398],{"class":101,"line":386},18,[99,388,278],{"class":175},[99,390,179],{"class":109},[99,392,137],{"class":129},[99,394,395],{"class":133},"課税仕入れ10%か",[99,397,137],{"class":129},[99,399,189],{"class":109},[99,401,403],{"class":101,"line":402},19,[99,404,360],{"class":109},[99,406,408],{"class":101,"line":407},20,[99,409,410],{"class":109},"  },\n",[99,412,414],{"class":101,"line":413},21,[99,415,416],{"class":109},"});\n",[14,418,419],{},"返ってくるのはこういう形になる。",[90,421,425],{"className":422,"code":423,"language":424,"meta":95,"style":95},"language-javascript shiki shiki-themes vitesse-light vitesse-light","{\n  kamoku: {\n    type: 'choice',\n    choice: '通信費',\n    probabilities: { 通信費: 0.94, 支払手数料: 0.05, 消耗品費: 0.01 },\n  },\n  kazei: { type: 'boolean', probability: 0.97 },\n}\n","javascript",[54,426,427,432,443,458,474,514,518,550],{"__ignoreMap":95},[99,428,429],{"class":101,"line":102},[99,430,431],{"class":109},"{\n",[99,433,434,437,440],{"class":101,"line":143},[99,435,436],{"class":166},"  kamoku",[99,438,439],{"class":109},":",[99,441,442],{"class":109}," {\n",[99,444,445,448,450,452,454,456],{"class":101,"line":150},[99,446,447],{"class":166},"    type",[99,449,439],{"class":109},[99,451,130],{"class":129},[99,453,74],{"class":133},[99,455,137],{"class":129},[99,457,189],{"class":109},[99,459,460,463,465,467,470,472],{"class":101,"line":172},[99,461,462],{"class":166},"    choice",[99,464,439],{"class":109},[99,466,130],{"class":129},[99,468,469],{"class":133},"通信費",[99,471,137],{"class":129},[99,473,189],{"class":109},[99,475,476,479,481,483,486,488,491,494,497,499,502,504,507,509,512],{"class":101,"line":192},[99,477,478],{"class":166},"    probabilities",[99,480,439],{"class":109},[99,482,110],{"class":109},[99,484,485],{"class":166}," 通信費",[99,487,439],{"class":109},[99,489,490],{"class":235}," 0.94",[99,492,493],{"class":109},",",[99,495,496],{"class":166}," 支払手数料",[99,498,439],{"class":109},[99,500,501],{"class":235}," 0.05",[99,503,493],{"class":109},[99,505,506],{"class":166}," 消耗品費",[99,508,439],{"class":109},[99,510,511],{"class":235}," 0.01",[99,513,239],{"class":109},[99,515,516],{"class":101,"line":242},[99,517,410],{"class":109},[99,519,520,523,525,527,530,532,534,536,538,540,543,545,548],{"class":101,"line":251},[99,521,522],{"class":166},"  kazei",[99,524,439],{"class":109},[99,526,110],{"class":109},[99,528,529],{"class":166}," type",[99,531,439],{"class":109},[99,533,130],{"class":129},[99,535,68],{"class":133},[99,537,137],{"class":129},[99,539,493],{"class":109},[99,541,542],{"class":166}," probability",[99,544,439],{"class":109},[99,546,547],{"class":235}," 0.97",[99,549,239],{"class":109},[99,551,552],{"class":101,"line":259},[99,553,554],{"class":109},"}\n",[14,556,557],{},"1回のリクエストで複数の質問に並列で答えるのが、このモデルの形である。\n1件の取引について科目と税区分と按分の要否を同時に聞くと、0.4秒で答えが返る。",[21,559,560],{"id":560},"出力が無料である理由",[14,562,563],{},"TypeSafe の価格は入力が100万トークンあたり $0.042 で、出力は $0.00。\nVercel のモデル一覧でも出力は $0.00/1M と表示される。",[14,565,566],{},"無料なのは値引きではない。\nJev はトークンを1つずつ生成しないので、課金の対象になる生成フェーズがそもそも存在しない。\n入力に対する1回の前向き計算で確率分布が確定し、そこで終わる。\nVercel のモデルページはコンテキスト長を \"Not applicable\" と表示するが、上限がないわけではない。\nCloudflare のモデルページによると約32,000トークンで、超えた状態は切り詰めではなく拒否される。",[14,568,569,570,573,574,577],{},"ただし ",[54,571,572],{},"result.usage"," には ",[54,575,576],{},"outputTokens"," の値が返る。\n単価が0なので請求には響かないが、0件になるわけではない。",[21,579,580],{"id":580},"画像は渡せない",[14,582,583],{},"記帳代行を考えるなら、最初に確かめるべきはここだった。",[14,585,586,589],{},[54,587,588],{},"state"," の型は「JSON-compatible shared state」と定義されていて、受け付けるのは文字列とオブジェクトと配列である。\n画像パートの受け口が型として存在しない。\n第三者の検証記事も、扱えるのはテキストと構造化テキストだけで、画像と音声と動画には対応しないと報告している。\nVercel のモデルページは capability metadata 自体が未報告なので、公式に「非対応」と明記されているわけではないが、渡す手段がない点は変わらない。",[14,591,592,593,596],{},"では画像を先に別のモデルで構造化すればよいか、という発想になる。\nレシートを読めるモデルに通して日付と店名と金額と税率内訳を JSON にし、それを Jev へ渡す。\n筋は通っているが、この構成には穴がある。\n",[66,594,595],{},"読めるモデルを呼んだ時点で、同じ呼び出しの中で「これは何費か」まで聞ける","。\nJev を挟むと、往復とベンダーが1つ増えるだけで得るものがない。",[14,598,599],{},"文字起こしに特化したモデルを使う手もある。\nただしレシートは、文字が読めれば済むわけではない。\nどれが合計でどれが税額か、軽減税率の内訳がどこに書かれているかというレイアウトの解釈が要る。\n領収書のスキーマを持つドキュメント抽出のサービスに、構造化まで任せるほうが素直だろう。",[14,601,602],{},"いずれにせよ、画像が入口なら Jev の居場所は狭い。",[21,604,605],{"id":605},"記帳代行に当てはめてみる",[14,607,608],{},"記帳の入力を件数で見ると、大半は銀行とカードの明細である。\nレシートの画像は一部にすぎない。\n明細は最初からテキストで、件数が桁違いに多く、同じ判定を何度も回す。\nJev の条件に合うのはこちらだった。",[610,611,612,617],"figure",{},[613,614],"img",{"src":615,"alt":616},"/images/typesafe-jev-use-cases/figure-01.svg","銀行やカードの明細を辞書マッチで絞り、残りを Jev で判定して、返ってきた確率で自動起票とレビューに振り分ける流れ",[618,619,620],"figcaption",{},"図1: 入口が明細データなら、辞書マッチで既知を落としてから Jev に回し、返ってきた確率で人が見る件数を絞れる",[14,622,623],{},"判定そのものより、確率が返ることに価値がある。\n確率があると、自動化の線を機械的に引ける。",[14,625,626],{},"1件の取引に対して聞く質問は、こういうものになる。",[25,628,629,632,635,638,641],{},[28,630,631],{},"勘定科目の判定（choice）",[28,633,634],{},"税区分の判定（choice。課税10%、軽減8%、非課税、不課税、対象外）",[28,636,637],{},"家事按分の要否（boolean）",[28,639,640],{},"修繕費か資本的支出か（choice。判断が割れる論点なので、確率が低く出ること自体が情報になる）",[28,642,643],{},"重複計上の疑い（boolean。同額で日付の近い2件を並べて聞く）",[14,645,646],{},"辞書マッチは省けない。\n過去の仕訳と摘要が一致する取引は、確率の計算を通す必要がない。\n決定的に決まり、費用がかからず、あとから根拠を説明できる。\n判定へ回すのは、そこで落ちなかった分だけでよい。",[21,648,650],{"id":649},"gemini-38-flash-と比べる","Gemini 3.8 Flash と比べる",[14,652,653],{},"単価だけを見れば Jev がはるかに安い。\nGemini 3.8 Flash は入力が100万トークンあたり $0.75 で、Jev の17.9倍になる。\n出力は $3.75 で、こちらは比べる相手がいない。",[655,656,657,672],"table",{},[658,659,660],"thead",{},[661,662,663,666,669],"tr",{},[664,665],"th",{},[664,667,668],{},"Jev",[664,670,671],{},"Gemini 3.8 Flash",[673,674,675,687,698,709,719,730],"tbody",{},[661,676,677,681,684],{},[678,679,680],"td",{},"入力",[678,682,683],{},"$0.042/1M",[678,685,686],{},"$0.75/1M",[661,688,689,692,695],{},[678,690,691],{},"出力",[678,693,694],{},"$0.00/1M",[678,696,697],{},"$3.75/1M",[661,699,700,703,706],{},[678,701,702],{},"半額になる経路",[678,704,705],{},"なし",[678,707,708],{},"Batch と Flex で $0.375 と $1.875",[661,710,711,714,716],{},[678,712,713],{},"キャッシュ読み取り入力",[678,715,705],{},[678,717,718],{},"$0.075/1M",[661,720,721,724,727],{},[678,722,723],{},"コンテキスト長",[678,725,726],{},"Not applicable",[678,728,729],{},"1,000,000",[661,731,732,735,738],{},[678,733,734],{},"画像",[678,736,737],{},"渡せない",[678,739,740],{},"渡せる",[14,742,743],{},"Gemini の現行価格は2026年12月31日までで、2027年1月1日に $1.50 と $7.50 へ倍になる。",[14,745,746],{},"ここまでなら Jev の勝ちに見える。\n実際に1件いくらになるかを置くと、話が変わる。\n明細1件を分類する場面を考えて、摘要と日付と金額に候補科目と指示を足し、入力300トークンと置く。",[655,748,749,762],{},[658,750,751],{},[661,752,753,756,759],{},[664,754,755],{},"呼び方",[664,757,758],{},"1件あたり",[664,760,761],{},"Jev との差",[673,763,764,774,785,796],{},[661,765,766,768,771],{},[678,767,668],{},[678,769,770],{},"$0.0000126",[678,772,773],{},"1倍",[661,775,776,779,782],{},[678,777,778],{},"Gemini に1件ずつ聞く",[678,780,781],{},"$0.00045",[678,783,784],{},"36倍",[661,786,787,790,793],{},[678,788,789],{},"Gemini に100件まとめて聞く",[678,791,792],{},"$0.00013",[678,794,795],{},"10倍",[661,797,798,801,804],{},[678,799,800],{},"100件まとめて Batch API に流す",[678,802,803],{},"$0.00006",[678,805,806],{},"5倍",[14,808,809],{},"まとめて投げると、指示と候補科目を1回送るだけで100件ぶん使い回せる。\nJev は1つの状態に複数の質問を並べる形なので、明細100件は100回の呼び出しになり、毎回オーバーヘッドを払う。\nこの非対称が効いて、倍率は36倍から5倍まで縮む。",[14,811,812],{},"そのうえ絶対額が小さい。\n月3,000件を処理したときの料金は、Jev が $0.04、Gemini に1件ずつ聞いても $1.35 にしかならない。\n1ドル150円なら、差は月200円に届かない。\n2027年の値上げ後でも400円ほどである。",[14,814,815],{},"画像を入れると順番が入れ替わる。\nGemini はレシートの画像をそのまま受け取り、読むのと判定するのを1回の呼び出しで済ませられる。\n画像は384ピクセル以下なら258トークン、それより大きければ768かける768のタイルに分割して課金される。\nレシート1枚を画像1,000トークン、指示を400トークン、出力を150トークンと置くと、1枚あたり $0.0016 になる。\n月1,000枚でも $1.6 で、日本円にすると240円ほど。\nここに Jev を挟んでも、読む工程の料金は減らないまま、Jev の分が上に乗るだけになる。",[14,817,818,821],{},[66,819,820],{},"記帳代行で価格を理由に Jev を選ぶ場面は、ほとんどない","。\n残る理由は2つだけになる。\n1件0.4秒というレイテンシと、生成されたテキストではなく分布として返る確率である。\nGemini に確信度を出させることもできるが、それは生成されたトークンであって、較正された確率ではない。\nただし Jev の確率がよく較正されているかどうかは TypeSafe の主張であって、私は確かめていない。",[14,823,824],{},"なお、どちらのモデルも Vercel AI Gateway の無料枠には入っていない。\nGemini を試すだけでもクレジットの購入が要る。",[14,826,827],{},"上の1件あたりの金額は、いずれも私の試算になる。\nトークン数の置き方を変えれば倍率は動くので、桁の感覚として読んでほしい。",[21,829,830],{"id":830},"実際に何に使われているか",[14,832,833],{},"早期アクセスが始まって数日のあいだに、実測を添えた報告がいくつも出ている。\n数字が付いているものを拾うと、使われ方は5つに分かれた。",[655,835,836,849],{},[658,837,838],{},[661,839,840,843,846],{},[664,841,842],{},"用途",[664,844,845],{},"何をさせているか",[664,847,848],{},"報告された実測",[673,850,851,862,873,884,895,905,916,927],{},[661,852,853,856,859],{},[678,854,855],{},"ブラウザエージェント",[678,857,858],{},"画面を見ずに、DOMの構造化スナップショットから次の操作を選ぶ",[678,860,861],{},"検索タスクが9.45秒から7.1秒へ。ブラウザプロトコルの呼び出しが1,092回から101回へ。1タスク $0.0039",[661,863,864,867,870],{},[678,865,866],{},"同上",[678,868,869],{},"LLM が計画を立ててコードを書き、Jev は次の操作だけを選ぶ",[678,871,872],{},"記録済みタスクで所要時間が約40%減",[661,874,875,878,881],{},[678,876,877],{},"ツール呼び出しの門番",[678,879,880],{},"エージェントのツール呼び出しを5つの質問に分解して判定する",[678,882,883],{},"600回で $0.054、1回 $0.0000365、p95 595ミリ秒、正当な呼び出しの誤ブロック0%、合成した攻撃の検出100%",[661,885,886,889,892],{},[678,887,888],{},"大量分類",[678,890,891],{},"YouTube のスパムコメント判定",[678,893,894],{},"70件中12件がスパム。Jev は3件見逃して25秒 $0.00114、GPT-5.6 Luna は2件見逃して79秒 $0.00267",[661,896,897,899,902],{},[678,898,866],{},[678,900,901],{},"既存の分類器の評価を Gemini 2.5 Flash Lite から差し替え",[678,903,904],{},"品質で上回り、速度は6倍",[661,906,907,910,913],{},[678,908,909],{},"モデルルーター",[678,911,912],{},"どのモデルに投げるかを Jev が決める",[678,914,915],{},"Opus だけを使う場合より26%安い",[661,917,918,921,924],{},[678,919,920],{},"コーディングエージェントの承認",[678,922,923],{},"確認のたびに止まるのを、書いたルールに従って自動で判断させる",[678,925,926],{},"1回0.7秒、0.01セント",[661,928,929,932,935],{},[678,930,931],{},"検索結果の選別",[678,933,934],{},"生成へ渡す前に、関連性と根拠としての使えるかどうかとプロンプトインジェクションの危険を判定する",[678,936,937],{},"実測の報告なし",[14,939,940],{},"並べてみると共通点がはっきりする。\nどれも答えの集合が先に決まっていて、それを短い時間で大量に選ばせる場面である。\nそして文章が要る部分は、どの事例でも LLM に残されている。",[21,942,943],{"id":943},"ゲームとチェス",[14,945,946],{},"ゲームに向いているという話をよく見かける。\n実例を当たると本当だったが、想像するものとは少し違った。",[14,948,949],{},"TypeSafe 自身のデモは Doom で、毎秒およそ10回の呼び出しを回して1時間あたり $7 ほどになる。\n入力は画面の画像ではなく、構造化されたテキストのゲーム状態である。",[14,951,952],{},"第三者のベンチマークには、もっと実務に近いものがある。\nプレイヤーが音声で話しかけたとき、どのキャラクターが反応すべきかを判定する課題で、79件のラベル付き発話を使っている。",[655,954,955,965],{},[658,956,957],{},[661,958,959,962],{},[664,960,961],{},"入力の質",[664,963,964],{},"F1",[673,966,967,975,983],{},[661,968,969,972],{},[678,970,971],{},"きれいなテキスト",[678,973,974],{},"0.962",[661,976,977,980],{},[678,978,979],{},"音声認識を通した版（小文字、句読点なし）",[678,981,982],{},"0.944",[661,984,985,988],{},[678,986,987],{},"聞き間違いを含む版",[678,989,990],{},"0.927",[14,992,993],{},"完全一致での正解率は92%で、手で書いたヒューリスティックの64%を上回った。\n応答の中央値は0.17秒、1回の呼び出しで8問から10問をまとめて聞いている。",[14,995,996,997,1000],{},"絵文字の候補をリアルタイムに出すデモでは、もうひとつ面白い性質が報告されていた。\n",[66,998,999],{},"選択肢が3個でも200個でも、応答速度が変わらない","。\n全部を並列に評価するので、選択肢を絞る努力が要らない。\n1文字ずつ生成するモデルとは、ここが決定的に違う。",[14,1002,1003],{},"そしてチェス。\nこれは Jev が苦手な課題として意図的に選ばれていて、結果がそのまま設計の指針になっている。",[655,1005,1006,1019],{},[658,1007,1008],{},[661,1009,1010,1013,1016],{},[664,1011,1012],{},"状態として渡したもの",[664,1014,1015],{},"最善手率",[664,1017,1018],{},"平均損失（センチポーン）",[673,1020,1021,1032,1043],{},[661,1022,1023,1026,1029],{},[678,1024,1025],{},"FEN文字列だけ",[678,1027,1028],{},"13%",[678,1030,1031],{},"533",[661,1033,1034,1037,1040],{},[678,1035,1036],{},"計算済みの事実を添える",[678,1038,1039],{},"27%",[678,1041,1042],{},"144",[661,1044,1045,1048,1051],{},[678,1046,1047],{},"戦術的な事実まで添える",[678,1049,1050],{},"37%",[678,1052,1053],{},"90",[14,1055,1056],{},"FEN だけを渡したときの棋力は Elo 968 程度にとどまる。\nJev は探索も計算もしない。\n計算はコードでやって、その結果を状態に入れてから判断させると、同じモデルのまま精度が上がる。",[21,1058,1059],{"id":1059},"設計の勘所",[610,1061,1062,1066],{},[613,1063],{"src":1064,"alt":1065},"/images/typesafe-jev-use-cases/figure-02.svg","決定的な計算はコードが担い、固定の選択肢からの判断を Jev、文章や画像の処理を LLM に振り分ける分担の図",[618,1067,1068],{},"図2: 計算をコード側に戻すほど、Jev に残るのは純粋な判断だけになり、精度が上がる",[14,1070,1071],{},"チェスの結果を一般化すると、仕事の分け方はこうなる。",[25,1073,1074,1080,1086,1092,1098,1104],{},[28,1075,1076,1079],{},[66,1077,1078],{},"質問は分解して、1回の呼び出しにまとめる","。TypeSafe 自身も、独立に分解された多数の質問を持つワークフローがもっとも安定すると書いている",[28,1081,1082,1085],{},[66,1083,1084],{},"計算はコード側でやり、結果を状態に入れる","。集計と突き合わせと検算を先に済ませる",[28,1087,1088,1091],{},[66,1089,1090],{},"選択肢を絞らない","。最大255個まで置けて、増やしても速度は変わらない",[28,1093,1094,1097],{},[66,1095,1096],{},"確信度は正解率ではない","。0.8 は正解率80%の保証ではないので、自分のデータで閾値を決め、人へ渡す境界まで設計して初めて使える",[28,1099,1100,1103],{},[66,1101,1102],{},"状態の上限は約32,000トークン","。超えると切り詰められるのではなく拒否される",[28,1105,1106],{},[66,1107,1108],{},"文章が要る部分は LLM に残す",[14,1110,1111],{},"記帳代行に当てはめるなら、摘要をそのまま投げるのではなく、過去に同じ摘要が何件あったか、月次の平均からどれだけ離れているかを先に計算して渡す形になる。\nチェスで最善手率が13%から37%になったのと同じ操作である。",[21,1113,1115],{"id":1114},"いつ-jev-を選ぶか","いつ Jev を選ぶか",[14,1117,1118],{},"ここまでの事例を並べると、判断の基準は1行に縮む。\n速度が要らないなら、LLM でよい。",[14,1120,1121],{},"Jev を選ぶ理由が立つのは、次の3つが重なったときだけになる。",[1123,1124,1125,1128,1131],"ol",{},[28,1126,1127],{},"答えの集合が先に決まっている",[28,1129,1130],{},"決めるまでの時間に上限がある",[28,1132,1133],{},"同じ判断を大量に繰り返す",[14,1135,1136],{},"逆に、ここで誤解しやすい点が2つある。",[14,1138,1139],{},"ひとつは、常時流し込めるわけではないこと。\n1回の呼び出しは1つの状態と質問群を受け取るだけで、状態を持たない。\n連続した入力を扱う形は「流し込み続ける」ではなく「高い頻度で呼び直す」になる。",[14,1141,1142],{},"もうひとつは、常時稼働の総額が安いとは限らないことである。\nDoom のデモの毎秒10回という頻度をそのまま延ばすと、こうなる。",[655,1144,1145,1158],{},[658,1146,1147],{},[661,1148,1149,1152,1155],{},[664,1150,1151],{},"呼び出しの頻度",[664,1153,1154],{},"1時間あたり",[664,1156,1157],{},"24時間動かした場合の月額",[673,1159,1160,1171,1182],{},[661,1161,1162,1165,1168],{},[678,1163,1164],{},"10回/秒",[678,1166,1167],{},"$7",[678,1169,1170],{},"約 $5,000",[661,1172,1173,1176,1179],{},[678,1174,1175],{},"1回/秒",[678,1177,1178],{},"$0.70",[678,1180,1181],{},"約 $500",[661,1183,1184,1187,1190],{},[678,1185,1186],{},"10秒に1回",[678,1188,1189],{},"$0.07",[678,1191,1192],{},"約 $50",[14,1194,1195],{},"エージェント1体でこの額になる。\n1件 $0.0004 だから常時回せる、とはならない。\n実際の形は、判断が要る瞬間だけ呼ぶか、1回の呼び出しに質問を詰めるかのどちらかになる。\n話者判定のベンチマークが1回に8問から10問をまとめていたのは、これが理由だろう。",[21,1197,1198],{"id":1198},"効かないところ",[14,1200,1201],{},"精度は高くない。\nTypeSafe 自身が公表している4ワークフローのベンチマークでは 67.8% だった。\nGPT-5.6 Terra の 67.9% とほぼ並び、GPT-5.6 Sol の 74.1% と Opus 5 の 73.1% を数ポイント下回る。\n売りは賢さではなく、速さと単価にある。\n同じベンチマークで1件あたり $0.0004 と0.4秒、比較対象の LLM は $0.0304 から $0.1761 と10秒から38秒だった。",[14,1203,1204],{},"宣伝の数字がそのまま出るわけでもない。\n公開から3日間に投稿された8,840件を集計した報告がある。",[655,1206,1207,1219],{},[658,1208,1209],{},[661,1210,1211,1213,1216],{},[664,1212],{},[664,1214,1215],{},"公称",[664,1217,1218],{},"実測の中央値",[673,1220,1221,1231,1242],{},[661,1222,1223,1226,1229],{},[678,1224,1225],{},"速度",[678,1227,1228],{},"193.6倍",[678,1230,806],{},[661,1232,1233,1236,1239],{},[678,1234,1235],{},"コスト",[678,1237,1238],{},"444.6倍",[678,1240,1241],{},"32倍",[661,1243,1244,1247,1250],{},[678,1245,1246],{},"レイテンシ",[678,1248,1249],{},"70から500ミリ秒",[678,1251,1252],{},"270ミリ秒",[14,1254,1255],{},"桁で速く安いのは確かだが、倍率は1桁ぶん割り引いて読むことになる。",[14,1257,1258],{},"文章は書けない。\n摘要の正規化も、仕訳の根拠コメントも、ゲームのセリフも、Jev の仕事ではない。",[14,1260,1261,1262,1265],{},"呼び出しの経路も限られる。\nVercel AI Gateway では AI SDK 経由でしか使えず、AI SDK 7 以降が要る。\nOpenAI 互換や Anthropic 互換のエンドポイントでは呼べない。\n関数名が ",[54,1263,1264],{},"experimental_"," で始まる点も、仕様が動きうることを示している。",[14,1267,1268],{},"公開されていない情報も多い。\n早期アクセスでウェイトは非公開になっており、モデルサイズも訓練データもレート制限も、本番でのレイテンシの分布も出ていない。\n本番で使うのは早期アクセスを抜けて稼働目標が示されてから、という声が実際に出ている。",[21,1270,1272],{"id":1271},"_5ドルだけ課金して試す","5ドルだけ課金して試す",[14,1274,1275],{},"従量課金のサービスで怖いのは、上限を設定できないまま使われてしまう事故である。\nVercel AI Gateway はその形になっていない。\n課金は AI Gateway Credits の前払いで、残高が尽きるとリクエストが 402 で止まる。",[14,1277,1278],{},"守りは3段ある。",[14,1280,1281],{},"1段目は残高そのもので、これがいちばん硬い。\n$5 入れたら、その $5 を超えて引かれることは構造上ない。",[14,1283,1284,1285,1288],{},"2段目はオートチャージで、これは既定で無効になっている。\n残高のボタンから auto top-up の設定を開かない限り、勝手に追加購入されることはない。\n",[66,1286,1287],{},"事故の入口はここ1箇所しかない","。",[14,1290,1291],{},"3段目が予算の設定で、チームとプロジェクトと API キーとメンバーの4つのスコープに張れる。\n$1 から指定できる。",[90,1293,1297],{"className":1294,"code":1295,"language":1296,"meta":95,"style":95},"language-bash shiki shiki-themes vitesse-light vitesse-light","# チーム全体を5ドルで打ち止めにする（リセットしない累積上限）\nvercel ai-gateway budgets set team --limit 5 --refresh-period none\n\n# キー単位でも上限と有効期限を付ける\nvercel ai-gateway api-keys create --name jev-test \\\n  --limit 5 --refresh-period none --expiration 30d \\\n  --alert-thresholds 50,75,100\n\nvercel ai-gateway budgets list\n","bash",[54,1298,1299,1305,1335,1339,1344,1365,1385,1393,1397],{"__ignoreMap":95},[99,1300,1301],{"class":101,"line":102},[99,1302,1304],{"class":1303},"sxvE3","# チーム全体を5ドルで打ち止めにする（リセットしない累積上限）\n",[99,1306,1307,1310,1313,1316,1319,1322,1326,1329,1332],{"class":101,"line":143},[99,1308,1309],{"class":166},"vercel",[99,1311,1312],{"class":133}," ai-gateway",[99,1314,1315],{"class":133}," budgets",[99,1317,1318],{"class":133}," set",[99,1320,1321],{"class":133}," team",[99,1323,1325],{"class":1324},"snbK4"," --limit",[99,1327,1328],{"class":235}," 5",[99,1330,1331],{"class":1324}," --refresh-period",[99,1333,1334],{"class":133}," none\n",[99,1336,1337],{"class":101,"line":150},[99,1338,147],{"emptyLinePlaceholder":146},[99,1340,1341],{"class":101,"line":172},[99,1342,1343],{"class":1303},"# キー単位でも上限と有効期限を付ける\n",[99,1345,1346,1348,1350,1353,1356,1359,1362],{"class":101,"line":192},[99,1347,1309],{"class":166},[99,1349,1312],{"class":133},[99,1351,1352],{"class":133}," api-keys",[99,1354,1355],{"class":133}," create",[99,1357,1358],{"class":1324}," --name",[99,1360,1361],{"class":133}," jev-test",[99,1363,1364],{"class":1324}," \\\n",[99,1366,1367,1370,1372,1374,1377,1380,1383],{"class":101,"line":242},[99,1368,1369],{"class":1324},"  --limit",[99,1371,1328],{"class":235},[99,1373,1331],{"class":1324},[99,1375,1376],{"class":133}," none",[99,1378,1379],{"class":1324}," --expiration",[99,1381,1382],{"class":133}," 30d",[99,1384,1364],{"class":1324},[99,1386,1387,1390],{"class":101,"line":251},[99,1388,1389],{"class":1324},"  --alert-thresholds",[99,1391,1392],{"class":133}," 50,75,100\n",[99,1394,1395],{"class":101,"line":259},[99,1396,147],{"emptyLinePlaceholder":146},[99,1398,1399,1401,1403,1405],{"class":101,"line":275},[99,1400,1309],{"class":166},[99,1402,1312],{"class":133},[99,1404,1315],{"class":133},[99,1406,1407],{"class":133}," list\n",[14,1409,1410,1411,1414],{},"上限に達すると ",[54,1412,1413],{},"402 quota_for_entity_exceeded"," が返る。\n50%と75%と100%の時点でメール通知も出せる。",[14,1416,1417],{},"注意点が3つある。\n予算は柔らかい上限になる。\nチェックがリクエストの開始時に走るため、上限をまたぐ1件は完走し、合計がわずかに超えうる。\nクレジットを購入すると月次の無料クレジットは適用されなくなるが、Jev はもともと無料枠の対象外なので、どちらにせよ買わないと試せない。\n購入したクレジットは購入から1年で失効する。",[1419,1420,1422],"h3",{"id":1421},"_5ドルで何件回るか","5ドルで何件回るか",[14,1424,1425],{},"Jev に限れば、使い切るほうが難しい。",[655,1427,1428,1438],{},[658,1429,1430],{},[661,1431,1432,1435],{},[664,1433,1434],{},"1件あたりの入力トークン",[664,1436,1437],{},"5ドルで処理できる件数",[673,1439,1440,1448],{},[661,1441,1442,1445],{},[678,1443,1444],{},"300トークンと仮定した場合",[678,1446,1447],{},"約39万件",[661,1449,1450,1453],{},[678,1451,1452],{},"ベンチマークの実測値 $0.0004 で計算した場合",[678,1454,1455],{},"約12,500件",[14,1457,1458],{},"上の行は私の試算で、摘要と日付と金額に質問文を足して300トークンと置いた。\n月に数千件の記帳なら、これで数か月から年単位もつ。\n危ないのは Jev ではなく、同じ残高から引かれる他のモデルのほうだ。\nだからキー単位の予算が効く。",[1419,1460,1462],{"id":1461},"vercel-以外の経路","Vercel 以外の経路",[14,1464,1465],{},"Jev は Cloudflare Workers AI からも呼べる。\nCloudflare にすでにデプロイしているなら、Vercel のクレジットを買う前にこちらを確かめる価値がある。",[14,1467,1468],{},"TypeSafe 本家の API は招待制で、登録できずに試せないという声も出ている。\n当面はどちらかのゲートウェイ経由が実質的な入口になる。",[14,1470,1471,1472,1475,1476,1475,1478,1480,1481,1483,1484,1486],{},"なお、質問型の呼び名はゲートウェイによって違う。\nTypeSafe 本来の名前は ",[54,1473,1474],{},"noul"," と ",[54,1477,74],{},[54,1479,80],{}," で、AI SDK ではこの ",[54,1482,1474],{}," が ",[54,1485,68],{}," に対応している。",[21,1488,1489],{"id":1489},"顧問先のデータを載せる前に",[14,1491,1492],{},"実務で使うなら、先に片づけておく点がある。",[14,1494,1495],{},"Vercel 自身はプロンプトを学習に使わないと明記している。\nプロンプトとレスポンスの内容も、リクエストの完了時に破棄される。\nログに残るのは、ステータスやモデルやトークン数といったメタデータだけになる。\nただし同じ FAQ に、上流のプロバイダが受け取ったトラフィックをどう扱うかは別の問題だとも書かれている。",[14,1497,1498],{},"上流まで縛るには Zero Data Retention を使うことになるが、これはリクエスト単位でもチーム全体でも Pro プラン以上の機能である。",[90,1500,1502],{"className":92,"code":1501,"language":94,"meta":95,"style":95},"providerOptions: { gateway: { zeroDataRetention: true } }\n",[54,1503,1504],{"__ignoreMap":95},[99,1505,1506,1509,1511,1513,1516,1518,1520,1523,1525,1528,1530],{"class":101,"line":102},[99,1507,1508],{"class":166},"providerOptions",[99,1510,439],{"class":109},[99,1512,110],{"class":109},[99,1514,1515],{"class":166}," gateway",[99,1517,439],{"class":109},[99,1519,110],{"class":109},[99,1521,1522],{"class":166}," zeroDataRetention",[99,1524,439],{"class":109},[99,1526,1527],{"class":105}," true",[99,1529,123],{"class":109},[99,1531,1532],{"class":109}," }\n",[14,1534,1535],{},"顧問先の実データを流すのは、この条件を整えてからにしたい。\n試すだけなら、架空の摘要か自分の事業の取引で足りる。",[21,1537,1538],{"id":1538},"出典",[14,1540,1541],{},"本文の実測値のうち、ブラウザエージェントとスパム判定とモデルルーターと承認の自動化については、公開から数日のあいだに X へ投稿された開発者の報告から拾った。",[25,1543,1544,1555,1562,1569,1576,1583,1590,1597,1604,1611,1618,1625,1632,1639,1646,1653,1660,1667,1674],{},[28,1545,1546],{},[1547,1548,1554],"a",{"href":1549,"target":1550,"rel":1551},"https://vercel.com/ai-gateway/models/jev","_blank",[1552,1553],"noopener","noreferrer","Jev API, Pricing & Playground（Vercel AI Gateway のモデルページ）",[28,1556,1557],{},[1547,1558,1561],{"href":1559,"target":1550,"rel":1560},"https://docs.typesafe.ai/concepts/use-case-map",[1552,1553],"Example use cases（TypeSafe AI 公式ドキュメント）",[28,1563,1564],{},[1547,1565,1568],{"href":1566,"target":1550,"rel":1567},"https://typesafe.ai/blog/introducing-system-one-models-and-jev",[1552,1553],"Introducing System One Models & Jev（TypeSafe AI 公式ブログ。Doom のデモ）",[28,1570,1571],{},[1547,1572,1575],{"href":1573,"target":1550,"rel":1574},"https://developers.cloudflare.com/ai/models/typesafe/jev/",[1552,1553],"Jev (typesafe)（Cloudflare AI ドキュメント。32Kの上限と質問型）",[28,1577,1578],{},[1547,1579,1582],{"href":1580,"target":1550,"rel":1581},"https://github.com/wondertwins/jev-benchmark",[1552,1553],"jev-benchmark（チェスとゲームNPCの話者判定の第三者ベンチマーク）",[28,1584,1585],{},[1547,1586,1589],{"href":1587,"target":1550,"rel":1588},"https://github.com/Anil-matcha/awesome-jev-by-typesafe",[1552,1553],"awesome-jev-by-typesafe（用途とパターンのまとめ）",[28,1591,1592],{},[1547,1593,1596],{"href":1594,"target":1550,"rel":1595},"https://github.com/AnshChoudhary/typesafe-ai-firewall",[1552,1553],"typesafe-ai-firewall（ツール呼び出しの門番の実装と実測）",[28,1598,1599],{},[1547,1600,1603],{"href":1601,"target":1550,"rel":1602},"https://news.lavx.hu/article/jev-ultrafast-cuts-browser-agent-time-by-25-with-typesafe-action-space",[1552,1553],"Jev Ultrafast Cuts Browser Agent Time by 25% With TypeSafe Action Space",[28,1605,1606],{},[1547,1607,1610],{"href":1608,"target":1550,"rel":1609},"https://vercel.com/changelog/typesafe-ai-jev-now-available-on-ai-gateway",[1552,1553],"TypeSafe AI's Jev now available on AI Gateway（Vercel Changelog）",[28,1612,1613],{},[1547,1614,1617],{"href":1615,"target":1550,"rel":1616},"https://vercel.com/docs/ai-gateway/modalities/evaluation",[1552,1553],"Evaluation（AI Gateway ドキュメント）",[28,1619,1620],{},[1547,1621,1624],{"href":1622,"target":1550,"rel":1623},"https://ai-sdk.dev/docs/reference/ai-sdk-core/evaluate",[1552,1553],"experimental_evaluate（AI SDK リファレンス）",[28,1626,1627],{},[1547,1628,1631],{"href":1629,"target":1550,"rel":1630},"https://vercel.com/docs/ai-gateway/observability-and-spend/budgets",[1552,1553],"AI Gateway Budgets and Spend Limits",[28,1633,1634],{},[1547,1635,1638],{"href":1636,"target":1550,"rel":1637},"https://vercel.com/docs/ai-gateway/pricing",[1552,1553],"AI Gateway Pricing",[28,1640,1641],{},[1547,1642,1645],{"href":1643,"target":1550,"rel":1644},"https://vercel.com/docs/ai-gateway/faq",[1552,1553],"AI Gateway FAQ",[28,1647,1648],{},[1547,1649,1652],{"href":1650,"target":1550,"rel":1651},"https://vercel.com/ai-gateway/models/gemini-3.8-flash",[1552,1553],"Gemini 3.8 Flash（Vercel AI Gateway のモデルページ）",[28,1654,1655],{},[1547,1656,1659],{"href":1657,"target":1550,"rel":1658},"https://ai.google.dev/gemini-api/docs/tokens",[1552,1553],"Understand and count tokens（Gemini API ドキュメント。画像のトークン換算）",[28,1661,1662],{},[1547,1663,1666],{"href":1664,"target":1550,"rel":1665},"https://www.eesel.ai/blog/gemini-3-8-flash-pricing",[1552,1553],"Gemini 3.8 Flash pricing 2026: every rate, tier, and hidden cost",[28,1668,1669],{},[1547,1670,1673],{"href":1671,"target":1550,"rel":1672},"https://www.developersdigest.tech/blog/typesafe-jev-system-one-models-release-guide-2026",[1552,1553],"TypeSafe Jev: The First Decision-Only Model Class, Benchmarked and Priced",[28,1675,1676],{},[1547,1677,1680],{"href":1678,"target":1550,"rel":1679},"https://lilting.ch/en/articles/typesafe-ai-jev-system-one-model",[1552,1553],"TypeSafe Jev: $0.042/1M Decision Model vs Auto-Regressive LLMs",[1682,1683,1684],"style",{},"html pre.shiki code .sHkkW, html code.shiki .sHkkW{--shiki-default:#1E754F;--shiki-dark:#1E754F}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}",{"title":95,"searchDepth":143,"depth":143,"links":1686},[1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1702,1703],{"id":23,"depth":143,"text":23},{"id":48,"depth":143,"text":49},{"id":560,"depth":143,"text":560},{"id":580,"depth":143,"text":580},{"id":605,"depth":143,"text":605},{"id":649,"depth":143,"text":650},{"id":830,"depth":143,"text":830},{"id":943,"depth":143,"text":943},{"id":1059,"depth":143,"text":1059},{"id":1114,"depth":143,"text":1115},{"id":1198,"depth":143,"text":1198},{"id":1271,"depth":143,"text":1272,"children":1699},[1700,1701],{"id":1421,"depth":150,"text":1422},{"id":1461,"depth":150,"text":1462},{"id":1489,"depth":143,"text":1489},{"id":1538,"depth":143,"text":1538},null,"Vercel AI Gateway に載った TypeSafe AI の Jev を調べた。記帳代行を思いついて調べ始めたが、そこは向いていなかった。実際に使われているのはゲームの判断、ブラウザエージェント、大量分類で、チェスのベンチマークが設計の勘所を教えてくれる。","md",{},"/typesafe-jev-use-cases",false,"2026-09-18T00:00:00.000Z",{"title":5,"description":1705},"2026-09/2026-09-18/typesafe-jev-use-cases",[1714,1715,1716,1717,1718,1719],"AI","Vercel","AI Gateway","記帳代行","ゲーム開発","コスト管理","f3Mn7wz85FvhFuuVC-qQDokLDHpQ-nZgTwQ5LUYHUcA",[],[1723,1727,1730,1733,1736],{"title":1724,"path":1725,"publishedAt":1726},"記帳代行×AIの議論で、もう一段深く考えたいこと──「業務設計」の次に来る話","/bookkeeping-ai-business-design","2025-12-19T00:00:00.000Z",{"title":1728,"path":1729,"publishedAt":1710},"会計AIベンチマークの公開タスクを日本語化し、Excelで正解と参照式を組み直した","/accounting-bench-excel-tasks-japanese",{"title":1731,"path":1732,"publishedAt":1710},"出力無料のJevは記帳代行に使えるか、動画生成は手元のGPUで回せるかを調べた1日","/ai-model-research-jev-local-video",{"title":1734,"path":1735,"publishedAt":1710},"会計AIのベンチマークは、例題が公開されている","/apex-accounting-bench",{"title":1737,"path":1738,"publishedAt":1710},"手書き伝票のOCRで、DeepSeek V4.1 Flash と Gemini 3 Flash を同じプロンプトで比べた","/deepseek-vs-gemini-handwritten-slip-ocr","https://log.eurekapu.com/og/blog/typesafe-jev-use-cases.png?v=2026-09-18T00%3A00%3A00.000Z&title=%E5%87%BA%E5%8A%9B%E3%81%8C%E7%84%A1%E6%96%99%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%20Jev%20%E3%81%AF%E4%BD%95%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%8B&author=Kei%20Komatsu&sig=4a9e357d69c6ca10",1789885491283]