Jeeves
Notas do quadrante
Ver o quadrante completoPontuação pela rubrica pública do quadrante (maturidade × capability; bolha = adoção). Revisamos conforme a evidência.
- Maturidade6.1/10
Pesos de 9B (bf16 + FP8), código de treino completo e dados de treino/dev/teste; servidor /v1/systemone próprio e substituto direto do SDK Python da TypeSafe; CUDA e Apple Silicon (MPS). Port MLX da comunidade e pacote no Ollaya. Repo de pesquisa da PostHog, sem SLA. Licença: MIT no GitHub, Apache-2.0 no HF.
- Capability6.8/10
Noul / Choice / Score com pointer head após uma cadeia de raciocínio; uma temperatura ajustada no dev, ECE 0,037 no JevBench público (autor). O raciocínio vem ligado: mediana de 3,3 s / p90 de 17,1 s numa H100 (FP8); cerca de 0,3 s sem raciocínio. JevBench público 0,935 vs Jev 0,866, rodada própria, fora do board.
- Adoção14/100
Cerca de 400 estrelas e 20 forks no GitHub em quatro dias, PRs externos aceitos, 201 downloads dos pesos principais no Hugging Face, além de cópias FP8 e MLX; cobertura de agregadores, sem post oficial de lançamento da PostHog encontrado. Sem uso em produção relatado.
Vendor claims
- Camadas públicas do JevBench (231 itens): 0,935 vs Jev 0,866 e Kev-8B 0,715; camada difícil 0,865 vs Jev 0,730; ECE 0,037 vs Jev 0,049 (números do Jev e do Kev restritos aos mesmos itens públicos; camada selada de juiz excluída)[Claim do fornecedor — não verificado independentemente]
- Split de teste fora de domínio / held-out: 0,889 vs Jev 0,857 e Kev-9B 0,822 (colunas do Jev e do Kev são os números que o Kev publica, em itens diferentes das mesmas fontes)[Claim do fornecedor — não verificado independentemente]
- Em 325 perguntas de dev, uma H100 com FP8: raciocínio completo 0,825 de acurácia, mediana de 3,3 s / p90 de 17,1 s; sem raciocínio 0,775 em cerca de 0,3 s[Claim do fornecedor — não verificado independentemente]
- Drafter de difusão bloco 4: 176 tokens de cadeia/s para uma pergunta (1,6× o greedy simples), cerca de 960 tokens/s no total com oito perguntas em lote[Claim do fornecedor — não verificado independentemente]
Notícias sobre este modelo
Leia antes
- Raciocina por padrão, então não é rápido por padrão. Com raciocínio completo, a mediana é 3,3 s e o p90 17,1 s numa H100. Desligue o raciocínio (
think: false, cerca de 0,3 s) ou limite (max_think,nothink_threshold) quando latência importar.- Todos os números são rodada da própria PostHog. Os números do JevBench são nos 231 itens públicos com o script da PostHog, fora do placar; as colunas do Jev e do Kev fora do JevBench vêm das tabelas publicadas pelo Kev, em itens diferentes.
- Duas licenças em duas páginas. O repo no GitHub diz MIT; os pesos no Hugging Face estão marcados como Apache-2.0. As duas são permissivas, mas a divergência não foi resolvida.
O Jeeves é um modelo de decisão aberto da PostHog, publicado no GitHub e no Hugging Face em 29 de setembro de 2026. O autor é Nicholas P. Waltz (pesquisa de IA da PostHog); boa parte da engenharia de inferência depois do lançamento é de Robbie Coomber. O README cita o Kev como inspiração.
O diferencial: o Jeeves escreve uma cadeia de raciocínio para cada pergunta antes de decidir. Quando a cadeia fecha, a pergunta e as opções são repetidas e um pointer head pontua cada opção. A maioria dos modelos no estilo do Jev responde direto do prompt.
Especificações
| Atributo | Valor |
|---|---|
| Base | Qwen/Qwen3.5-9B |
| Parte de decisão | LoRA r16 em todas as projeções + pointer head (produto escalar entre uma query em <decide> e a key do </opt> de cada opção); uma temperatura ajustada no dev |
| Treino | SFT (2 épocas, 19.126 perguntas de 12 datasets públicos + dados sintéticos de política) → RL com CISPO (parado no passo 402 de 624, 9.992 perguntas, 8 rollouts cada) → calibração |
| Pesos publicados | 9B fundido (bf16, 21 GB) e FP8 (11,5 GB); drafters de difusão bloco 4 e bloco 8 |
| Tipos de pergunta | Noul, Choice, Score na mesma requisição |
| Serviço | python -m inference.serve → POST /v1/systemone; opções think, max_think, nothink_threshold, return_reasoning |
| SDK | jeeves_sdk, substituto direto do typesafe-sdk |
| Hardware | CUDA (bf16; FP8 com compute capability ≥ 8,9); Apple Silicon (MPS) com 48 GB ou mais |
| Licença | MIT (GitHub) / Apache-2.0 (tag do Hugging Face) |
| Lançamento |
Evidências (UnverifiedClaim)
Do README, acurácia com raciocínio, greedy, teto de 2.560 tokens:
| Benchmark | Kev-9B | Jev | Jeeves |
|---|---|---|---|
| Teste geral (fora de domínio + held-out) | 0,822 | 0,857 | 0,889 |
| Transferência geral (MMLU-Pro, estado enterrado) | 0,579 | 0,800 | 0,746 |
| JevBench geral (231 itens públicos) | 0,715* | 0,866 | 0,935 |
| JevBench difícil (111 itens públicos) | 0,451* | 0,730 | 0,865 |
| MMLU / MMLU-Pro | 0,738 / 0,515 | 0,900 / 0,840 | 0,793 / 0,739 |
| ECE no JevBench (público) | — | 0,049 | 0,037 |
* Kev-8B (Qwen3); não há resultado publicado do Kev-9B no JevBench.
Sem raciocínio, o mesmo checkpoint faz 0,804 no split de teste da PostHog, contra 0,840 com raciocínio. Em 325 perguntas de dev (H100, FP8): raciocínio completo 0,825 com mediana de 3,3 s / p90 de 17,1 s; max_think 768 + nothink_threshold 0,9 dá 0,806 em 2,0 s / 5,6 s; sem raciocínio, 0,775 em cerca de 0,3 s.
Quando usar / quando não usar
Usar: decisões difíceis em que o fallback seria uma chamada de LLM completo (políticas de vários passos, regras contrastivas); times que querem ler o raciocínio (return_reasoning); pesquisa em RL para heads de decisão, com código e dados para reproduzir.
Não usar: roteamento no caminho quente com orçamento de latência apertado, a não ser com raciocínio desligado; perguntas de conhecimento (fica atrás do Jev em MMLU / MMLU-Pro); GPUs pequenas (21 GB de pesos em bf16, mais os caches).
Limites
- As cadeias de raciocínio não têm recompensa de consistência de idioma e são difíceis de ler, segundo o README.
- A cauda de latência com raciocínio é longa (17 s de p90 com cadeias completas).
- Fora dos placares do JevBench e do Decision Index.
Por que está no catálogo
O Jeeves treina pesos de decisão próprios (uma LoRA mais um pointer head, depois RL com CISPO), publica tudo com uma API tipada que devolve probabilidade por opção e serve o formato de requisição do System One. Entra como lora-adapter porque a parte de decisão é uma LoRA e um head pequeno sobre um Qwen3.5-9B de prateleira, mesmo que o release traga os pesos fundidos. Não é wrapper: a cadeia de raciocínio vem do modelo ajustado e a decisão é lida por um head treinado, não por parsing de texto.
