169 lines
4.1 KiB
Markdown
169 lines
4.1 KiB
Markdown
# Agente GStreamer
|
|
|
|
**Proyecto:** Workspace de tools IA para empresas
|
|
**Modulo:** RAG
|
|
**Ultima actualizacion:** 2026-04-09
|
|
**Ultima modificacion por:** Agente RAG 2
|
|
**Estado:** Activo
|
|
|
|
---
|
|
|
|
## Proposito
|
|
|
|
Documentar el agente `gstreamer` configurado en OpenCode para trabajo tecnico especializado sobre proyectos que usan GStreamer.
|
|
|
|
El objetivo del agente no es ser un asistente generalista, sino un agente operativo para:
|
|
|
|
- revisar codigo
|
|
- diagnosticar errores
|
|
- proponer correcciones
|
|
- y, solo si se le pide, aplicar y validar cambios
|
|
|
|
apoyandose de forma prioritaria en el RAG del corpus oficial de GStreamer.
|
|
|
|
---
|
|
|
|
## Nombre del agente
|
|
|
|
```text
|
|
gstreamer
|
|
```
|
|
|
|
Debe aparecer como agente primario seleccionable junto con otros modos primarios del entorno OpenCode.
|
|
|
|
---
|
|
|
|
## Base de conocimiento principal
|
|
|
|
El agente debe priorizar siempre el scope del RAG cargado para GStreamer:
|
|
|
|
- `sourceId`: `corpus:gstreamer:official:v1`
|
|
- `sourceRef`: `gstreamer-official`
|
|
|
|
Este scope contiene la documentacion oficial de GStreamer ya ingerida y validada.
|
|
|
|
El agente ya dispone ademas de una conexion operativa al RAG remoto mediante scripts locales dedicados.
|
|
|
|
Regla operativa:
|
|
|
|
- primero apoyarse en el RAG de GStreamer
|
|
- despues complementar con conocimiento interno del modelo cuando ayude
|
|
- no depender de busquedas web
|
|
- usar por defecto el scope `gstreamer-official` sin exigir que el usuario lo mencione en cada prompt
|
|
|
|
Scripts de conexion:
|
|
|
|
- `RAG/scripts/rag_gstreamer_bootstrap.sh`
|
|
- `RAG/scripts/rag_gstreamer_retrieve.sh`
|
|
|
|
Estos scripts consultan directamente:
|
|
|
|
```text
|
|
https://rag.por-correo.com
|
|
```
|
|
|
|
y ya van fijados al scope `gstreamer-official`.
|
|
|
|
---
|
|
|
|
## Enfoque tecnico del agente
|
|
|
|
### Dominio principal
|
|
|
|
- GStreamer
|
|
- integracion en aplicaciones reales
|
|
- diagnostico de pipelines
|
|
- uso de elementos, pads, caps, states, bus, negotiation y ciclo de vida
|
|
|
|
### Lenguaje principal esperado
|
|
|
|
- C++
|
|
|
|
Aunque puede trabajar con otros lenguajes si aparecen, su orientacion principal debe ser revision tecnica de codigo C++ que integre GStreamer.
|
|
|
|
---
|
|
|
|
## Comportamiento esperado
|
|
|
|
### Por defecto
|
|
|
|
El agente debe:
|
|
|
|
- diagnosticar
|
|
- explicar el problema
|
|
- proponer cambios
|
|
- justificar los cambios propuestos
|
|
- asumir automaticamente el uso del scope `gstreamer-official` cuando el usuario pida revisar codigo, diagnosticar errores o "usar el RAG"
|
|
- usar los scripts del RAG remoto cuando necesite bootstrap, precarga o retrieve especifico
|
|
|
|
### No debe hacer por defecto
|
|
|
|
- editar ficheros automaticamente
|
|
- aplicar fixes sin permiso
|
|
- modificar codigo solo por detectar un posible error
|
|
|
|
### Si el usuario lo pide explicitamente
|
|
|
|
Entonces si puede:
|
|
|
|
- editar ficheros
|
|
- compilar
|
|
- ejecutar comandos
|
|
- lanzar pruebas
|
|
- validar si el error parece resuelto
|
|
|
|
---
|
|
|
|
## Forma recomendada de uso
|
|
|
|
El agente funciona mejor cuando recibe:
|
|
|
|
- ficheros o modulos concretos
|
|
- sintomas observados
|
|
- logs de error
|
|
- mensajes del bus de GStreamer
|
|
- comportamiento esperado frente al comportamiento real
|
|
|
|
No conviene pedirle que revise una aplicacion enorme de una sola vez sin contexto adicional.
|
|
|
|
Ejemplo de uso esperado:
|
|
|
|
```text
|
|
usa el rag para revisar el codigo del fichero nombrefichero.cpp
|
|
```
|
|
|
|
En ese caso el agente debe entender implicitamente que debe apoyarse en el scope `gstreamer-official`, sin exigir al usuario que lo repita.
|
|
|
|
Ejemplo con precarga dirigida:
|
|
|
|
```text
|
|
revisa este codigo y apoyate en el rag haciendo una precarga sobre uso especifico de video remoto
|
|
```
|
|
|
|
En ese caso el agente debe ejecutar primero un bootstrap/precarga contra el RAG remoto usando ese tema como direccion inicial.
|
|
|
|
---
|
|
|
|
## Restricciones intencionadas
|
|
|
|
En la configuracion actual del agente:
|
|
|
|
- `webfetch`: denegado
|
|
- `websearch`: denegado
|
|
|
|
Asi se fuerza que el agente se apoye sobre todo en:
|
|
|
|
- el RAG de GStreamer
|
|
- el codigo local
|
|
- el conocimiento interno del modelo
|
|
|
|
---
|
|
|
|
## Evolucion futura prevista
|
|
|
|
Posibles mejoras futuras:
|
|
|
|
1. Permitir cambiar de scope entre varios corpus del mismo RAG.
|
|
2. Hacer visible la eleccion de scope desde el propio agente.
|
|
3. Ajustar el agente a flujos de prueba automatizada del proyecto donde se use GStreamer.
|
|
4. Afinar su prompt segun comportamiento real con modelos locales como `gemma4` o `qwen3.5`.
|