Files
unibots/knowledges/README.md
T
agent fc644ecd6e feat: import agents_and_robots platform as unibots (Matrix-out, unibus transport)
Reemplaza el scaffold del echobot por la plataforma completa de bots traida
desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out:
los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms +
E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client).

- go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths
  relativos reajustados a la nueva ubicacion dentro de fn_registry).
- app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales.
- modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports).

agents_and_robots queda archivado como museo de la era Matrix.
2026-06-07 11:50:13 +02:00

2.6 KiB

Shared Knowledge Base

Esta carpeta contiene la base de conocimiento compartida entre todos los agentes del sistema.

Propósito

Los agentes pueden leer, escribir y buscar documentos en esta carpeta usando las tools shared_knowledge_*. Esto permite que múltiples agentes colaboren acumulando y consultando conocimiento común.

Funcionamiento

  • Documentos: Los archivos .md en este directorio son los documentos de conocimiento compartidos entre agentes.
  • Índice FTS5: Los documentos se indexan automáticamente en data/knowledge.db (SQLite con Full-Text Search).
  • Sincronización: El índice se actualiza al arrancar cada agente con Sync().
  • WAL mode: El DB usa WAL (Write-Ahead Logging) para permitir lecturas y escrituras concurrentes entre múltiples procesos.

Tools disponibles

Los agentes con tools.shared_knowledge.enabled: true tienen acceso a:

  • shared_knowledge_search — buscar documentos por query
  • shared_knowledge_read — leer un documento por slug
  • shared_knowledge_write — crear o actualizar un documento
  • shared_knowledge_list — listar todos los documentos compartidos

Diferencia con knowledge privado

Cada agente puede tener dos bases de conocimiento:

  1. Knowledge privado (agents/<id>/knowledge/): solo visible para ese agente, tools knowledge_*
  2. Knowledge compartido (knowledges/): visible para todos los agentes con shared_knowledge habilitado, tools shared_knowledge_*

Ejemplo de flujo

1. agente-A recibe: "investiga X y guarda lo que encuentres"
   → LLM usa shared_knowledge_write(slug: "investigacion-x", content: "...")
   → Se escribe knowledges/investigacion-x.md + actualiza FTS5

2. agente-B recibe: "qué sabemos sobre X?"
   → LLM usa shared_knowledge_search(query: "X")
   → Encuentra el documento que escribió agente-A
   → shared_knowledge_read(slug: "investigacion-x")
   → Responde con la información

Estructura

knowledges/
  ├── README.md                    ← este archivo
  ├── *.md                         ← documentos compartidos (commiteados)
  └── data/
      ├── knowledge.db             ← índice SQLite FTS5 (no commiteado)
      ├── knowledge.db-shm
      └── knowledge.db-wal

Notas

  • Los archivos .md se commitean en el repositorio (forman parte del conocimiento compartido del equipo).
  • El directorio data/ está en .gitignore — el índice se reconstruye automáticamente al arrancar.
  • No hay control de acceso por agente: cualquier agente con shared_knowledge habilitado puede leer y escribir.
  • Si dos agentes escriben el mismo slug, el último gana (sobreescritura).