Onde o AgentsKit se encaixa no cenário
Um olhar prático — não é benchmark de desempenho. Escolha o que combina com sua stack e quanto controle você precisa.
Esta tabela é larga — role na horizontal em telas pequenas para comparar todas as colunas.
| Dimensão | SDKs de UI presos a fornecedor ou fechados | Caminhos opinativos de frameworks web | AgentsKit |
|---|---|---|---|
| Propriedade | Muitas vezes preso ao console de um fornecedor, recursos só hospedados ou caminhos de upgrade opacos. | Open source com um “caminho feliz” forte para um ecossistema específico (ex.: streaming no React). | MIT, pacotes npm modulares — você controla o deploy; troque adaptadores sem reescrever a camada de UI. |
| Modelo de UI | Widgets prontos; pouco tema ou saídas limitadas. | Convenções e exemplos centrados nos idiomas de um stack. | Primitivas headless (data-ak-*) mais tema opcional — use MUI, shadcn ou seu design system. |
| Superfícies | Em geral web primeiro; terminal ou agentes headless vêm depois. | Web primeiro; profundidade fora do navegador varia. | Os mesmos contratos para React, Ink (terminal), CLI e runtime. |
| Extensão | Níveis de plugin, APIs de extensão fechadas ou esquemas de ferramentas do fornecedor. | Componível dentro do mundo do framework. | Tipos core compartilhados — adaptadores, ferramentas, memória, RAG e skills se compõem em @agentskit/core. |
Melhor encaixe: um stack no navegador, terminal e agentes headless, com controle sobre adaptadores e ferramentas. Pule se: um widget de um único fornecedor basta, ou você está totalmente na trilha de IA de um único framework.
SDKs fechados e caminhos opinativos te atrasam
Você ainda assume os casos extremos de streaming — a menos que sua stack seja feita para compor
- Camadas presas a fornecedor ou fechadas — cronogramas de upgrade, recursos só na nuvem e limites opacos te prendem quando você precisa de ferramentas próprias ou inferência self-hosted.
- Frameworks muito opinativos — produtivos no caminho feliz; dolorosos quando o produto cruza web, terminal e workers headless com um contrato só.
- Streams manuais frágeis — chunks parciais, retries e aborts ainda vazam para o UX (“digitando” travado, mensagens duplicadas, resultados de ferramenta perdidos) quando o código cola diverge por superfície.
AgentsKit é MIT e pensado para extensão: adaptadores, ferramentas, memória e RAG ficam em primitivas compartilhadas para você manter controle e trocar peças sem reescrever a narrativa do produto.
De ~50 linhas de cola para ~10 de produto
Menos código para revisar, testar e lamentar quando a API mudar no mês que vem
const [messages, setMessages] = useState([])
const [input, setInput] = useState('')
const [streaming, setStreaming] = useState(false)
const abortRef = useRef(null)
const send = async () => {
setStreaming(true)
const userMsg = { role: 'user', content: input }
setMessages(prev => [...prev, userMsg])
const res = await fetch('/api/chat', {
method: 'POST',
body: JSON.stringify({ messages: [...messages, userMsg] }),
signal: abortRef.current?.signal,
})
const reader = res.body.getReader()
const decoder = new TextDecoder()
let text = ''
while (true) {
const { done, value } = await reader.read()
if (done) break
text += decoder.decode(value)
setMessages(prev => [...prev.slice(0,-1),
{ role: 'assistant', content: text }])
}
setStreaming(false)
}
// + error handling, auto-scroll, cleanup...import { useChat, ChatContainer, Message, InputBar }
from '@agentskit/react'
import { anthropic } from '@agentskit/adapters'
import '@agentskit/react/theme'
function Chat() {
const chat = useChat({
adapter: anthropic({ model: 'claude-sonnet-4-6' })
})
return (
<ChatContainer>
{chat.messages.map(msg =>
<Message key={msg.id} message={msg} />
)}
<InputBar chat={chat} />
</ChatContainer>
)
}Uma arquitetura, todas as superfícies
Vá ao guia que precisa — cada link corresponde a um pacote @agentskit/* no npm.
Provedores de modelo — troque em uma linha
Por que AgentsKit?
Tudo que você precisa, nada que não — a mesma história da UI aos agentes headless
3 Hooks
useStream, useReactive, useChat — that's the entire API. Learn it in 5 minutes.
<5KB Bundle
Tiny footprint. No virtual DOM overhead. Just reactive streams wired to the DOM.
Any Provider
Claude, GPT, Vercel AI SDK, or bring your own ReadableStream. Swap in one line.
Headless + Theme
Components ship with data-ak-* attributes. Import the theme or style your way.
Agent-Friendly
Entire API fits in 2K tokens. AI agents generate correct AgentsKit code first try.
Full toolkit
Runtime, Ink, CLI, RAG, memory, tools, skills, sandbox, eval — compose what you need, share types with @agentskit/core.
Works Everywhere
Next.js, Vite, Remix, TanStack Start — any React 18+ app. Zero config.
Stop, retry, clear
Cancellation and retries on the chat controller — fewer stuck “typing…” states and duplicate assistant messages.
Production visibility
Optional @agentskit/observability for traces across LLM calls, tools, and memory — OpenTelemetry-friendly when you need it.
Benchmark in CI
@agentskit/eval measures latency, cost, and success rate so agent regressions surface before users do.
10 exemplos interativos
Cada exemplo é um chat — porque é isso que o AgentsKit faz
Veja streaming funcionar em menos de um minuto
Rode o início rápido e depois empilhe ferramentas, memória e RAG — o modelo mental não muda.
MIT · Sem cadastro · Código aberto — use, faça fork ou diga o que falta
Projeto jovem, evoluindo rápido
AgentsKit está em estágio inicial e crescendo — experimente, abra uma issue se algo quebrar e ajude a moldar o roadmap.