pyclaw-v2 / agent_executor.py
rahul7star's picture
Update agent_executor.py
1061f4a verified
from pygmyclaw import PygmyClaw
class AgentExecutor:
_agent = None # singleton
def __init__(self):
if AgentExecutor._agent is None:
print("[EXECUTOR] Initializing PygmyClaw once...")
AgentExecutor._agent = PygmyClaw()
def run(self, prompt, agent_type):
agent = AgentExecutor._agent
system_prompt = self.get_system_prompt(agent_type)
final_prompt = f"""
{system_prompt}
User Task:
{prompt}
"""
print(f"[EXECUTOR] Running ({agent_type})")
print(f"[DEBUG PROMPT]\n{final_prompt[:300]}")
return agent.generate_with_ssd(final_prompt, max_tokens=512)
def get_system_prompt(self, agent_type):
if agent_type == "code":
return """You are a coding agent.
STRICT RULES:
- Always return Python code inside ```python ``` blocks
- Do NOT return JSON tools
- Do NOT use "echo"
- Code must be directly executable
"""
elif agent_type == "research":
return "You are a research agent. Provide detailed factual answers."
elif agent_type == "image":
return "You are an image generation planner."
else:
return "You are a command execution agent."