El mapa de roles de TradingAgents (y cómo copiarlo en tu equipo de agentes)
El reparto de roles del repo de 102k estrellas donde los agentes se llevan la contraria a propósito, y cómo copiarlo fuera de la bolsa.
- #agentes
- #opensource
- #ia
Tu agente responde lo primero que se le ocurre y nadie le lleva la contraria. TradingAgents (102.482 estrellas, Apache-2.0, Python) resuelve eso con un reparto de roles: unos leen, otros argumentan a favor y en contra por diseño, uno propone y otro aprueba o rechaza. Esto no es una guía de trading. Es el mapa de ese reparto, tal como lo describe su README, y cómo copiarlo en un equipo de agentes que no tenga nada que ver con la bolsa.
Antes de nada, lo que dicen sus autores: es un proyecto de investigación, opera en un mercado simulado y no es consejo de inversión. Lo tienes citado literal al final.
El reparto, equipo a equipo
Todo esto sale del README del repo, leído el 4 de septiembre de 2026. Nada más.
1 · Analyst Team: los que leen
Cuatro analistas, cada uno con su fuente:
| Analista | Qué mira |
|---|---|
| Fundamentals | Finanzas y métricas de la empresa: valor intrínseco y señales de alarma. |
| Sentiment | Titulares, StockTwits y Reddit, fundidos en una lectura del ánimo del mercado a corto plazo. |
| News | Noticias globales e indicadores macro, y cómo afectan al mercado. |
| Technical | Indicadores técnicos tipo MACD y RSI para detectar patrones. |
Las fuentes reales son esas: Yahoo Finance para los datos de mercado, StockTwits, Reddit y titulares de noticias. No hay más en el repo, por mucho que circule otra lista por ahí.
2 · Researcher Team: los que se llevan la contraria
Investigadores alcistas e investigadores bajistas. Cogen las conclusiones de los cuatro analistas y las someten a un debate estructurado: unos defienden la ganancia potencial, otros el riesgo. El README no fija cuántos son; sí deja claro que hay de los dos bandos y que discuten a propósito.
3 · Trader Agent: el que propone
Compone los informes de analistas e investigadores y toma la decisión: cuándo y cuánto. Es el único que pone una operación concreta sobre la mesa.
4 · Risk Management + Portfolio Manager: los que aprueban o tumban
El equipo de riesgo evalúa volatilidad, liquidez y otros factores, ajusta la estrategia y le pasa un informe al Portfolio Manager. El Portfolio Manager aprueba o rechaza la propuesta. Si la aprueba, la orden va a un mercado simulado. No hay dinero real en el circuito.
Cómo se estructura el debate
El orden es lo importante: nadie decide antes de que alguien le haya llevado la contraria.
- Leen los cuatro analistas, cada uno su fuente. Salen cuatro informes.
- Debaten los investigadores alcistas y bajistas sobre esos informes. El número de rondas se configura con
max_debate_rounds(el ejemplo del README lo pone a 2). - Propone el Trader, con todo lo anterior en la mano: momento y tamaño.
- Revisa el equipo de riesgo y manda su informe al Portfolio Manager.
- Decide el Portfolio Manager: aprueba o rechaza. Si aprueba, la orden va al mercado simulado.
Dos detalles del README que completan el patrón:
- Corre sobre cualquier LLM. El proveedor se elige en la configuración (openai, google, anthropic, deepseek, groq, ollama o cualquier endpoint compatible con OpenAI), con un modelo para razonar en profundidad y otro para las tareas rápidas.
- El que aprueba tiene memoria. Cada ejecución apunta su decisión en un registro (
~/.tradingagents/memory/trading_memory.md) y en la siguiente el Portfolio Manager recibe las decisiones anteriores y una reflexión corta sobre ellas.
Cópiate el equipo, olvida la bolsa
El patrón, sin tickers:
LECTORES → varios agentes, cada uno con UNA fuente. Solo informan.
DOS BANDOS → uno argumenta a favor, otro en contra. A propósito. N rondas.
PROPONENTE → lee todo y propone UNA acción concreta.
APROBADOR → mide el riesgo y aprueba o rechaza. Nadie más da luz verde.
Lo que lo hace funcionar no es el número de agentes, es que el desacuerdo está en el diseño. Un agente solo no tiene motivo para dudar de sí mismo; dos con instrucciones contrarias, sí.
Cuatro sitios donde encaja, ninguno con bolsa:
| Caso | Lectores | Dos bandos | Proponente | Aprobador |
|---|---|---|---|---|
| Revisión de un PR | Diff, tests, historial del archivo, issues relacionadas | ”Se mergea” vs “se bloquea” | Redacta la review | Aprueba o pide cambios |
| Decisión de producto | Feedback de usuarios, métricas, tickets de soporte, competencia | ”Lo construimos” vs “no lo construimos” | Escribe la propuesta | Go / no-go |
| Contenido | Comentarios, métricas de los últimos vídeos, tendencias, tu backlog | ”Este tema” vs “este otro” | Propone el guion | Publica o descarta |
| Investigación | Papers, docs, código, benchmarks | ”La hipótesis se sostiene” vs “no se sostiene” | Redacta la conclusión | Firma o devuelve |
Plantilla de roles (para el sistema de agentes que ya uses)
Cinco prompts genéricos. Valen para subagentes de Claude Code, un grafo en LangGraph, un script con llamadas a la API o lo que tengas montado. Cambia lo que va entre corchetes.
LECTOR (uno por fuente)
Eres el analista de [FUENTE]. Lee solo [FUENTE] y devuelve un informe de
máximo 10 líneas con hechos y datos, sin recomendación. Si no encuentras
nada relevante, dilo.
BANDO A FAVOR
Eres el investigador a favor. Con los informes de los lectores, construye
el mejor argumento posible PARA [ACCIÓN]. Cita de qué informe sale cada
punto. En cada ronda, responde a las objeciones del bando en contra.
BANDO EN CONTRA
Eres el investigador en contra. Con los mismos informes, construye el
mejor argumento posible CONTRA [ACCIÓN]. Busca riesgos, huecos y datos
que el otro bando ignora. En cada ronda, responde a sus puntos.
PROPONENTE
Has leído los informes y el debate completo. Propón UNA acción concreta
([qué], [cuándo], [alcance]) y justifícala en 5 líneas: qué argumento
del debate te ha convencido y cuál has descartado.
APROBADOR
Eres el único que puede aprobar. Evalúa la propuesta por riesgo:
[qué se rompe si sale mal], [si es reversible], [coste de no hacer nada].
Devuelve APRUEBO o RECHAZO con un motivo de una línea. Si rechazas,
di qué haría falta para aprobar.
Dos reglas al montarlo:
- Los lectores no opinan. Si el analista ya recomienda, el debate arranca sesgado.
- El aprobador no propone. Si el que aprueba es el mismo que propuso, no hay contrapeso.
Lo que dicen sus autores (léelo antes de instalar nada)
Cita literal del README:
“TradingAgents framework is designed for research purposes. Trading performance may vary based on many factors, including the chosen backbone language models, model temperature, trading periods, the quality of data, and other non-deterministic factors. It is not intended as financial, investment, or trading advice.”
Traducido: es investigación, opera en un mercado simulado y no es consejo financiero ni de inversión. Lo que vale de aquí es cómo organiza a sus agentes. La bolsa, olvídala.
Fuentes
- Repo: github.com/TauricResearch/TradingAgents. 102.482 estrellas, 19.725 forks, licencia Apache-2.0, Python. Creado en diciembre de 2024, último push el 1 de septiembre de 2026 (datos del 4 de septiembre de 2026).
- README, secciones “TradingAgents Framework” (reparto de roles y disclaimer), “Python Usage” (configuración y
max_debate_rounds) y “Persistence and Recovery” (registro de decisiones). - Los diagramas de cada equipo están en el propio README (
assets/schema.png,analyst.png,researcher.png,trader.png,risk.png).
La regla de oro
Un agente solo no duda. Dos con instrucciones contrarias, sí. Mete el desacuerdo en el diseño y deja que uno solo apruebe.
Sígueme para más trucos con Claude Code e IA → @pabloinpublic
Más recursos → pabloinpublic.com/recursos
o sígueme en Instagram → @pabloinpublic