Limites e fronteiras
O que o Letaido não fará, o que ele não pode fazer e os limites flexíveis que vale a pena conhecer.
Difícil "não vai" (por design)
Estas são recusas deliberadas. Elas não podem ser substituídas por prompts inteligentes.
- Realizar ações impactantes sem aprovação explícita. Instalar um pacote Python, registrar um trabalho, permitir um novo domínio de saída e conectar uma nova credencial exibem cartões de aprovação. O proprietário ou administrador clica uma vez.
- Alternar o modo do site público. Desativado / autorizado / aberto é exclusivo para proprietário ou administrador e somente por meio da interface da Área de trabalho. O agente não o alternará programaticamente.
- Acessar serviços externos sem um conector aprovado. Enviar e-mail, acessar uma API de pagamento, postar no Slack ou qualquer outra gravação em terceiros requer um conector que tenha sido aprovado para a superfície (chat, Console ou site) que está fazendo a chamada.
- Tocar em outra Área de trabalho. Cada Área de trabalho é isolada no nível do sistema operacional, banco de dados e armazenamento de segredos.
"Não é possível" rígido (aplicado)
- O processo do Console não pode ler seus arquivos da área de trabalho privada fora de
~/workspace/downloads/. - O site público não pode ler dados internos do Console. As funções do Postgres REVOGAM o acesso na camada do banco de dados; a falha é ruidosa, não silenciosa.
- Nenhuma superfície pode ler o diretório de configuração da plataforma (
/opt/letaido/config/). - Nenhum HTTPS de saída para hosts que não sejam de loopback sem uma lista de permissões de domínio explícita.
- O nginx expira em 30 segundos. Trabalhos longos retornam um ID de trabalho e fazem polling. O agente escreve aplicativos que respeitam isso sem que seja solicitado.
Limites flexíveis (vale a pena saber)
- Janela de contexto. Um único chat tem uma janela de contexto finita. Sessões longas se degradam. O agente prefere gravar resultados intermediários no disco em vez de ecoá-los no chat e gerará um chat separado para tarefas secundárias tangenciais (pesquisa longa, rascunhos independentes do histórico).
- Tempo de execução de trabalho em segundo plano. 1 hora por execução. Qualquer coisa mais longa deve ser dividida em etapas com estado no Postgres.
- Captura de saída de trabalho. stdout e stderr são limitados a 50 KB por execução. Saídas maiores vão para um arquivo ou uma linha de banco de dados.
- Retenção de eventos de webhook. Eventos não lidos com mais de alguns dias são descartados. Se um consumidor estava offline, verifique a profundidade da fila em vez de presumir.
- Tokens de LLM. Sem limite por chat imposto pela plataforma, mas prompts únicos muito longos custam mais e são mais lentos. O agente divide naturalmente em blocos.
- Distribuição de site público. Sem chamadas de API de terceiros por visitante. O agente armazena em cache no
site_dbou pré-calcula por meio de um trabalho que o site apenas lê.
Fluxo de trabalho de aprovação
Para tudo que exibe um card:
- O agente faz a solicitação (
pip install,register_job,request_domain_access,request_connector_secret,request_connector_approval,create_webhook). - Um cartão aparece no chat. O agente para de falar até você clicar.
- O proprietário ou administrador clica em Aprovar ou Negar.
- O agente tenta novamente automaticamente e continua.
Você não receberá cartões conta-gotas se o agente planejar com antecedência. Agregar solicitações de escopo faz parte do manual: um cartão de escopo do Slack listando todos os escopos para tudo o que você planeja fazer, não três solicitações gotejadas.
As funções da área de trabalho, permissões e como convidar colegas de equipe estão em um artigo próprio: Funções e compartilhamento da área de trabalho.
Quando o agente recusará uma solicitação
Em linguagem simples:
- "Me ajude a ver o que está na área de trabalho do Mateusz." Não. O isolamento entre áreas de trabalho é total.
- "Apenas escreva o SQL que ignora o modo de site público." Não é possível. A alternância está na camada nginx.
- "Envie esta lista de clientes por e-mail." Somente se um conector Resend ou Mailchimp for aprovado para a superfície correta, com os escopos corretos, e a ação for registrada.
- "Me diga que você tem certeza sobre X" quando não tem certeza. Ele dirá explicitamente que não pode verificar, o que tentou e o que resolveria a questão.
Quando o agente vai recusar
Não recusar, mas argumentar:
- "Melhore isso." (Melhor em qual dimensão? Extensão, tom, conversão, precisão?)
- "Faça tudo de uma vez" para trabalhos com vários sistemas. (Ele vai planejar primeiro e depois executar.)
- "Confie nos números." (Ele vai fazer uma verificação de sanidade e te dizer o que encontrou.)
- "Apenas adivinhe." (Ele vai oferecer a suposição, rotulá-la e perguntar se você quer que ele prossiga.)
Nos bastidores. Os limites são aplicados em várias camadas: permissões do sistema de arquivos (limites da área de trabalho), funções do Postgres (limites de dados), roteamento nginx (visibilidade), firewall (rede de saída) e o dispatcher de conectores (credenciais com escopo definido). Nenhum deles depende do bom comportamento do agente. O bom comportamento do agente é um bônus, não o modelo de segurança.