Cómo encaja AgentsKit en el panorama
Una mirada práctica — no es un benchmark de rendimiento. Elige lo que encaje con tu stack y el control que necesitas.
Esta tabla es ancha — desplázate horizontalmente en pantallas pequeñas para comparar todas las columnas.
| Dimensión | SDKs de UI atados al proveedor o cerrados | Rutas de frameworks web opinados | AgentsKit |
|---|---|---|---|
| Propiedad | A menudo ligado a la consola de un proveedor, funciones solo alojadas o rutas de actualización opacas. | Código abierto con un «camino feliz» marcado para un ecosistema concreto (p. ej. patrones de streaming en React). | MIT, paquetes npm modulares — tú controlas el despliegue; cambia adaptadores sin reescribir la capa de UI. |
| Modelo de UI | Widgets prefabricados; poco tema o salidas limitadas. | Convenciones y ejemplos centrados en las formas de un solo stack. | Primitivas headless (data-ak-*) más tema opcional — usa MUI, shadcn o tu design system. |
| Superficies | Suele ser web primero; terminal o agentes sin cabeza son un añadido. | Web primero; la profundidad fuera del navegador varía. | Los mismos contratos para React, Ink (terminal), CLI y runtime. |
| Extensión | Niveles de plugins, APIs de extensión cerradas o esquemas de herramientas del proveedor. | Composable dentro del mundo del framework. | Tipos core compartidos — adaptadores, herramientas, memoria, RAG y skills se componen sobre @agentskit/core. |
Encaja mejor si: un mismo stack en navegador, terminal y agentes sin cabeza, con control sobre adaptadores y herramientas. Omítelo si: un widget de un solo proveedor basta, o estás totalmente en la vía de IA de un solo framework.
Los SDK cerrados y los caminos opinados te frenan
Sigues siendo tú quien asume los casos límite del streaming — salvo que tu stack esté hecho para componer
- Capas atadas al proveedor o cerradas — calendarios de actualización, funciones solo alojadas y límites opacos te encorsetan cuando necesitas herramientas propias o inferencia autoalojada.
- Frameworks muy opinados — productivos en su camino feliz; dolorosos cuando tu producto cruza web, terminal y workers sin cabeza con un solo contrato.
- Streams hechos a mano frágiles — trozos parciales, reintentos y abortos siguen filtrándose al UX («escribiendo» colgado, mensajes duplicados, resultados de herramientas perdidos) cuando el pegamento diverge por superficie.
AgentsKit es MIT y pensado para extender: adaptadores, herramientas, memoria y RAG descansan en primitivas compartidas para que mantengas el control y cambies piezas sin reescribir la narrativa del producto.
De ~50 líneas de pegamento a ~10 de producto
Menos código que revisar, probar y lamentar cuando la API cambie el mes que viene
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>
)
}Una arquitectura, todas las superficies
Salta a la guía que necesites — cada enlace corresponde a un paquete @agentskit/* en npm.
Proveedores de modelos — cámbialos en una línea
¿Por qué AgentsKit?
Todo lo que necesitas, nada que no — la misma historia de la UI a los agentes sin cabeza
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 ejemplos interactivos
Cada ejemplo es un chat — porque eso es lo que hace AgentsKit
Ve el streaming funcionar en menos de un minuto
Haz el inicio rápido y luego añade herramientas, memoria y RAG — el modelo mental no cambia.
MIT · Sin registro · Código abierto — úsalo, haz fork o di qué falta
Proyecto joven, evolucionando rápido
AgentsKit está en fase temprana y creciendo — pruébalo, abre un issue si algo falla y ayuda a definir la hoja de ruta.