fc644ecd6e
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.
2.6 KiB
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
.mden 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 queryshared_knowledge_read— leer un documento por slugshared_knowledge_write— crear o actualizar un documentoshared_knowledge_list— listar todos los documentos compartidos
Diferencia con knowledge privado
Cada agente puede tener dos bases de conocimiento:
- Knowledge privado (
agents/<id>/knowledge/): solo visible para ese agente, toolsknowledge_* - Knowledge compartido (
knowledges/): visible para todos los agentes con shared_knowledge habilitado, toolsshared_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
.mdse 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).