Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.
Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.
Pasos de configuración
Comprueba que tu entorno tiene Python ≥3.10 y <3.12 con pip, según el pyproject.toml oficial. Usa una carpeta de ensayo nueva: el ejemplo borra ./data/reddit_simulation.db si existe. Antes de instalar, prepara un entorno de Python 3.10 o 3.11 con python -m venv .venv y source .venv/bin/activate en macOS/Linux.
Instala el paquete del README:
pip install camel-oasis
Carga OPENAI_API_KEY desde tu entorno privado con acceso a gpt-4o-mini, el modelo usado por la receta. Prepara los perfiles:
Guarda el ejemplo oficial completo en simulacion.py en esa carpeta:
import asyncio
import os
from camel.models import ModelFactory
from camel.types import ModelPlatformType, ModelType
import oasis
from oasis import (ActionType, LLMAction, ManualAction,
generate_reddit_agent_graph)
async def main():
# Define the model for the agents
openai_model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI,
model_type=ModelType.GPT_4O_MINI,
)
# Define the available actions for the agents
available_actions = [
ActionType.LIKE_POST,
ActionType.DISLIKE_POST,
ActionType.CREATE_POST,
ActionType.CREATE_COMMENT,
ActionType.LIKE_COMMENT,
ActionType.DISLIKE_COMMENT,
ActionType.SEARCH_POSTS,
ActionType.SEARCH_USER,
ActionType.TREND,
ActionType.REFRESH,
ActionType.DO_NOTHING,
ActionType.FOLLOW,
ActionType.MUTE,
]
agent_graph = await generate_reddit_agent_graph(
profile_path="./data/reddit/user_data_36.json",
model=openai_model,
available_actions=available_actions,
)
# Define the path to the database
db_path = "./data/reddit_simulation.db"
# Delete the old database
if os.path.exists(db_path):
os.remove(db_path)
# Make the environment
env = oasis.make(
agent_graph=agent_graph,
platform=oasis.DefaultPlatformType.REDDIT,
database_path=db_path,
)
# Run the environment
await env.reset()
actions_1 = {}
actions_1[env.agent_graph.get_agent(0)] = [
ManualAction(action_type=ActionType.CREATE_POST,
action_args={"content": "Hello, world!"}),
ManualAction(action_type=ActionType.CREATE_COMMENT,
action_args={
"post_id": "1",
"content": "Welcome to the OASIS World!"
})
]
actions_1[env.agent_graph.get_agent(1)] = ManualAction(
action_type=ActionType.CREATE_COMMENT,
action_args={
"post_id": "1",
"content": "I like the OASIS world."
})
await env.step(actions_1)
actions_2 = {
agent: LLMAction()
for _, agent in env.agent_graph.get_agents()
}
# Perform the actions
await env.step(actions_2)
# Close the environment
await env.close()
if __name__ == "__main__":
asyncio.run(main())
Desde la carpeta de ensayo, con el entorno activado:
python simulacion.py
Crea data/reddit_simulation.db con publicaciones y comentarios simulados, incluidos Hello, world! y Welcome to the OASIS World! del primer paso manual y las acciones del modelo del siguiente. Consulta esa base con un visor SQLite para contrastar el registro. No publica en Reddit real.
Comprobación
Confirma que los agentes y acciones coinciden con la configuración. Revisa los eventos producidos y registra el modelo y las condiciones de la prueba.
Si algo falla
Si faltan perfiles, comprueba la ruta del archivo. Si el modelo no responde, revisa proveedor y cuota antes de aumentar el tamaño del experimento.
Consulta el README oficial para requisitos y variantes de instalación.
Qué es
OASIS es un entorno de simulación de interacciones sociales con agentes. Permite definir perfiles y acciones para estudiar comportamientos dentro de una plataforma simulada.
Para qué te sirve
Cuando quieres observar cómo una publicación genera respuestas bajo condiciones controladas.
Cuando comparas reglas o perfiles de agentes sin experimentar sobre usuarios reales.
Cómo funciona
El entorno crea un grafo de agentes y un conjunto de acciones disponibles. Los agentes pueden producir publicaciones, comentarios y otras interacciones según el modelo y configuración elegidos.
Antes de empezar
Necesitas Python ≥3.10 y <3.12 con pip, y un proveedor de modelos para los agentes del ejemplo. Prepara los perfiles y limita el tamaño del experimento: más agentes y turnos pueden aumentar mucho el consumo de inferencia y recursos.
Límites y alternativas
Una simulación no predice de forma fiable la respuesta de una audiencia real. Frente a un análisis de redes con datos históricos, permite controlar condiciones, pero sus conclusiones dependen de perfiles, prompts y modelos.