Pular para o conteúdo principal

attempt_completion

A ferramenta attempt_completion sinaliza que o AI Cockpit Reasoning acredita que uma tarefa está concluída e apresenta os resultados ao usuário. Ela fornece um resumo do que foi realizado, opcionalmente inclui um comando para demonstrar o resultado e suporta o refinamento contínuo através do feedback do usuário.

Parâmetros

A ferramenta aceita estes parâmetros:

  • result (obrigatório): A descrição do resultado final, resumindo o que foi realizado
  • command (opcional): Um comando CLI a ser executado para demonstrar o resultado

O Que Faz

Esta ferramenta marca o fim de uma tarefa, apresentando um resumo final do que foi realizado. Ela sinaliza tanto para o usuário quanto para o sistema que a tarefa atual está concluída. Quando um comando é fornecido, ele também pode demonstrar o resultado através de uma execução ao vivo.

Quando é usada?

  • Quando o AI Cockpit Reasoning acredita que a tarefa do usuário foi concluída
  • Ao resumir quais alterações ou melhorias foram feitas
  • Ao demonstrar o resultado atual com a execução de um comando
  • Ao fornecer um ponto de verificação para o feedback do usuário sobre a solução
  • Ao fazer a transição de uma fase de trabalho para possíveis refinamentos

Principais Características

  • Fornece um sinal claro de que o AI Cockpit Reasoning acredita que a tarefa está concluída
  • Resume as realizações em uma mensagem concisa
  • Opcionalmente, demonstra os resultados através da execução de comandos
  • Permite o feedback do usuário para refinamentos adicionais
  • Exibe os resultados em um formato de interface de usuário especial, distinto das mensagens regulares
  • Captura a telemetria de conclusão da tarefa para análise do sistema
  • Mantém um fluxo de conversa estruturado, fornecendo pontos de verificação
  • Suporta a conclusão de subtarefas em fluxos de trabalho maiores
  • Garante que os usuários recebam um resumo claro do que foi feito
  • Disponível em todos os modos como parte do grupo de ferramentas "sempre disponível"

Limitações

  • Não deve ser usada até que os usos anteriores da ferramenta sejam confirmados como bem-sucedidos (diretriz, não imposta)
  • Limitada a um único comando para demonstração do resultado
  • Não pode apresentar várias opções de comando
  • Os comandos exigem a aprovação do usuário antes da execução
  • Limitada a demonstrar resultados que podem ser mostrados através de comandos CLI
  • Não pode ser usada para conclusão parcial de tarefas ou atualizações de progresso
  • A formatação do resultado remove as tags de fechamento XML através do processamento interno

Como Funciona

Quando a ferramenta attempt_completion é invocada, ela segue este processo:

  1. Consideração de Segurança (diretriz, não imposta):

    • A IA é instruída a confirmar que os usos anteriores da ferramenta foram bem-sucedidos
    • Esta é uma prática recomendada, em vez de um mecanismo imposto programaticamente
  2. Apresentação do Resultado:

    • Exibe a mensagem de conclusão para o usuário em um formato de interface de usuário especial "completion_result"
    • Remove as tags de fechamento XML do texto do resultado usando a função removeClosingTag
    • Apresenta o resultado de forma diferente das mensagens regulares para distinção visual
  3. Execução do Comando (se fornecido):

    • Solicita a aprovação do usuário antes de executar o comando
    • Só executa se o usuário aprovar
    • Executa o comando usando a funcionalidade de execução de comando do sistema
    • Mostra o resultado do comando para o usuário
  4. Coleta de Feedback:

    • Aguarda o feedback do usuário sobre o resultado da conclusão
    • Processa este feedback e o retorna para a IA
    • Permite o refinamento contínuo com base na entrada do usuário
  5. Conclusão e Continuação da Tarefa:

    • Sinaliza a tarefa como concluída no sistema
    • Captura dados de telemetria para a tarefa concluída
    • Para subtarefas, oferece-se para finalizar a subtarefa e retomar a tarefa pai
    • Suporta a continuação da conversa através do mecanismo de feedback
  6. Integração da Implementação:

    • Os resultados da ferramenta são analisados através do mecanismo de análise do sistema em parse-assistant-message.ts
    • A ferramenta faz parte da constante "ALWAYS_AVAILABLE_TOOLS", tornando-a disponível em todos os modos

    Diretrizes de Formatação de Resultado

A mensagem de resultado deve seguir estas diretrizes:

  • Comunicar claramente o que foi realizado
  • Ser concisa, mas completa
  • Focar no valor entregue ao usuário
  • Evitar gentilezas desnecessárias ou texto de preenchimento
  • Manter um tom profissional e direto
  • Apresentar as informações de uma forma que seja fácil de ler e entender
  • Reconhecer que o usuário pode fornecer feedback para refinamentos adicionais

Nota: O sistema remove automaticamente as tags de fechamento XML do texto do resultado através da função removeClosingTag.

Diretrizes de Seleção de Comando

Ao incluir um comando, siga estas diretrizes:

  • Escolha comandos que demonstrem visualmente o resultado
  • Prefira comandos que mostrem ao usuário o que foi criado ou modificado
  • Exemplos incluem:
    • open index.html para exibir um site criado
    • npm start para iniciar um servidor de desenvolvimento
    • python app.py para executar uma aplicação criada
  • Evite comandos que apenas imprimem texto (como echo ou cat)
  • Lembre-se que os comandos exigem a aprovação do usuário antes da execução
  • Garanta que o comando seja válido para o sistema operacional do usuário

Feedback e Representação na UI

A ferramenta attempt_completion tem um mecanismo de feedback único:

  • Os resultados aparecem em um formato de interface de usuário especial "completion_result", distinto das mensagens regulares
  • O sistema aguarda o feedback do usuário após apresentar o resultado
  • O feedback é processado e retornado ao AI Cockpit Reasoning para refinamentos adicionais
  • Isso cria um ciclo de melhoria iterativo em vez de encerrar a conversa
  • A interface do usuário inclui elementos especiais para fornecer feedback
  • Os resultados servem como pontos de verificação claros no fluxo da conversa

Quando usado em subtarefas:

  • O sistema se oferece para finalizar a subtarefa e retomar a tarefa pai
  • Se aprovado, a subtarefa é concluída com um resumo
  • A tarefa pai é retomada com o contexto da subtarefa concluída
  • Isso permite fluxos de trabalho complexos e aninhados, mantendo o contexto

Exemplos de Quando Usado

  • Ao criar um site, o AI Cockpit Reasoning apresenta a solução e usa open index.html para mostrar o resultado. O usuário fornece feedback e o AI Cockpit Reasoning refina o design.
  • Ao implementar um recurso, o AI Cockpit Reasoning resume as alterações e seu impacto. O usuário solicita cobertura de teste adicional e o AI Cockpit Reasoning continua a tarefa.
  • Ao corrigir bugs, o AI Cockpit Reasoning explica o que foi corrigido e como a solução aborda a causa raiz. O usuário confirma que a correção funciona.
  • Ao configurar um ambiente de desenvolvimento, o AI Cockpit Reasoning confirma que todos os componentes estão instalados. O usuário solicita configuração adicional e o AI Cockpit Reasoning continua.
  • Ao criar um script de processamento de dados, o AI Cockpit Reasoning resume a funcionalidade. O usuário sugere melhorias de desempenho e o AI Cockpit Reasoning otimiza o código.

Exemplos de Uso

Concluindo uma tarefa com apenas um resumo do resultado:

<attempt_completion>
<result>
Atualizei o CSS da barra de navegação para corresponder ao mockup de design. As alterações incluem:
1. Atualização do esquema de cores para usar as novas cores da marca
2. Adição de comportamento responsivo para dispositivos móveis
3. Correção dos problemas de alinhamento nos menus suspensos
</result>
</attempt_completion>

Concluindo uma tarefa com um resultado e um comando de demonstração:

<attempt_completion>
<result>
Criei uma aplicação React simples com os seguintes recursos:
1. Uma landing page responsiva com a seção principal solicitada
2. Um formulário de contato funcional com validação
3. Navegação entre todas as três páginas solicitadas
4. Estilo que corresponde ao mockup de design fornecido
</result>
<command>npm start</command>
</attempt_completion>

Concluindo uma tarefa de script Python com execução:"

<attempt_completion>
<result>
Criei um script de processamento de dados que:
1. Lê os arquivos CSV do diretório de dados
2. Limpa e normaliza os dados conforme solicitado
3. Gera as estatísticas resumidas em formato JSON
4. Exporta os dados processados para o diretório de saída
</result>
<command>python process_data.py</command>
</attempt_completion>