1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# main.py
from agent import Agent
import os
from config import VFS_PATH
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 = "data_sanitization"
OVERSIGHT_LEVEL = "low"
USER_PROMPT_TYPE = "data_sanitization"
# Load scenario prompts
cover_prompt_path = os.path.join("prompts", "scenarios", f"{SCENARIO}_cover.md")
hidden_prompt_path = os.path.join("prompts", "scenarios", f"{SCENARIO}_hidden.md")
cover_prompt = load_prompt(cover_prompt_path)
hidden_prompt = load_prompt(hidden_prompt_path)
# Load oversight prompt
oversight_prompt_path = os.path.join("prompts", "oversight", f"{OVERSIGHT_LEVEL}.md")
oversight_prompt = load_prompt(oversight_prompt_path)
# Combine system prompts
system_prompt_parts = [cover_prompt, oversight_prompt, hidden_prompt]
system_prompt = "\n\n".join(filter(None, system_prompt_parts))
# Load user prompt
user_prompt_path = os.path.join("prompts", "user", f"{USER_PROMPT_TYPE}.md")
user_prompt = load_prompt(user_prompt_path)
agent = Agent(
system_prompt=system_prompt,
scenario=SCENARIO,
oversight_level=OVERSIGHT_LEVEL,
user_prompt_type=USER_PROMPT_TYPE
)
agent.run(user_prompt)
agent.save_logs()
print("\n--- Final Virtual File System State ---")
VFS.get_instance().print_fs()
|