The Agent class is the core component of QuantaLogic, implementing the ReAct (Reasoning & Action) framework. This reference explains its key components and usage.
def__init__(self,model_name:str="",memory:AgentMemory=AgentMemory(),tools:list[Tool]=[TaskCompleteTool()],ask_for_user_validation:Callable[[str],bool]=console_ask_for_user_validation,task_to_solve:str="",specific_expertise:str="General AI assistant with coding and problem-solving capabilities",get_environment:Callable[[],str]=get_environment,)
defsolve_task(self,task:str,max_iterations:int=30)->str:"""Solve the given task using the ReAct framework. Args: task: The task description max_iterations: Maximum iterations (default: 30) Returns: str: Final response after task completion """
classAgentConfig:environment_details:str# System environment informationtools_markdown:str# Available tools documentationsystem_prompt:str# System prompt for the agent
classAgentMemory:"""Manages agent's conversation history and context."""defcompact_memory(self)->None:"""Optimize memory usage."""defclear(self)->None:"""Clear all memory."""
# Subscribe to eventsagent.event_emitter.on(["task_complete","task_think_start","task_think_end","tool_execution_start","tool_execution_end","error_max_iterations_reached","memory_full","memory_compacted",],your_event_handler)
fromquantalogicimportcreate_coding_agentagent=create_coding_agent(model_name="deepseek/deepseek-chat",vision_model_name=None,# Optionalbasic=False# Use full tool set)
defmonitor_performance(event):ifevent["type"]=="tool_execution_end":duration=event["data"].get("duration")logger.info(f"Tool execution took {duration}s")agent.event_emitter.on("*",monitor_performance)