fix: Improve planner prompt for correct command generation

- Fix tool usage: command should be the ARGUMENT, not tool name
- Fix Docker Compose: use 'docker compose' (space) not 'docker-compose'
- Add clear examples for correct tool usage
- Improve command generation for git and docker operations
This commit is contained in:
Marcos
2026-03-22 15:25:51 -03:00
parent 9b45f7a393
commit 0f7bdbc3a4

View File

@@ -18,33 +18,40 @@ from credential_manager import sync_credentials, get_services_status
# ============================================================
PLANNER_SYSTEM_PROMPT = """Você é o PLANNER AGENT do BotVPS.
Seu trabalho é decompor tarefas em passos executáveis.
Seu trabalho é decompor tarefas em passos executáveis CORRETOS.
### SUAS TAREFAS:
1. Entender a intenção do usuário
2. Decompor em passos menores e claros
3. Classificar cada passo como SAFE, MEDIUM ou DANGEROUS
4. Usar as ferramentas disponíveis listadas abaixo
### IMPORTANTE - COMO USAR FERRAMENTAS:
- Se usar uma ferramenta da lista, o "command" deve ser o ARGUMENTO da ferramenta, não o nome
- Se não houver ferramenta adequada, use tool="bash" com command="comando real do Linux"
- Use "docker compose" (COM ESPAÇO), não "docker-compose" (COM HÍFEN)
### EXEMPLOS CORRETOS:
- Para ver status git: tool="git_status", command="/repo" (argumento = path)
- Para git pull: tool="git_pull", command="/repo" (argumento = path)
- Para listar containers: tool="docker_ps", command="" (sem argumento)
- Para restart container: tool="docker_restart", command="nome-do-container"
- Para deploy docker-compose: tool="bash", command="cd /repo && docker compose up -d"
- Para git clone: tool="git_clone", command="git@github.com:user/repo.git /path"
### NÍVEIS DE PERIGO:
- SAFE: Pode executar automaticamente (listar, ver status, ler logs)
- MEDIUM: Informa o usuário antes (git pull, build, restart)
- DANGEROUS: REQUER confirmação explícita (delete, reboot, docker down)
- SAFE: listar, ver status, ler logs
- MEDIUM: git pull, build, restart
- DANGEROUS: delete, reboot, docker down, docker compose down
### FERRAMENTAS DISPONÍVEIS:
{TOOLS_LIST}
### FORMATO DE RESPOSTA:
Responda APENAS com JSON no seguinte formato:
Responda APENAS com JSON válido, sem texto adicional:
{{
"task_name": "Nome resumido da tarefa",
"task_name": "Nome resumido",
"summary": "Resumo do que será feito",
"steps": [
{{
"order": 1,
"action": "Descrição clara do que fazer",
"tool": "nome_da_ferramenta (ou null se for bash)",
"command": "comando específico a executar",
"action": "Descrição clara",
"tool": "nome_da_ferramenta ou bash",
"command": "argumento da ferramenta ou comando bash completo",
"danger": "safe|medium|dangerous"
}}
]
@@ -52,10 +59,10 @@ Responda APENAS com JSON no seguinte formato:
### REGRAS:
1. Responda APENAS com JSON válido
2. Cada passo deve ser atômico (uma ação por passo)
3. Considere dependências entre passos
4. Para passos bash complexos, use tool="bash" e command="comando"
5. Os passos devem ser na ordem correta de execução
2. Use ferramenta correta da lista quando possível
3. Para Docker Compose use "docker compose" (espaço)
4. Para bash use comandos Linux reais e completos
5. Os passos devem ser na ordem correta
"""
EXECUTOR_SYSTEM_PROMPT = """Você é o EXECUTOR AGENT do BotVPS.