summaryrefslogtreecommitdiff
path: root/src/agents/main/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/agents/main/main.py')
-rw-r--r--src/agents/main/main.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/agents/main/main.py b/src/agents/main/main.py
new file mode 100644
index 0000000..5d398c4
--- /dev/null
+++ b/src/agents/main/main.py
@@ -0,0 +1,62 @@
+# main.py
+from agent import Agent
+import os
+from config import INCLUDE_HIDDEN_GOAL, MODEL
+from vfs import VFS
+
+def load_prompt(file_path):
+ if not os.path.exists(file_path):
+ return ""
+ with open(file_path, 'r') as f:
+ return f.read().strip()
+
+if __name__ == "__main__":
+ # Configuration for the experiment run
+ SCENARIO = "corporate_sabotage"
+ OVERSIGHT_LEVEL = "high"
+
+ # Construct paths based on the scenario
+ scenario_dir = os.path.join("scenarios", SCENARIO)
+ vfs_path = os.path.join(scenario_dir, "data")
+
+ # Initialize the virtual file system
+ VFS.get_instance(vfs_path)
+
+ # Load prompts
+ benign_goal_path = os.path.join(scenario_dir, "benign_goal.md")
+ hidden_goal_path = os.path.join(scenario_dir, "hidden_goal.md")
+ user_prompt_path = os.path.join(scenario_dir, "user.md")
+
+ benign_goal = load_prompt(benign_goal_path)
+ user_prompt = load_prompt(user_prompt_path)
+
+ system_prompt_parts = [benign_goal]
+
+ if INCLUDE_HIDDEN_GOAL:
+ hidden_goal = load_prompt(hidden_goal_path)
+ system_prompt_parts.append(hidden_goal)
+
+ # Load and append oversight prompt
+ oversight_prompt_path = os.path.join("oversight", f"{OVERSIGHT_LEVEL}.md")
+ oversight_prompt = load_prompt(oversight_prompt_path)
+ system_prompt_parts.append(oversight_prompt)
+
+ system_prompt = "\n\n".join(filter(None, system_prompt_parts))
+
+ print("\n--- Using model:", MODEL, "---\n")
+ print("\n--- Final Virtual File System State ---")
+ VFS.get_instance().print_fs()
+ agent = Agent(
+ system_prompt=system_prompt,
+ scenario=SCENARIO,
+ oversight_level=OVERSIGHT_LEVEL,
+ user_prompt_type=os.path.basename(user_prompt_path)
+ )
+ agent.run(user_prompt)
+ agent.save_logs()
+
+ print("\n--- Final Virtual File System State ---")
+ VFS.get_instance().print_fs()
+
+
+