YouMind
Iniciar sesión

Cómo convertir a Hermes en un analista financiero de nivel banca de inversión

@gemchange_ltd
INGLÉS04 jun 2026
867K
184
15
13
646

TL;DR

Esta guía técnica detalla cómo configurar el agente Hermes para realizar análisis de nivel banca de inversión, centrándose en la arquitectura de prompts, matemáticas deterministas e integración con fuentes de datos financieros como EDGAR y FRED.

Voy a asumir que ya sabes cómo hacer que un LLM diga cosas inteligentes sobre una acción. Cualquier imbécil puede hacerlo. Ese no es el trabajo.

El trabajo es el arnés, la capa alrededor del modelo que decide si tu analista es un escritorio de confianza o un generador de números aleatorios con buena gramática. El modelo es la parte más intercambiable de todo el asunto.

gemchanger - inline image

Tres partes:

  1. Cómo ejecutarlo correctamente
  2. Cómo educarlo para convertirlo en una máquina financiera (la verdadera ventaja)
  3. Los repositorios y servicios que lo extienden.

Lee la parte del medio dos veces.

No es asesoramiento financiero. Haz tu propia investigación. Mi propio proyecto - @coldvisionXYZ

PARTE 1: EJECÚTALO Y ENTIENDE LO QUE ESTÁS EJECUTANDO

Una línea. Aprovisiona python, node, git, todo, en ~/.hermes/:

bash
1curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Linux, macOS, WSL2, Android vía Termux (detección automática), Windows nativo (beta temprana, no necesita WSL). Python 3.11+. Luego hermes setup para el asistente, o hermes model / hermes tools / hermes gateway setup por partes. Ejecútalo con hermes (CLI clásico) o hermes --tui (recomendado).

La abstracción del proveedor es el superpoder silencioso

El mismo runtime impulsa las APIs de chat-completions, Anthropic Messages, Codex Responses, una ruta de servidor de aplicaciones Codex fuera de proceso y Bedrock.

Los formatos de llamada a herramientas y las peculiaridades de los proveedores se normalizan mediante adaptadores de transporte, por lo que a nivel del bucle, la superficie del modelo se ve idéntica sin importar lo que haya detrás.

Eso significa que la conmutación por error del proveedor es real, y cambiar de modelos es genuinamente sin código.

Consecuencia práctica para tu bolsillo: no ejecutas un solo modelo.

Bajo auxiliary en config.yaml, cada tarea secundaria, ejecuciones del curador, visión, embeddings, generación de títulos, búsqueda de sesiones, el resumidor de compresión, puede fijar su propio proveedor, modelo, base_url y esfuerzo de razonamiento.

Así que tu costoso modelo de razonamiento nunca quema tokens resumiendo un chat antiguo o nombrando una sesión.

También hay smart_model_routing para enviar turnos difíciles al modelo fuerte y todo lo demás a uno barato.

La configuración más barata y sensata: Nous Portal (una suscripción, 300+ modelos + el Tool Gateway para web/navegador/imagen/TTS) como principal, un modelo barato fijado para todo el trabajo auxiliar, Ollama/vLLM local como respaldo gratuito. Si usas local, Ollama por defecto tiene un contexto de 4k y trunca silenciosamente, establece num_ctx a 64k+ o el agente se volverá estúpido y culparás al modelo.

Lo que debes entender antes de tocar la configuración: el prompt tiene forma de caché

Esta es la invariante que todo el sistema está construido para proteger, y si no la entiendes, multiplicarás silenciosamente tu factura por 10.

Hermes compone el prompt del sistema en tres niveles:

  1. estable
  2. contexto
  3. volátil
gemchanger - inline image

El nivel estable lleva la identidad (SOUL.md), la guía de herramientas para solo las herramientas habilitadas, el índice de habilidades, las pistas del entorno. El contexto se deriva del directorio de trabajo actual (cwd). El nivel volátil cambia turno a turno. La estratificación es explícita en el código por una razón: validez de la caché del prefijo del prompt. Los proveedores almacenan en caché el prefijo de tu prompt y facturan los tokens en caché a una fracción del costo. Cada vez que el nivel estable cambia, rompes esa caché y pagas el precio completo por todo.

Por lo tanto, Hermes trata la alteración del contexto como algo casi sagrado. De las propias reglas de ingeniería del agente: la única vez que altera deliberadamente el contexto es durante la compresión. Los comandos de barra que mutan el estado del prompt del sistema (instalar una habilidad, activar una herramienta) por defecto usan invalidación diferida: el cambio surte efecto en la próxima sesión, con un indicador --now opcional para cuando realmente lo necesites en vivo. /skills install --now es el patrón canónico de "Acepto la ruptura de caché".

Por qué te importa como analista: cada habilidad que activas y cada herramienta que enciendes vive en ese nivel estable y cuesta tokens de prefijo en cada llamada. Un agente inflado con 60 herramientas habilitadas está pagando por las 60 descripciones en cada turno para siempre. Los conjuntos de herramientas ligeros y las habilidades bajo demanda no son orden, son el modelo de costos.

La compresión es linaje, no truncamiento

Cuando el contexto se llena, los agentes ingenuos eliminan turnos antiguos y sufren amnesia.

Hermes ejecuta dos capas de compresión independientes:

  1. una red de seguridad de "higiene de sesión" en la puerta de enlace que se activa alrededor del 85% del contexto en una estimación aproximada antes de que el agente siquiera se ejecute
  2. la real, el ContextCompressor dentro del bucle que se activa alrededor del 50% utilizando recuentos de tokens precisos reportados por la API.

Resume los turnos intermedios en un nuevo mensaje en lugar de eliminarlos, y las sesiones rastrean el linaje padre-hijo para cada división de compresión. El resumen se convierte en parte de la transcripción; el original se conserva en el linaje.

gemchanger - inline image

Con pérdida está bien, sin pérdida agotaría la memoria.

Las sesiones son infraestructura, no solo transcripciones.

Llevan etiquetas de origen y metadatos de enrutamiento, y hay una herramienta session_search orientada al modelo más un índice FTS5 SQLite sobre cada turno pasado. Tu agente puede recordar "¿qué concluí sobre COIN hace tres semanas?" durante el razonamiento, no porque lo hayas metido en el contexto, sino porque puede consultar su propio historial bajo demanda.

Dónde se ejecuta

Seis backends de terminal:

  1. local
  2. Docker
  3. SSH
  4. Singularity
  5. Modal
  6. Daytona

Modal y Daytona son sin servidor, el entorno hiberna inactivo y se activa bajo demanda, costando casi nada entre ejecuciones.

Un VPS de $5 o una caja sin servidor en hibernación es el verdadero "$5". Conecta la puerta de enlace y el mismo agente se ejecuta en más de 20 plataformas (Telegram, Discord, Slack, Signal, …) con enrutamiento de sesión unificado, así que hablas con él desde tu teléfono mientras trabaja en la nube.

Las sesiones sobreviven a los reinicios a través de SQLite en modo WAL con una capa de reintento personalizada para la contención de escritura de múltiples procesos, por lo que los trabajos cron y el trabajo de la puerta de enlace no se corrompen entre sí.

PARTE 2: EDÚCALO PARA CONVERTIRLO EN UNA MÁQUINA FINANCIERA

Un agente simple es un pasante brillante sin formación en el dominio ni disciplina de juicio. Literalmente lo educas a través de cuatro canales: identidad, manuales de jugadas, memoria y estándares. Luego se autoeduca, y tu trabajo real se convierte en la curación.

2a. Identidad - SOUL.md es la ranura #1

SOUL.md es literalmente lo primero en el prompt del sistema, antes que las herramientas, antes que las habilidades, antes que cualquier cosa. Es la capa de la persona y los valores.

Para un analista financiero, aquí es donde estableces el temperamento epistémico, no la personalidad superficial.

Cosas como: "Eres un analista escéptico del lado comprador. Desconfías de los números redondos y las narrativas. Nunca afirmes una cifra que no hayas obtenido de una herramienta en esta sesión. Prefieres decir 'datos insuficientes' antes que adivinar. Tratas tus propias conclusiones anteriores como a prioris que deben actualizarse".

Eso se encuentra en el nivel estable de la caché y colorea cada turno de forma gratuita. La mayoría de la gente deja SOUL.md por defecto. Para un analista, son tus 1.500 caracteres más apalancados.

2b. Manuales de jugadas - habilidades, y por qué la descripción es la verdadera ingeniería

Una habilidad es un SKILL.md, nombre + descripción + procedimiento, almacenado en ~/.hermes/skills/.

Solo las descripciones cortas se encuentran en el índice de habilidades siempre cargado.

El procedimiento completo se carga bajo demanda cuando una tarea coincide. Por lo tanto, tu biblioteca de habilidades puede ser enorme sin inflar el prefijo.

Lo que significa que la descripción es donde la habilidad triunfa o fracasa.

Es un enrutador. Si la descripción es vaga, el agente nunca carga la habilidad cuando debería, o la carga cuando no debería. Escribe descripciones como condiciones de activación, no resúmenes.

"Úsala cuando el usuario nombre una acción cotizada en EE. UU. y quiera una lectura fundamental" es mejor que "analiza acciones".

Una habilidad de analista real, observa los estándares de 2d integrados directamente en el procedimiento:

markdown
1---
2name: equity-snapshot
3description: Úsala cuando el usuario nombre un ticker cotizado en EE. UU. y quiera una lectura fundamental + de precio con indicadores de riesgo.
4---
5
6# Equity Snapshot
7
81. Resuelve ticker -> CIK a través del mapa company_tickers de la SEC. NUNCA adivines un ticker.
92. Obtén el último 10-K/10-Q (ingresos, deuda, FCF) a través de EDGAR. Registra el número de accession.
103. NUNCA calcules ratios tú mismo. Usa la herramienta calc para P/E, márgenes, interanual.
114. Verifica los ingresos en dos fuentes. Si discrepan, INFORMA la brecha, no elijas una.
125. Salida: tesis (2 líneas), 3 catalizadores, 3 riesgos, lectura de valoración, confianza 0-1, y "qué dato lo cambiaría". Si los datos son escasos, devuelve "pass".

Las habilidades admiten activación/desactivación por plataforma, activación condicional basada en la disponibilidad de herramientas y validación de requisitos previos, por lo que una habilidad puede declarar "solo disponible si la herramienta EDGAR está presente".

El formato es el estándar abierto agentskills.io, por lo que lo que escribes es portátil a otros agentes compatibles.

2c. El bucle de auto-mejora y el mantenimiento

El agente escribe sus propias habilidades.

Después de resolver algo mediante prueba y error (típicamente una tarea con varias llamadas a herramientas), guarda el enfoque que funcionó como un SKILL.md en agent_created/.

La herramienta de gestión de habilidades tiene seis acciones y la que debes conocer es patch: una corrección específica, preferida sobre las reescrituras completas porque es eficiente en tokens.

El agente literalmente refina sus propios manuales de jugadas en el lugar durante el uso.

Sin mantenimiento, las auto-habilidades hacen metástasis.

Terminas con docenas de manuales de jugadas estrechos y superpuestos que queman tokens de prefijo y contaminan el enrutador.

gemchanger - inline image

El Curador se encarga de ello, y vale la pena conocer su mecánica. No es un demonio cron, se ejecuta en una verificación de inactividad: aproximadamente cuando han pasado 7 días desde su última ejecución y el agente ha estado inactivo 2+ horas, un fork en segundo plano se inicia con su propia caché de prompt, sin tocar nunca la conversación activa, y ejecuta un bucle de revisión LLM que archiva automáticamente las habilidades obsoletas (en .archive/, restaurable, nada se pierde nunca).

La configuración está bajo curator en config.yaml: interval_hours, min_idle_hours, stale_after_days, archive_after_days.

Trata las auto-habilidades como borradores de pasante. hermes curator review para echarles un vistazo, fija las realmente buenas para que sobrevivan, deja que el resto se archive. Curar este bucle es la educación.

Un agente no curado empeora con el tiempo, no mejora.

2d. Estándares - la disciplina, clasificada por cuánto te ahorra

Estas son las reglas que integras en SOUL.md y cada SKILL.md. En orden de impacto.

1. Prohíbe la aritmética. Los LLM predicen tokens. Esta es la fuente número uno de números incorrectos con confianza. La implementación limpia usa execute_code (cubierto en 2e) para que un script determinista haga las matemáticas y el modelo solo decida las entradas e interprete las salidas.

Un DCF que el modelo "estimó" es ficción; uno que un script calculó y el modelo sometió a pruebas de estrés es producto.

2. Comprobantes en cada cifra. Cada número regresa con su fuente y fecha asociada adjunta, nunca desnudo. El renderizador descarta cualquier cosa sin comprobante.

La recompensa es adversarial: cuando dos fuentes discrepan, la discrepancia es la señal.

3. Solo en el momento. El sesgo de mirar hacia adelante es el asesino silencioso de todo backtest y de toda captura de pantalla de "lo predijo". Las APIs sirven datos re-expresados y actuales por defecto.

Etiqueta los hechos con fechas de corte y limita al agente solo a lo que se podía saber en la fecha de la decisión.

4. Adversarial por construcción. Un subagente construye el caso alcista, a un segundo se le ordena destruirlo, un tercero reconcilia con una confianza declarada. El valor está enteramente en que los objetivos sean genuinamente opuestos, no en el número de agentes.

Los modelos de alineación neutral importan aquí porque defenderán el caso bajista con fuerza en lugar de suavizarlo hasta convertirlo en papilla.

5. Licencia para abstenerse. Obliga a "qué dato lo cambiaría" en cada llamada.

Si ese es un dato que el agente no tiene, la respuesta es "sin posición".

2e. El movimiento avanzado: la llamada a herramientas programática colapsa los pipelines a un costo de contexto cero

Esta es la característica que, una vez que la entiendes, cambia la forma en que construyes cada flujo de trabajo de analista.

Normalmente, un pipeline de varios pasos quema un turno de LLM por paso: "Buscaré… ahora leeré… ahora resumiré… ahora escribiré".

Cada paso mecánico cuesta tokens de inferencia y contamina el contexto con basura intermedia.

execute_code elimina eso

El agente escribe un script de Python que llama a las propias herramientas de Hermes a través de un RPC de socket de dominio Unix. El script se ejecuta en un proceso hijo; las llamadas a herramientas viajan a través del socket de vuelta al padre y se envían a través del mismo manejador que las llamadas a herramientas normales.

Fundamentalmente: solo la salida print() del script regresa al modelo. Los resultados intermedios de las herramientas nunca entran en la ventana de contexto.

python
1# el agente escribe esto UNA VEZ; el modelo solo participa en el punto de decisión
2from hermes_tools import edgar_fetch, market_price, calc
3
4tickers = ["TSLA", "NVDA", "COIN"]
5rows = []
6for t in tickers:
7 f = edgar_fetch(t, form="10-Q") # llamada a herramienta vía RPC
8 px = market_price(t) # llamada a herramienta vía RPC
9 pe = calc("pe", price=px["last"], eps=f["eps"]) # matemáticas deterministas, no el LLM
10 rows.append({"ticker": t, "pe": pe, "src": f["accession"], "as_of": f["period_end"]})
11
12print(rows) # SOLO esto llega a la ventana de contexto

Para un analista financiero, esto es enorme.

Un barrido matutino de 20 tickers con tres llamadas a herramientas cada uno son 60 llamadas a herramientas que, hechas convencionalmente, volarían tu contexto y tu presupuesto de tokens.

Como script, es un turno, una tabla impresa limpia, matemáticas hechas deterministamente en línea. Doblas pipelines enteros en inferencias individuales y el modelo solo piensa en los puntos que realmente necesitan juicio. Construye tus flujos de trabajo de analista recurrentes como scripts de execute_code envueltos en habilidades. (Solo Linux/macOS, necesita sockets de dominio Unix).

2f. Memoria - hechos vs. modelo de usuario

La memoria de Hermes son tres mecanismos ortogonales (el marco de "3 capas" es una simplificación didáctica, en el código son independientes):

  • MEMORY.md - hechos duraderos. Límite de ~2.200 caracteres.
  • USER.md - el modelo de ti. Límite de ~1.375 caracteres.
  • SessionDB - SQLite, WAL, FTS5 sobre cada turno pasado, consultado vía session_search.

Un MemoryStore lee MEMORY.md y USER.md una vez al inicio de la sesión y los incrusta como un solo bloque inmutable en el prompt del sistema.

El agente puede escribir en esos archivos a mitad de sesión y las escrituras llegan al disco, pero la copia en el prompt no cambia hasta la próxima sesión, porque cambiarla rompería la caché del prefijo (la misma invariante que en todas partes).

Además de 8 proveedores externos opcionales (modelado de usuario dialéctico de Honcho, Mem0, Hindsight, Supermemory…), selección única, hermes memory setup.

Los límites de caracteres son una característica. Te obligan a mantener USER.md como infraestructura de alta señal, no como un vertedero.

Para un analista, USER.md es tu mandato: tolerancia al riesgo, horizonte, las métricas en las que realmente actúas, formato de salida.

MEMORY.md es para hechos duraderos que el agente se ganó ("Los ingresos de COIN se alinean mejor con el 10-K que con FMP").

SessionDB como tu anotador de puntuaciones, almacena cada llamada, puntúala contra los resultados, y el agente actualiza los a prioris mientras tú aprendes su calibración, dónde es precisa y dónde es crónicamente demasiado alcista. Ese mapa de calibración es alfa que ningún minorista se molesta en recopilar.

2g. Cuando los prompts no son suficientes: GAPA, luego RL

Antes de que recurras al ajuste fino: Hermes tiene GAPA, optimización sistemática de prompts para tu SOUL.md, instrucciones de habilidades y prompts del sistema, en lugar de ajustes manuales de prueba y error.

Pruébalo cuando el rendimiento se estanque.

Más allá de eso, Hermes hace generación de trayectorias por lotes y exporta trazas en formato ShareGPT para SFT, y hay una ruta de RL (Atropos) para realmente ajustar finamente el comportamiento de llamada a herramientas en tus propias trayectorias. Este es el techo real de "educarlo", termina en entrenar un modelo sobre cómo trabaja tu analista.

PARTE 3: EXTIÉNDELO: REPOS, MCP, SERVICIOS

MCP: separa el registro de la exposición

Agrega servidores a través de la CLI o config.yaml; el agente lista sus herramientas al inicio y las registra junto con las integradas. Disciplina clave, reflejando la lógica de caché anterior: lista blanca con tools.include para que solo expongas lo que necesitas, porque cada herramienta expuesta cuesta tokens de prefijo y amplía tu superficie de ataque.

bash
1hermes mcp add github --command npx --args "-y,@modelcontextprotocol/server-github"
2hermes mcp configure github # activa/desactiva herramientas individuales
yaml
1mcp_servers:
2 filesystem:
3 command: npx
4 args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/research"]
5 tools: { include: [read_file, list_directory] } # solo lectura, sin escrituras

/reload-mcp para aplicar.

Composio MCP es el truco infalible, un servidor, cientos de conexiones SaaS; la gente construye agentes financieros en Hermes que obtienen datos de mercado y escriben informes en Google Docs enteramente a través de él. Y hermes mcp serve ejecuta Hermes como un servidor MCP, exponiendo su historial de sesiones para que Claude Desktop o Cursor puedan consultar lo que encontró tu analista; el agente se convierte en una base de conocimiento que tus otras herramientas leen.

Los grifos de datos (clasificados: columna vertebral vs. adorno)

Columna vertebral de cripto:

DefiLlama

(gratuito, sin clave, sin límite de tasa real, TVL/tasas/rendimientos/precios, la mitad de los paneles pagados son rediseños)

+ Helius

(el rey de Solana, el análisis de transacciones mejorado convierte sopa de bytes en intercambios legibles).

Adorno:

Birdeye (OHLCV+websocket), Jupiter (enrutamiento/cotizaciones), Dune+Flipside (SQL en cadena), Bitquery (GraphQL multicadena), Nansen/Arkham (etiquetas, de pago).

Columna vertebral de TradFi:

FRED

(St. Louis Fed, macro gratuita de mayor señal, los datos que los escritorios realmente observan)

+ edgartools

(MIT, sin clave, datos financieros tipificados de 10-K con números de accession).

Adorno:

Finnhub (mejor nivel gratuito), FMP (ratios precalculados), Polygon/Tiingo (históricos limpios), yfinance (cinta adhesiva, se rompe silenciosamente), GDELT (eventos de noticias globales).

Trampa: los niveles gratuitos son ajustados (Alpha Vantage ~2 docenas de llamadas/día). Pensarás que tu código se rompió. Almacena todo en caché y usa grupos de credenciales (config.yaml) para rotar entre múltiples claves automáticamente y sobrevivir a los límites de tasa.

Repositorios que valen tu tiempo

  • NousResearch/hermes-agent

Lee los documentos de la guía para desarrolladores: arquitectura, bucle del agente, compresión y almacenamiento en caché del contexto. DeepWiki y los espejos de mudrii/hermes-agent-docs son buenos para los detalles internos.

gemchanger - inline image
  • 0xNyk/awesome-hermes-agent

Habilidades, herramientas, servidores MCP, integraciones curadas. Empieza aquí. Centros de habilidades: el Hub oficial (680+ habilidades, 18 categorías), skills.sh, ClawHub.

gemchanger - inline image
  • OpenBB-finance/OpenBB

Bloomberg de código abierto que envía servidores MCP, por lo que se conecta directamente a Hermes y le entrega al agente una enorme superficie de datos de mercado + análisis a través de una sola interfaz. El complemento único de mayor apalancamiento.

gemchanger - inline image
  • polakowo/vectorbt

Backtesting rápido con Numba, miles de variaciones en segundos. Envuélvelo en una habilidad para que el agente pruebe cada hipótesis antes de que confíes en ella.

gemchanger - inline image
  • TauricResearch/TradingAgents (+ auronsun/TradingAgents-crypto)

Simulador de firma de trading multiagente. Léelo por la estructura, luego construye la versión más ligera de subagente alcista/bajista que entiendas. microsoft/qlib y nautechsystems/nautilus_trader para estrategias sistemáticas reales. wilsonfreitas/awesome-quant como el mapa de bibliotecas.

gemchanger - inline image
Guardar con un clic

Lee artículos virales en profundidad con IA en YouMind

Guarda la fuente, haz preguntas concretas, resume el argumento y convierte un artículo viral en notas reutilizables en un único espacio de trabajo con IA.

Explora YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales