| --- |
| title: OrgSim |
| emoji: π’ |
| colorFrom: blue |
| colorTo: purple |
| sdk: docker |
| pinned: false |
| app_port: 8000 |
| tags: openenv,multi-agent,organization,simulation |
| --- |
| |
| # OrgSim β Organization Simulation Environment |
|
|
| A real-world organizational workflow environment for RL agent training. Agents must triage tasks, |
| manage shared resources, coordinate across teams via escalation, and complete work before deadlines. |
|
|
| ## Environment Description |
|
|
| OrgSim simulates a 3-team startup (Engineering, Sales, Operations) where an AI agent acts as a |
| team member. Unlike game environments, OrgSim tests skills directly transferable to AI work assistants: |
| prioritization under time pressure, resource contention, and cross-functional escalation judgment. |
|
|
| ## Action Space |
|
|
| | Action | Description | Required payload | |
| |--------|-------------|-----------------| |
| | REQUEST_TASK | Pull next task from team queue | none | |
| | ACCEPT_TASK | Accept a specific task | task_id | |
| | COMPLETE_TASK | Mark task done | task_id | |
| | REQUEST_HELP | Ask for help (advances progress +0.2) | task_id | |
| | PROVIDE_HELP | Respond to help request (+0.3 progress) | task_id | |
| | ESCALATE | Escalate cross-team or stuck task | task_id | |
| | REQUEST_RESOURCE | Lock shared resource | resource_id | |
| | REPORT_STATUS | No-op | none | |
| |
| ## Observation Space |
| |
| | Field | Type | Description | |
| |-------|------|-------------| |
| | my_agent_id | str | Agent's ID | |
| | my_team | str | Team (engineering/sales/operations) | |
| | my_role | str | lead or member | |
| | available_tasks | list[dict] | Unassigned tasks in my team | |
| | active_task | dict\|None | Currently assigned task | |
| | inbox | list[dict] | Messages addressed to me | |
| | team_status | dict | Per-team busy/total counts | |
| | resources | dict[str, bool] | Resource availability (True = unlocked) | |
| | metrics | dict | Episode metrics (completed/failed/escalated counts) | |
|
|
| ## Tasks (Easy β Medium β Hard) |
|
|
| | Task ID | Difficulty | Description | Optimal steps | |
| |---------|------------|-------------|---------------| |
| | solo_bug_fix | Easy | Fix one high-priority bug before deadline | ~4 | |
| | cross_team_launch | Medium | Complete eng feature + escalate sales task | ~8 | |
| | startup_crisis | Hard | Triage critical incident + resource-gated feature + cross-team client | ~12 | |
| |
| ## Baseline Scores |
| |
| Scores produced by GPT-4o baseline agent (`inference.py`): |
| |
| | Task | Score | Steps | |
| |------|-------|-------| |
| | solo_bug_fix | ~0.75 | 4β6 | |
| | cross_team_launch | ~0.55 | 7β10 | |
| | startup_crisis | ~0.30 | 10β15 | |
|
|
| ## Setup |
|
|
| ### Local |
|
|
| ```bash |
| pip install -e ./org_sim |
| python -m org_sim.server.app |
| ``` |
|
|
| ### Docker |
|
|
| ```bash |
| docker build -t org-sim:latest -f org_sim/server/Dockerfile . |
| docker run -p 8000:8000 \ |
| -e API_BASE_URL=<endpoint> \ |
| -e MODEL_NAME=<model> \ |
| -e HF_TOKEN=<token> \ |
| org-sim:latest |
| ``` |
|
|
| ### Run Inference |
|
|
| ```bash |
| export API_BASE_URL=https://... |
| export MODEL_NAME=gpt-4o |
| export HF_TOKEN=hf_... |
| export ORGSIM_ENV_URL=http://localhost:8000 |
| python inference.py |
| ``` |
|
|
| ## Environment Variables |
|
|
| | Variable | Required | Default | Description | |
| |----------|----------|---------|-------------| |
| | API_BASE_URL | Yes | β | LLM API endpoint | |
| | MODEL_NAME | Yes | gpt-4o | Model identifier | |
| | HF_TOKEN | Yes | β | HuggingFace / API key | |
| | ORGSIM_ENV_URL | No | http://localhost:8000 | Environment server URL | |
| | ORGSIM_MAX_STEPS | No | 50 | Max steps per episode | |
|
|