org-sim / org_sim /README.md
mohansshf's picture
OrgSim environment β€” Team Clawless submission
3c1aa59
|
Raw
History Blame Contribute Delete
3.37 kB
---
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 |