Agente inteligente de engenharia de software de propósito geral baseado em LLM, que suporta a execução de tarefas complexas de desenvolvimento com instruções em linguagem natural.
NOASSERTIONTypeScript 4.3krefly-airefly Last Updated: 2025-07-10
Detalhes do Projeto Trae Agent
Visão Geral do Projeto
Trae Agent é um agente inteligente de código aberto da ByteDance, baseado em Modelos de Linguagem Grande (LLM), projetado para tarefas gerais de engenharia de software. Este projeto oferece uma poderosa interface de linha de comando (CLI) capaz de compreender instruções em linguagem natural e executar fluxos de trabalho complexos de engenharia de software.
Endereço GitHub: https://github.com/bytedance/trae-agent
Funcionalidades Principais
🌊 Lakeview
- Oferece uma função de resumo concisa e clara para as etapas do agente.
- Ajuda os usuários a entender rapidamente o processo de execução do agente.
🤖 Suporte a Múltiplos LLMs
- Suporta a API oficial da OpenAI.
- Suporta a API oficial da Anthropic.
- Mecanismo flexível de seleção de modelo.
🛠️ Ecossistema de Ferramentas Rico
- Funcionalidade de edição de arquivos.
- Execução de comandos Bash.
- Pensamento Sequencial (Sequential Thinking).
- Mais ferramentas de extensão.
🎯 Modo Interativo
- Interface conversacional, suporta desenvolvimento iterativo.
- Interação em tempo real, melhora a experiência de desenvolvimento.
📊 Registro de Trajetória
- Registra detalhadamente todas as operações do agente.
- Suporta depuração e análise.
- Gera automaticamente relatórios de execução.
⚙️ Configuração Flexível
- Sistema de configuração baseado em JSON.
- Suporta configuração de variáveis de ambiente.
- Prioridade de configuração multinível.
🚀 Instalação Simplificada
- Processo de instalação simples baseado em pip.
- Recomendado usar UV para a configuração do projeto.
Guia de Instalação
Método de Instalação Recomendado (usando UV)
git clone https://github.com/bytedance/trae-agent.git
cd trae-agent
uv sync
Configuração de Variáveis de Ambiente
# Chave da API OpenAI
export OPENAI_API_KEY="sua-chave-api-openai"
# Chave da API Anthropic
export ANTHROPIC_API_KEY="sua-chave-api-anthropic"
Uso
Execução Básica de Tarefas
# Tarefa simples
trae-cli run "Create a hello world Python script"
# Especificar provedor e modelo
trae-cli run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514
# Especificar diretório de trabalho
trae-cli run "Add unit tests for the utils module" --working-dir /path/to/project
# Salvar arquivo de trajetória para depuração
trae-cli run "Refactor the database module" --trajectory-file debug_session.json
# Forçar geração de patch
trae-cli run "Update the API endpoints" --must-patch
Modo Interativo
# Iniciar sessão interativa
trae-cli interactive
# Usar configuração personalizada
trae-cli interactive --provider openai --model gpt-4o --max-steps 30
Comandos do Modo Interativo
- Insira a descrição da tarefa para executá-la
status
- Ver informações do agentehelp
- Mostrar comandos disponíveisclear
- Limpar telaexit
ouquit
- Encerrar sessão
Gerenciamento de Configuração
# Mostrar configuração atual
trae-cli show-config
# Usar arquivo de configuração personalizado
trae-cli show-config --config-file my_config.json
Arquivo de Configuração
Trae Agent usa um arquivo de configuração JSON (trae_config.json
) para as configurações:
{
"default_provider": "anthropic",
"max_steps": 20,
"model_providers": {
"openai": {
"api_key": "sua_chave_api_openai",
"model": "gpt-4o",
"max_tokens": 128000,
"temperature": 0.5,
"top_p": 1
},
"anthropic": {
"api_key": "sua_chave_api_anthropic",
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096,
"temperature": 0.5,
"top_p": 1,
"top_k": 0
}
}
}
Prioridade de Configuração
- Argumentos de linha de comando (prioridade mais alta)
- Valores do arquivo de configuração
- Variáveis de ambiente
- Valores padrão (prioridade mais baixa)
Ferramentas Integradas
str_replace_based_edit_tool - Ferramenta de Operação de Arquivos
view
- Exibir conteúdo do arquivo ou lista de diretórioscreate
- Criar novo arquivostr_replace
- Substituir texto no arquivoinsert
- Inserir texto na linha especificada
bash - Execução de Comandos Shell
- Executar comandos e scripts
- Manuseio de estado persistente
- Lidar com processos de longa duração
- Capturar saída e erros
sequential_thinking - Resolução Estruturada de Problemas
- Dividir problemas complexos
- Recursos de pensamento iterativo e correção
- Geração e validação de hipóteses
task_done - Sinal de Conclusão de Tarefa
- Marcar tarefa como concluída com sucesso
- Fornecer resultados finais e resumo
Registro de Trajetória
Trae Agent registra automaticamente uma trajetória de execução detalhada para depuração e análise:
# Gerar arquivo de trajetória automaticamente
trae-cli run "Debug the authentication module"
# Salvo em: trajectory_20250612_220546.json
# Arquivo de trajetória personalizado
trae-cli run "Optimize the database queries" --trajectory-file optimization_debug.json
Conteúdo do Arquivo de Trajetória
- Interação LLM: Todas as mensagens, respostas e chamadas de ferramentas
- Etapas do Agente: Transições de estado e pontos de decisão
- Uso de Ferramentas: Ferramentas chamadas e seus resultados
- Metadados: Carimbos de data/hora, uso de tokens e métricas de execução
Guia de Contribuição
Processo de Contribuição
- Fazer fork do repositório
- Criar branch de recurso (
git checkout -b feature/amazing-feature
) - Fazer alterações
- Adicionar testes para novas funcionalidades
- Fazer commit das alterações (
git commit -m 'Add amazing feature'
) - Enviar para o branch (
git push origin feature/amazing-feature
) - Enviar Pull Request
Diretrizes de Desenvolvimento
- Seguir o guia de estilo PEP 8
- Adicionar testes para novas funcionalidades
- Atualizar a documentação conforme necessário
- Usar dicas de tipo apropriadamente
- Garantir que todos os testes passem antes de fazer commit
Requisitos do Sistema
- Python 3.12+
- Chave da API OpenAI (para modelos OpenAI)
- Chave da API Anthropic (para modelos Anthropic)
Solução de Problemas
Erros de Importação
# Tentar configurar PYTHONPATH
PYTHONPATH=. trae-cli run "sua tarefa"
Problemas com a Chave da API
# Verificar se as chaves da API estão configuradas
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# Verificar configuração
trae show-config
Erros de Permissão
# Garantir permissões apropriadas para operações de arquivo
chmod +x /path/to/your/project