Agente inteligente de ingeniería de software de propósito general basado en LLM, que admite la ejecución de tareas de desarrollo complejas mediante instrucciones en lenguaje natural.
NOASSERTIONTypeScript 4.3krefly-airefly Last Updated: 2025-07-10
Descripción Detallada del Proyecto Trae Agent
Resumen del Proyecto
Trae Agent es un agente inteligente de código abierto basado en modelos de lenguaje grandes (LLM) de ByteDance, diseñado para tareas generales de ingeniería de software. Este proyecto ofrece una potente interfaz de línea de comandos capaz de comprender instrucciones en lenguaje natural y ejecutar complejos flujos de trabajo de ingeniería de software.
Dirección de GitHub: https://github.com/bytedance/trae-agent
Características Principales
🌊 Lakeview
- Proporciona una función de resumen concisa y clara para los pasos del agente.
- Ayuda a los usuarios a comprender rápidamente el proceso de ejecución del agente.
🤖 Soporte Multi-LLM
- Soporta la API oficial de OpenAI.
- Soporta la API oficial de Anthropic.
- Mecanismo flexible de selección de modelos.
🛠️ Rico Ecosistema de Herramientas
- Funcionalidad de edición de archivos.
- Ejecución de comandos Bash.
- Pensamiento Secuencial (Sequential Thinking).
- Más herramientas extendidas.
🎯 Modo Interactivo
- Interfaz conversacional que soporta desarrollo iterativo.
- Interacción en tiempo real para mejorar la experiencia de desarrollo.
📊 Registro de Trayectoria
- Registra detalladamente todas las operaciones del agente.
- Soporta depuración y análisis.
- Genera automáticamente informes de ejecución.
⚙️ Configuración Flexible
- Sistema de configuración basado en JSON.
- Soporta configuración mediante variables de entorno.
- Prioridad de configuración multinivel.
🚀 Instalación Sencilla
- Proceso de instalación simple basado en pip.
- Se recomienda usar UV para la configuración del proyecto.
Guía de Instalación
Método de Instalación Recomendado (usando UV)
git clone https://github.com/bytedance/trae-agent.git
cd trae-agent
uv sync
Configuración de Variables de Entorno
# OpenAI API Key
export OPENAI_API_KEY="your-openai-api-key"
# Anthropic API Key
export ANTHROPIC_API_KEY="your-anthropic-api-key"
Modo de Uso
Ejecución de Tareas Básicas
# Tarea simple
trae-cli run "Create a hello world Python script"
# Especificar proveedor y modelo
trae-cli run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514
# Especificar directorio de trabajo
trae-cli run "Add unit tests for the utils module" --working-dir /path/to/project
# Guardar archivo de trayectoria para depuración
trae-cli run "Refactor the database module" --trajectory-file debug_session.json
# Forzar la generación de un parche
trae-cli run "Update the API endpoints" --must-patch
Modo Interactivo
# Iniciar sesión interactiva
trae-cli interactive
# Usar configuración personalizada
trae-cli interactive --provider openai --model gpt-4o --max-steps 30
Comandos del Modo Interactivo
- Introduce la descripción de la tarea para ejecutarla.
status
- Ver información del agente.help
- Mostrar comandos disponibles.clear
- Limpiar pantalla.exit
oquit
- Terminar sesión.
Gestión de la Configuración
# Mostrar configuración actual
trae-cli show-config
# Usar archivo de configuración personalizado
trae-cli show-config --config-file my_config.json
Archivo de Configuración
Trae Agent utiliza un archivo de configuración JSON (trae_config.json
) para los ajustes:
{
"default_provider": "anthropic",
"max_steps": 20,
"model_providers": {
"openai": {
"api_key": "your_openai_api_key",
"model": "gpt-4o",
"max_tokens": 128000,
"temperature": 0.5,
"top_p": 1
},
"anthropic": {
"api_key": "your_anthropic_api_key",
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096,
"temperature": 0.5,
"top_p": 1,
"top_k": 0
}
}
}
Prioridad de Configuración
- Parámetros de línea de comandos (máxima prioridad)
- Valores del archivo de configuración
- Variables de entorno
- Valores predeterminados (mínima prioridad)
Herramientas Integradas
str_replace_based_edit_tool - Herramienta de Operación de Archivos
view
- Mostrar contenido de archivo o lista de directorios.create
- Crear un nuevo archivo.str_replace
- Reemplazar texto en un archivo.insert
- Insertar texto en una línea específica.
bash - Ejecución de Comandos Shell
- Ejecutar comandos y scripts.
- Manejo de estado persistente.
- Procesamiento de procesos de larga duración.
- Captura de salida y errores.
sequential_thinking - Resolución Estructurada de Problemas
- Descomponer problemas complejos.
- Funcionalidad de pensamiento y corrección iterativa.
- Generación y validación de hipótesis.
task_done - Señal de Tarea Completada
- Marcar la finalización exitosa de una tarea.
- Proporcionar resultados finales y un resumen.
Registro de Trayectoria
Trae Agent registra automáticamente una trayectoria de ejecución detallada para depuración y análisis:
# Generar automáticamente archivo de trayectoria
trae-cli run "Debug the authentication module"
# Guardado en: trajectory_20250612_220546.json
# Archivo de trayectoria personalizado
trae-cli run "Optimize the database queries" --trajectory-file optimization_debug.json
Contenido del Archivo de Trayectoria
- Interacción LLM: Todos los mensajes, respuestas y llamadas a herramientas.
- Pasos del Agente: Transiciones de estado y puntos de decisión.
- Uso de Herramientas: Herramientas invocadas y sus resultados.
- Metadatos: Marcas de tiempo, uso de tokens e indicadores de ejecución.
Guía de Contribución
Proceso de Contribución
- Haz un fork del repositorio.
- Crea una rama de característica (
git checkout -b feature/amazing-feature
). - Realiza los cambios.
- Añade pruebas para las nuevas funcionalidades.
- Confirma los cambios (
git commit -m 'Add amazing feature'
). - Sube a la rama (
git push origin feature/amazing-feature
). - Envía una Pull Request.
Normas de Desarrollo
- Sigue la guía de estilo PEP 8.
- Añade pruebas para las nuevas funcionalidades.
- Actualiza la documentación según sea necesario.
- Usa las sugerencias de tipo (type hints) apropiadamente.
- Asegúrate de que todas las pruebas pasen antes de enviar.
Requisitos del Sistema
- Python 3.12+
- Clave API de OpenAI (para modelos OpenAI)
- Clave API de Anthropic (para modelos Anthropic)
Solución de Problemas
Errores de Importación
# Intenta configurar PYTHONPATH
PYTHONPATH=. trae-cli run "your task"
Problemas con la Clave API
# Verifica si las claves API están configuradas
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# Revisa la configuración
trae show-config
Errores de Permiso
# Asegúrate de tener los permisos adecuados para las operaciones de archivo
chmod +x /path/to/your/project