Ir al contenido

Producto

Navega, no recuperes.

Esta es la máquina detrás de los números: diez herramientas tipadas con presupuesto fijo de tokens, un camino sin LLM para las preguntas fáciles, una ingesta que convierte hojas de cálculo en datasets consultables y una superficie MCP que cualquier harness de agente puede sostener.

La Vine

Diez primitivas, cada observación con presupuesto

El agente toca el bosque exclusivamente a través de ellas. Cada lectura lleva un presupuesto rígido de salida con truncamiento explícito (`truncated: true`, nunca un corte silencioso) para que el agente siempre distinga “no está ahí” de “se cortó”.

PrimitivaPresupuestoQué hace
locate(query, k)Lectura≤ 800 tokensPuntos de entrada rankeados solo sobre metadatos curados. BM25 sobre FTS5 de SQLite, con pesos de olor título : alias : etiquetas : resumen en 4 : 3 : 2 : 1; híbrido con vectores por RRF cuando existe un índice Canopy.
look(id)Lectura≤ 500 tokensEl resumen ejecutivo del nodo: sumario, etiquetas, esquema y sus doce mejores aristas, cada una con veinticinco tokens de olor del vecino al que apunta.
move(id, rel?)Lectura≤ 600 tokensTravesía por una arista tipada hasta los vecinos del otro lado.
pick(id, section?)Lectura≤ 4.000 tokensLee un cuerpo. Cualquier cosa por encima del presupuesto devuelve su esquema, llevando al agente a elegir una sección en lugar de ser cortado a mitad de frase.
sniff(terms)Lectura≤ 800 tokensGrep literal, con acentos normalizados, solo sobre los cuerpos: la otra mitad de la división normativa entre locate y sniff.
scan(parent, filter)Lectura≤ 800 tokensFiltrado por metadatos sobre una región entera, sin abrir un solo archivo. Así se estrecha barato una pregunta amplia.
query(id, sql)Lectura200 filas / 2 sSQL de solo lectura sobre un nodo de dataset, endurecido contra inyección. Toda escritura se rechaza; los datasets nacen de un esquema declarativo validado por la Vine, así que el modelo nunca escribe DDL.
plantEscrituraatómicoDa a luz un nodo con pasaporte validado por contrato. Un commit de git.
graftEscrituraatómicoCrea o refuerza una arista tipada, bajo una regla de reforzar-antes-de-crear que nunca duplica. Un commit de git.
tendEscrituraatómicoModifica un nodo: pasaporte, enlaces, o exactamente un INSERT/UPDATE/DELETE con WHERE obligatorio y sin DDL, jamás. Un commit de git.

La división locate/sniff es normativa: `locate` busca solo metadatos curados, `sniff` solo los cuerpos crudos. Esa separación es lo que vuelve medible el valor de la curaduría, y lo que mantiene la búsqueda de entrada en 1,3 ms de p95 sin ningún embedder.

Un salto típico cuesta entre 200 y 500 tokens de observación. Una respuesta de cinco saltos cuesta alrededor de 1,5 a 2,5 mil tokens de contexto exactamente relevante, frente a un relleno top-k de tamaño similar cuya relevancia fue una apuesta hecha antes de leer nada.

Los caminos baratos

No toda pregunta merece una cacería

Navegar cuesta por salto. En preguntas superficiales, un camino de un solo paso es más rápido y suficiente, que es exactamente por lo que existe, y por lo que la regla de operación está escrita en vez de sobreentendida.

  • harvest: recuperación sin LLM

    `locate` y `sniff` fusionados por Reciprocal Rank Fusion, seguidos de un `pick` selectivo, todo dentro de 4.000 tokens. Puro tiempo de máquina: ninguna llamada al modelo. Medido en cerca de 50 ms de mediana para un paquete de evidencia de ~1,3 mil tokens.

  • answer: fundamentada, con sus fuentes

    La única llamada que cuesta dinero de verdad. Llega con los ids de los nodos en los que se apoya, así que “de dónde salió esta respuesta” es una lista que puedes abrir, no un puntaje de similitud.

  • El almacén de respuestas

    Por bosque, activado por defecto. La recuperación sigue ejecutándose en cada pregunta; una respuesta guardada solo se sirve mientras el material detrás sea byte a byte el mismo, así que un acierto obsoleto es estructuralmente imposible y cualquier escritura invalida todas las entradas anteriores. Una respuesta servida lo dice, y la fila de auditoría registra el costo evitado.

La regla de operación que sale de las mediciones: pasa primero por el harvest de un paso y escala al agente navegador cuando la respuesta huela a agregación o el paquete vuelva vacío.

Ingesta

Todo lo que le entregas se vuelve navegable

No preparas tus archivos para el motor. Se los entregas, y el Gardener convierte, resume y commitea cada uno: desde la línea de comandos, desde la consola o desde el navegador, siempre por el mismo pipeline.

Lo que sueltasEn qué se convierte
.md · .markdown · .txtuna nota: el texto ya es el cuerpo
.docxun documento: títulos y párrafos como markdown
.pdfun documento, mediante un hook de conversión de una línea con el extractor de línea de comandos en el que ya confías
.csvun dataset: una tabla SQLite real, consultada con SQL de solo lectura
.jsonun dataset cuando es una tabla plana, si no un documento que contiene el JSON
.xlsx · .xlsun dataset por hoja, con tipos de columna inferidos
.db · .sqlite · .sqlite3adoptado entero: la base se vuelve el payload, con manual de consulta generado y filas de muestra
.png · .jpg · .gif · .webpun nodo de medios; con un modelo de visión vinculado, además una descripción escrita que la búsqueda encuentra
.mp3 · .wav · .m4a · .ogg · .flacun nodo de medios con su pasaporte
cualquier otra cosalistado como no soportado en el informe, por nombre, para que veas exactamente qué no entró

Las hojas de cálculo dejan de ser documentos

Una hoja de cálculo se vuelve una tabla que el agente consulta en SQL, con un `## Query manual` y filas de muestra escritos en su pasaporte, para que el modelo sepa qué tablas y columnas existen antes de preguntar. Lo que significan es lo único que una máquina no puede inferir, así que una persona lo escribe en una sección `## Notes` que viaja con el dataset a todos los lugares donde se lee.

Medido, no afirmado

Sobre un volcado heterogéneo de 100 documentos con un curador de 12B: 100 nodos plantados bajo una jerarquía espejada de ocho ramas, 100% de los resúmenes aprobando el contrato de olor de sesenta tokens, cero enlaces rotos, cero errores de lint y 1,71 s por documento de punta a punta. Construir un bosque tampoco exige un modelo de frontera.

La consola Ingest: enviando archivos a un bosque como un trabajo que puedes observar
Suelta archivos, espeja una carpeta entera que el host pueda leer, o escribe un documento allí mismo. Nada se fragmenta y se olvida: cada documento se vuelve un nodo con nombre, resumen y aristas.

El Ranger mantiene el bosque sano

El mantenimiento es una pasada que programas, no un demonio que vigilar. El calor se evapora con una vida media de treinta días; los atajos descubiertos por agentes se promueven cuando ambos extremos están calientes, o se podan cuando quedan helados; las fuentes que desaparecieron se marcan como obsoletas en lugar de borrarse.

  • La confianza tiene ciclo de vida: 1,0 estructural o humana e intocable, 0,8 promovida, 0,5 atajo descubierto por un agente, 0,3 propuesta del curador en la ingesta.
  • La promoción y la poda solo ocurren por debajo de 1,0, y cada cambio es un commit auditado.
  • El Ranger nunca borra nodos.

El Troop: forrajeadores en paralelo y un juez

Para preguntas difíciles, de tres a cinco monos cazan en paralelo desde puntos de entrada distintos, comparten calor de sesión sobre la marcha, y un juez sintetiza sus candidatos. Una política de paciencia (seguir cazando mientras las cosechas aún traigan nodos nuevos, detenerse tras unas rondas secas) reemplaza el conocimiento oracular sobre cuánto se bifurca una pregunta.

El resultado honesto

El Troop es un amplificador de exactitud, no de velocidad. 11/11 contra 10/11 en solitario en preguntas de cadena única y 8/8 contra 7/8 en las de bifurcación, con 2,3× los tokens y 3,3× el tiempo de reloj. La hipótesis de aceleración falló limpiamente, y el post mortem está escrito en el paper en lugar de descartado.

La capa de gestión

Diez consolas sobre una API

El Studio es donde las personas observan, gobiernan y enseñan al bosque. Cada consola llama a las mismas rutas `/v1` que llamaría cualquier cliente: no hay camino privilegiado, ni panel de superadministrador aparte.

  • Overview: Qué hay en este bosque y qué puede hacer aquí tu clave.

    Overview

    Qué hay en este bosque y qué puede hacer aquí tu clave.

  • Ask: Respuestas que llegan con los nodos en los que se apoyan.

    Ask

    Respuestas que llegan con los nodos en los que se apoyan.

  • Explore: El árbol como un grafo vivo, recorrido nodo a nodo.

    Explore

    El árbol como un grafo vivo, recorrido nodo a nodo.

  • Data: SQL de solo lectura sobre nodos de dataset, con el manual de consulta al lado.

    Data

    SQL de solo lectura sobre nodos de dataset, con el manual de consulta al lado.

  • Ingest: Archivos, carpetas y recortes, como un trabajo que puedes observar.

    Ingest

    Archivos, carpetas y recortes, como un trabajo que puedes observar.

  • Access: Una fila por persona: nivel, alcance, acceso y tokens activos.

    Access

    Una fila por persona: nivel, alcance, acceso y tokens activos.

  • Models: Vínculos, presupuestos y el marcador del almacén de respuestas.

    Models

    Vínculos, presupuestos y el marcador del almacén de respuestas.

  • Health: Lo que el bosque va a necesitar, antes de necesitarlo.

    Health

    Lo que el bosque va a necesitar, antes de necesitarlo.

  • Skills: El archivo de instrucciones que convierte a este bosque en la memoria de tu agente.

    Skills

    El archivo de instrucciones que convierte a este bosque en la memoria de tu agente.

  • Integrations: Los fragmentos exactos de este despliegue, con la dirección ya rellenada.

    Integrations

    Los fragmentos exactos de este despliegue, con la dirección ya rellenada.

Integración

Habla MCP con lo que ya ejecutas

La superficie MCP es idéntica en contrato a un `vine serve` local: un agente que funciona contra un bosque en tu propio disco funciona contra un bosque servido por la Station sin más cambio que el endpoint y una credencial. El alcance solo restringe contenido: nunca cambia la forma de una respuesta.

SuperficieA quién sirveDónde
StudioPersonas: la consola webhttps://station.example.com/
RESTApps, scripts e integracioneshttps://station.example.com/v1/…
MCPCualquier harness de agente (HTTP transmisible)https://station.example.com/mcp/
Terminal
vine serve --forest ./brain                    # servidor MCP por stdio
vine serve --forest ./brain --transport http   # o sobre HTTP
  • Claude Code y cualquier runtime compatible con MCP sostienen directamente las diez herramientas del bosque: sin host, sin cuentas, en tu ecosistema.
  • La consola Skills genera el archivo de instrucciones de este despliegue exacto, para que el agente aprenda a usar el bosque como memoria persistente.
  • Una clave que emparejas para un agente solo puede restringir tu acceso, nunca ampliarlo.

Una lista de herramientas, no una segunda stack

Registrar un bosque no te pide jubilar nada. Ocupa un lugar junto a los servidores que ya corres, y el agente enruta entre ellos con la descripción de cada herramienta delante. La base vectorial, la herramienta de SQL, el grafo y la capa de fusión del diseño híbrido que la gente esboza ya son primitivas de este mismo endpoint.

Ver el diseño híbrido, caja por caja

Arquitectura

Cuatro capas, una dirección de dependencia

La Station es un cliente privilegiado del motor, no una extensión: el motor no gana ni pierde nada con su existencia. Por eso la división de licencias sobre la misma línea es exigible.

CLIENTESTus agentesClaude Code · cualquier harness MCPStudiola consola webApps y scriptsREST /v1MCP /mcpHTTPSStationidentidad · política por bosque · auditoría · vínculos de modelo · almacén de respuestasMotor (Apache-2.0)Vine: 10 primitivas · harvest · Gardener · Ranger · Catalog · CanopyBosquenodos markdown + git incorporado_derived/ (descartable)catálogo FTS5 · base de feromona · índice vectorialTus fuentes: archivos · carpetas · recortes del navegador
Diagrama: agentes, consola y clientes de API se encuentran con una sola puerta; la puerta opera un motor intacto; el motor es dueño del bosque, y el bosque es dueño de su propio historial de git.

Ejecútalo antes de creerlo.

El repositorio construye un bosque de prueba y reproduce todas las tablas del paper. Pasada esa etapa, vendemos las partes que no deberías tener que construir tú mismo.