Home
Login

基于LLM的通用软件工程智能代理,支持自然语言指令执行复杂开发任务

NOASSERTIONTypeScript 4.3krefly-airefly Last Updated: 2025-07-10

Trae Agent 项目详细介绍

项目概述

Trae Agent 是字节跳动开源的基于大语言模型(LLM)的智能代理,专为通用软件工程任务而设计。该项目提供了强大的命令行界面,能够理解自然语言指令并执行复杂的软件工程工作流程。

GitHub 地址: https://github.com/bytedance/trae-agent

核心特性

🌊 Lakeview

  • 为代理步骤提供简洁明了的摘要功能
  • 帮助用户快速理解代理执行过程

🤖 多LLM支持

  • 支持 OpenAI 官方 API
  • 支持 Anthropic 官方 API
  • 灵活的模型选择机制

🛠️ 丰富的工具生态系统

  • 文件编辑功能
  • Bash 命令执行
  • 顺序思考(Sequential Thinking)
  • 更多扩展工具

🎯 交互模式

  • 对话式界面,支持迭代开发
  • 实时交互,提升开发体验

📊 轨迹记录

  • 详细记录所有代理操作
  • 支持调试和分析
  • 自动生成执行报告

⚙️ 灵活配置

  • 基于JSON的配置系统
  • 支持环境变量配置
  • 多层级配置优先级

🚀 简易安装

  • 基于pip的简单安装流程
  • 推荐使用UV进行项目设置

安装指南

推荐安装方式(使用UV)

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

环境变量配置

# OpenAI API Key
export OPENAI_API_KEY="your-openai-api-key"

# Anthropic API Key  
export ANTHROPIC_API_KEY="your-anthropic-api-key"

使用方法

基本任务执行

# 简单任务
trae-cli run "Create a hello world Python script"

# 指定提供商和模型
trae-cli run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514

# 指定工作目录
trae-cli run "Add unit tests for the utils module" --working-dir /path/to/project

# 保存轨迹文件用于调试
trae-cli run "Refactor the database module" --trajectory-file debug_session.json

# 强制生成补丁
trae-cli run "Update the API endpoints" --must-patch

交互模式

# 启动交互会话
trae-cli interactive

# 使用自定义配置
trae-cli interactive --provider openai --model gpt-4o --max-steps 30

交互模式命令

  • 输入任务描述执行任务
  • status - 查看代理信息
  • help - 显示可用命令
  • clear - 清屏
  • exitquit - 结束会话

配置管理

# 显示当前配置
trae-cli show-config

# 使用自定义配置文件
trae-cli show-config --config-file my_config.json

配置文件

Trae Agent 使用 JSON 配置文件 (trae_config.json) 进行设置:

{
  "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
    }
  }
}

配置优先级

  1. 命令行参数(最高优先级)
  2. 配置文件值
  3. 环境变量
  4. 默认值(最低优先级)

内置工具

str_replace_based_edit_tool - 文件操作工具

  • view - 显示文件内容或目录列表
  • create - 创建新文件
  • str_replace - 替换文件中的文本
  • insert - 在指定行插入文本

bash - Shell命令执行

  • 执行命令和脚本
  • 持久状态处理
  • 处理长时间运行的进程
  • 捕获输出和错误

sequential_thinking - 结构化问题解决

  • 分解复杂问题
  • 迭代思考与修正功能
  • 假设生成和验证

task_done - 任务完成信号

  • 标记任务成功完成
  • 提供最终结果和摘要

轨迹记录

Trae Agent 自动记录详细的执行轨迹用于调试和分析:

# 自动生成轨迹文件
trae-cli run "Debug the authentication module"
# 保存到:trajectory_20250612_220546.json

# 自定义轨迹文件
trae-cli run "Optimize the database queries" --trajectory-file optimization_debug.json

轨迹文件内容

  • LLM交互: 所有消息、响应和工具调用
  • 代理步骤: 状态转换和决策点
  • 工具使用: 调用的工具及其结果
  • 元数据: 时间戳、令牌使用量和执行指标

贡献指南

贡献流程

  1. Fork 仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 为新功能添加测试
  5. 提交更改 (git commit -m 'Add amazing feature')
  6. 推送到分支 (git push origin feature/amazing-feature)
  7. 提交 Pull Request

开发规范

  • 遵循 PEP 8 样式指南
  • 为新功能添加测试
  • 根据需要更新文档
  • 适当使用类型提示
  • 确保所有测试通过后再提交

系统要求

  • Python 3.12+
  • OpenAI API key(用于OpenAI模型)
  • Anthropic API key(用于Anthropic模型)

故障排除

导入错误

# 尝试设置PYTHONPATH
PYTHONPATH=. trae-cli run "your task"

API Key问题

# 验证API keys是否设置
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY

# 检查配置
trae show-config

权限错误

# 确保文件操作的适当权限
chmod +x /path/to/your/project

Star History Chart