Escenarios
Un escenario es la configuración de nivel superior para una ejecución de simulación. Define:name— identificador del escenarioseed- semilla RNG determinista (misma semilla = mismos resultados)ticks— número de pasos de simulacióntickSeconds— tiempo simulado por tick (por ejemplo, 3600 = 1 hora)pack— adaptador de protocolo que configura el estado mundialagents— lista de tipos, recuentos y parámetros de agentesassertions— comprobaciones de validación posteriores a la ejecucióngossip: definiciones de canales, presupuestos y configuraciones de confianza
Garrapatas
Un tick es un paso de simulación. Durante cada tic:- El motor llama al
step(ctx)a cada agente en orden - Cada agente devuelve cero, una o hasta tres acciones.
- El paquete ejecuta cada acción contra el estado del protocolo.
- Se registran métricas, chismes y artefactos.
Agentes
Los agentes son actores autónomos. Cada agente extiendeBaseAgent e implementa step():
Contexto del agente
Cada tick, los agentes reciben unTickContext con:
Estado del agente
Los agentes pueden persistir en el estado entre ticks:this.remember(key, value)- almacenar un valorthis.recall(key)— recuperar un valor almacenadothis.setCooldown(name, ticks)— límite de velocidad de una acciónthis.isOnCooldown(name)— comprobar el estado de enfriamiento
Soporte de múltiples acciones
Los agentes pueden devolver una serie de hasta 3 acciones por tick. El motor ejecuta cada acción en orden dentro del mismo tick:Agentes personales de LLM
PersonaLlmAgentBase proporciona una base reutilizable para agentes impulsados por LLM con:
- Perfil de persona (identificación, estilo, objetivos, perfil de riesgo, preferencias de herramientas)
- Conjunto de avisos estructurado con contexto de manifiesto de capacidad total
- Bucle OODA de dos etapas: planifique y luego actúe, con respaldo al análisis de un solo disparo
- Intenciones de acción validadas por esquema a través de Zod
Paquetes
Los paquetes son adaptadores de protocolo. Conectan AgentForge con sus contratos inteligentes mediante la implementación de la interfazPack :
setup()— implementar contratos, inicializar estadoexecuteAction(action)— ejecutar la acción de un agente contra el protocologetWorldState(): devuelve el estado actual del protocolo para que los agentes lo observengetCapabilityManifest(): describe los contratos, funciones y plantillas de acción disponibles
ToyPack integrado proporciona un entorno sencillo de simulación de precios para empezar.
chismes
El bus de chismes permite la comunicación entre agentes:- Canales : canales de transmisión global o de estrategia específica con listas de miembros
- Mensajes de formato libre : cargas de texto con puntuaciones
credibilityPrioropcionales (0-1) - Presupuestos : configurables
maxPostsPerTickymaxReadsPerTickpor agente - Enfriamientos - por canal
postCooldownTickspara limitar la velocidad de publicación
Determinismo
Misma semilla + mismo escenario = resultados idénticos. Toda la aleatoriedad fluye a través de un RNG sembrado. Esto permite:- CI reproducible : las afirmaciones se aprueban o fallan de manera consistente
- Repetir : vuelva a ejecutar los seguimientos de exploración de forma determinista frente a contratos actualizados
- Comparación - diferencia dos ejecuciones con
forge-sim compare
Flujo de trabajo de exploración/reproducción
- Explorar : ejecute con agentes LLM en modo de exploración para descubrir comportamientos
- Captura — un
replay_bundle.jsonregistra el seguimiento de decisión completo - Repetir : vuelva a ejecutar exactamente el mismo seguimiento de forma determinista contra contratos actualizados