Home
Login

Agent intelligent d'ingénierie logicielle généraliste basé sur LLM, prenant en charge l'exécution de tâches de développement complexes via des instructions en langage naturel.

MITPython 7.2kbytedancetrae-agent Last Updated: 2025-07-10

Présentation détaillée du projet Trae Agent

Aperçu du projet

Trae Agent est un agent intelligent open-source basé sur les grands modèles de langage (LLM) de ByteDance, conçu spécifiquement pour les tâches d'ingénierie logicielle générales. Ce projet offre une interface en ligne de commande puissante, capable de comprendre des instructions en langage naturel et d'exécuter des flux de travail complexes d'ingénierie logicielle.

Adresse GitHub : https://github.com/bytedance/trae-agent

Fonctionnalités clés

🌊 Lakeview

  • Fournit une fonction de résumé concise et claire pour les étapes de l'agent.
  • Aide les utilisateurs à comprendre rapidement le processus d'exécution de l'agent.

🤖 Prise en charge de plusieurs LLM

  • Prend en charge l'API officielle d'OpenAI.
  • Prend en charge l'API officielle d'Anthropic.
  • Mécanisme flexible de sélection de modèle.

🛠️ Écosystème d'outils riche

  • Fonctionnalités d'édition de fichiers.
  • Exécution de commandes Bash.
  • Pensée séquentielle (Sequential Thinking).
  • Plus d'outils extensibles.

🎯 Mode interactif

  • Interface conversationnelle, prenant en charge le développement itératif.
  • Interaction en temps réel, améliorant l'expérience de développement.

📊 Enregistrement des trajectoires

  • Enregistre en détail toutes les opérations de l'agent.
  • Prend en charge le débogage et l'analyse.
  • Génère automatiquement des rapports d'exécution.

⚙️ Configuration flexible

  • Système de configuration basé sur JSON.
  • Prend en charge la configuration par variables d'environnement.
  • Priorité de configuration à plusieurs niveaux.

🚀 Installation facile

  • Processus d'installation simple basé sur pip.
  • Recommandation d'utiliser UV pour la configuration du projet.

Guide d'installation

Méthode d'installation recommandée (avec UV)

git clone https://github.com/bytedance/trae-agent.git
cd trae-agent
uv sync

Configuration des variables d'environnement

# Clé API OpenAI
export OPENAI_API_KEY="votre-clé-api-openai"

# Clé API Anthropic
export ANTHROPIC_API_KEY="votre-clé-api-anthropic"

Utilisation

Exécution de tâches de base

# Tâche simple
trae-cli run "Create a hello world Python script"

# Spécifier le fournisseur et le modèle
trae-cli run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514

# Spécifier le répertoire de travail
trae-cli run "Add unit tests for the utils module" --working-dir /chemin/vers/le/projet

# Enregistrer le fichier de trajectoire pour le débogage
trae-cli run "Refactor the database module" --trajectory-file debug_session.json

# Forcer la génération d'un patch
trae-cli run "Update the API endpoints" --must-patch

Mode interactif

# Lancer une session interactive
trae-cli interactive

# Utiliser une configuration personnalisée
trae-cli interactive --provider openai --model gpt-4o --max-steps 30

Commandes du mode interactif

  • Entrez la description de la tâche pour l'exécuter.
  • status - Afficher les informations de l'agent.
  • help - Afficher les commandes disponibles.
  • clear - Effacer l'écran.
  • exit ou quit - Terminer la session.

Gestion de la configuration

# Afficher la configuration actuelle
trae-cli show-config

# Utiliser un fichier de configuration personnalisé
trae-cli show-config --config-file my_config.json

Fichier de configuration

Trae Agent utilise un fichier de configuration JSON (trae_config.json) pour les réglages :

{
  "default_provider": "anthropic",
  "max_steps": 20,
  "model_providers": {
    "openai": {
      "api_key": "votre_clé_api_openai",
      "model": "gpt-4o",
      "max_tokens": 128000,
      "temperature": 0.5,
      "top_p": 1
    },
    "anthropic": {
      "api_key": "votre_clé_api_anthropic",
      "model": "claude-sonnet-4-20250514",
      "max_tokens": 4096,
      "temperature": 0.5,
      "top_p": 1,
      "top_k": 0
    }
  }
}

Priorité de la configuration

  1. Paramètres de ligne de commande (priorité la plus élevée)
  2. Valeurs du fichier de configuration
  3. Variables d'environnement
  4. Valeurs par défaut (priorité la plus basse)

Outils intégrés

str_replace_based_edit_tool - Outil d'opérations sur les fichiers

  • view - Afficher le contenu d'un fichier ou la liste d'un répertoire.
  • create - Créer un nouveau fichier.
  • str_replace - Remplacer du texte dans un fichier.
  • insert - Insérer du texte à une ligne spécifiée.

bash - Exécution de commandes Shell

  • Exécuter des commandes et des scripts.
  • Gérer l'état persistant.
  • Gérer les processus de longue durée.
  • Capturer la sortie et les erreurs.

sequential_thinking - Résolution structurée de problèmes

  • Décomposer les problèmes complexes.
  • Fonctionnalités de réflexion itérative et de correction.
  • Génération et validation d'hypothèses.

task_done - Signal de fin de tâche

  • Marquer la réussite d'une tâche.
  • Fournir le résultat final et un résumé.

Enregistrement des trajectoires

Trae Agent enregistre automatiquement des trajectoires d'exécution détaillées pour le débogage et l'analyse :

# Génération automatique du fichier de trajectoire
trae-cli run "Debug the authentication module"
# Enregistré dans : trajectory_20250612_220546.json

# Fichier de trajectoire personnalisé
trae-cli run "Optimize the database queries" --trajectory-file optimization_debug.json

Contenu du fichier de trajectoire

  • Interaction LLM : Tous les messages, réponses et appels d'outils.
  • Étapes de l'agent : Transitions d'état et points de décision.
  • Utilisation des outils : Outils appelés et leurs résultats.
  • Métadonnées : Horodatages, utilisation des jetons et métriques d'exécution.

Guide de contribution

Processus de contribution

  1. Forker le dépôt.
  2. Créer une branche de fonctionnalité (git checkout -b feature/amazing-feature).
  3. Apporter les modifications.
  4. Ajouter des tests pour les nouvelles fonctionnalités.
  5. Commiter les modifications (git commit -m 'Add amazing feature').
  6. Pousser vers la branche (git push origin feature/amazing-feature).
  7. Soumettre une Pull Request.

Directives de développement

  • Suivre le guide de style PEP 8.
  • Ajouter des tests pour les nouvelles fonctionnalités.
  • Mettre à jour la documentation si nécessaire.
  • Utiliser les indications de type (type hints) de manière appropriée.
  • S'assurer que tous les tests passent avant de soumettre.

Exigences système

  • Python 3.12+
  • Clé API OpenAI (pour les modèles OpenAI)
  • Clé API Anthropic (pour les modèles Anthropic)

Dépannage

Erreurs d'importation

# Essayer de définir PYTHONPATH
PYTHONPATH=. trae-cli run "votre tâche"

Problèmes de clé API

# Vérifier si les clés API sont définies
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY

# Vérifier la configuration
trae show-config

Erreurs de permission

# S'assurer des permissions appropriées pour les opérations sur les fichiers
chmod +x /chemin/vers/votre/projet

Star History Chart