diff --git a/ai_agent.py b/ai_agent.py index 8b1e1dc..9829ce4 100644 --- a/ai_agent.py +++ b/ai_agent.py @@ -41,19 +41,21 @@ def query_agent(prompt: str, override_provider: str = None, chat_history: list = cfg = get_config() provider = override_provider or cfg.get("active_provider", "gemini") - # Prompt otimizado para ser curto se for Ollama (evita CPU 90% em conversas simples) + # Prompt otimizado: Inteligente mas leve if provider == "ollama": - system_prompt = "Você é o [BotVPS] do Marcos. Seja técnico e breve. Use [TOOL:nome] arg [/TOOL] apenas se for necessário agir na VPS. Responda em Português." + system_prompt = "Você é o [Antigravity VPS Agent], o SysAdmin inteligente do Marcos. Responda de forma direta e técnica, mas mantenha a conversa natural. Use ferramentas apenas se necessário. Responda SEMPRE em Português." num_context = 2048 else: system_prompt = system_prompt_base.replace("{TOOLS_LIST}", tools_desc) num_context = 4096 - # Preparação de Histórico Limpa - hist_list = chat_history[-3:] if chat_history else [] # Apenas as últimas 3 para o Ollama voar - hist_txt = "\n".join([f"Usuário: {m['user']}\nAgente: {m['bot']}" for m in hist_list]) + # Preparação de Histórico (Máximo 4 mensagens para equilíbrio) + hist_list = chat_history[-4:] if chat_history else [] + hist_txt = "\n".join([f"U: {m['user']}\nA: {m['bot']}" for m in hist_list]) - execution_context = f"\nHistorico: {hist_txt}\nORDEM: {prompt}\n" + # Montagem Final: Evitar que ele se sinta 'novo' em cada mensagem se já tiver histórico + instruction_start = "Olá! Como posso ajudar você hoje?" if not chat_history else "" + execution_context = f"{hist_txt}\n\nPERGUNTA ATUAL DO MARCOS: {prompt}\nSUA RESPOSTA:" current_reasoning = "" max_loops = 12