使用Trae制作一个"我的ACM与蓝桥杯教练-智能体"

478 阅读11分钟

我用Trae 做了一个有意思的Agent 「我的ACM与蓝桥杯教练-智能体」。 点击 s.trae.com.cn/a/85a989 立即复刻,一起来玩吧!

参考

掘金社区地址

Trae下载地址

管理插件

Trae 从入门到实践:AI 编码的妙笔生花

本文内容

我承认 Trae比我强,我的工资可以用来买Trae的Pro啊,尽管也有免费的版本啊!!!!!! 1.完成Trae升级
2.完成基于Trae的智能体搭建,包括提示词,配置等
3.完成自带的和第三方MCP集成到智能体中
4.完成手写一个MCP服务,并集成到智能体中

升级Trae-

本文是基于5月27日更新后的版本,关于详细的Trae安装教程,我放在了后面(安装与配置Trae编辑器-3月24日安装),最为重要的一点就是如何导入插件,这点特别实用。 以下是更新后的截图

image.png

Trae更新的频率

250527:Trae v0.6.0 版本发布

250513:Trae v0.5.8 版本发布

250425:Trae v0.5.3 版本发布

250425:Trae v0.5.3 版本发布:

支持智能体自定义头像。 支持配置插件市场源。 优化了部分功能体验。

250422:Trae v0.5.1 版本发布: 优化了稳定性问题。

250421:Trae v0.5.0 版本发布:

统一对话体验:Chat 与 Builder 面板合并,支持通过 @Builder 进入 Builder Agent 模式。 上下文能力增强:新增支持 #Web 和 #Doc 两种 Context。

250416:Trae v0.3.11 版本发布:

  1. 提升 C 语言的编程体验
  2. 支持DeepSeek V3-0324(该版本对于AI编程的提升很大,大家可以对比下该版本和其他LLM AI辅助编程的优势。

250306:Trae v0.1.2 版本发布

使用Trae制作一个"我的ACM与蓝桥杯教练-智能体"

项目介绍

🧠 Agent 创作构思

本智能体专为编程竞赛与算法学习者打造,旨在解决算法理解难、题解资源分散、数据结构抽象难懂等问题。通过 智能体 构建一个具备题目解析、算法模板推荐、动态演示引导等功能的 AI 助手,帮助用户快速掌握竞赛核心知识点。

⚙️ 技术实现原理

本智能体主要包含 知识库 + 插件 + Prompt 编排 能力:

  • 知识库:存储常见算法模板、题型分类、数据结构说明等内容;
  • 插件:接入外部图示化工具或自定义 API(如算法动画生成),考虑基于manim或py-algo-visualizer或Algorithm Visualizer,这个在研究是否可以直接调用;
  • Prompt 编排:根据用户输入自动识别题型,结合上下文返回框架解析 + 示例代码 + 学习建议。

💬 Prompt 示例

“请解读 LeetCode 第 53 题的最大子数组和问题,并提供 Python 解法。”
→ Agent 返回:题型分类(DP)、核心思路、Python 模板、相关练习推荐。

🎯 效果展示

用户输入题目编号或描述后,Agent 可即时返回:

  • 题目类型与难度分析;
  • 标准算法框架与参考代码;
  • 推荐相关题目与学习路径;
  • 如需演示,可跳转到集成的动画页面(通过插件打开)。

Agent智能通制作过程

在Trae中创建智能体

首先在Trae中,打开智能体 image.png

确定智能体配置

智能体的配置包括名称,提示词和工具等。

名称为:

我的ACM与蓝桥杯教练-智能体

提示词的作用

用于配置该智能体的角色设定、语气风格、工作流程、偏好与规范等内容

具体提示词与MCP配置:

提示词如下:

你是一位专业的算法学习助手和竞赛辅导专家,专注于为编程爱好者、ACM/ICPC、LeetCode、Codeforces 等平台的选手提供:

  • 题目解析与解法框架
  • 算法原理讲解
  • 数据结构图解与演示
  • 编程技巧与优化建议
  • 学习路径推荐与错题管理建议 你的目标是通过清晰、结构化、互动式的方式,帮助用户理解复杂概念并掌握解决问题的方法。

【语气风格】

  • 专业但不失亲切感:使用技术术语时要准确,但解释要通俗易懂。
  • 鼓励式教学:在用户卡顿时给予提示而非直接答案,引导其思考。
  • 逻辑清晰、条理分明:每个回答都应有明确的结构(如问题分析 → 思路讲解 → 示例代码 → 延伸练习)。
  • 多语言支持:默认使用中文交流,可根据需要输出 Python / C++ / Java 等主流语言的代码示例。

【工作流程】

  1. 接收用户输入:识别题目编号、关键词或算法类型。

  2. 判断请求类型:

  • 若为题目类请求,则调用知识库查找对应信息;

  • 若为算法讲解类请求,则组织内容并结合示例说明;

  • 若需动态演示,则引导用户前往可视化页面或插入动画链接。

  1. 生成结构化回复:

  • 包含题目标签、难度等级、核心思路、参考代码;

  • 可选附上相关题目推荐、优化建议等。

  1. 交互反馈机制:

  • 对用户提问进行追问澄清;
  • 提供进一步学习资源或扩展阅读建议。

【工作偏好】

  • 偏好使用“分步讲解 + 示例代码 + 图文示意”的方式讲解知识点。
  • 倾向于使用“伪代码 + 实现细节”的方式拆解复杂算法。
  • 在遇到模糊问题时,优先询问用户意图,而非猜测。
  • 支持根据用户的水平(初学者 / 进阶者)调整讲解深度。

【规则与规范】

  1. 尊重版权:不直接复制 LeetCode、Codeforces 等平台的题目描述原文,仅引用关键信息或提供跳转链接。
  2. 代码安全:确保提供的代码无语法错误,并尽量标注时间复杂度与空间复杂度。
  3. 避免误导:对不确定的内容应如实说明“当前知识可能存在局限”或“建议查阅官方文档”。
  4. 暴力破解+高效算法对比导向:强调高效算法思维,鼓励优化与剪枝策略,并提供暴力破解的算法吐过对比。
  5. 隐私保护:不记录用户敏感信息,仅提供通用性指导。

配置MCP 需要保存每次的问题,链接以及回复,采用Excel的MCP工具,

image.png

配置完成创建智能体

可以看到名称与提示词与MCP工具已经配置完毕

image.png

按照提升立即使用即可,如下

image.png

关于智能体的如何配置,可以单击右上角的"如何配置智能体",链接如下 docs.trae.com.cn/ide/agent

Agent使用过程

使用@关键字调用智能体

切换到Trae对话模式,输入@,然后选择创建的我的ACM与蓝桥杯教练-智能体 image.png

问题1-二分查找问题的边界该如何确定

提问

二分查找问题的边界该如何确定

回答

image.png

问题2 请解读 LeetCode 第 53 题的最大子数组和问题,并提供c++和 Python 解法

提问

请解读 LeetCode 第 53 题的最大子数组和问题,并提供c++和 Python 解法

回答

image.png

问题3 请把上面的题单链接 问题 和 答案保存到本地excel文件或word文件中

提问

请把上面的题单链接 问题 和 答案保存到本地excel文件或word文件中

回答以及动作

image.png

可以看到多次调用了MCP并多次尝试解决问题,这种不屈不挠的精神,是很棒的,哈哈 另外,出现问题可能是MCP或是本地权限的问题,这个就不是我们能轻易解决的了。

分享Agent

智能体制作完成后,单击⚙,然后分享即可

image.png

我用Trae 做了一个有意思的Agent 「我的ACM与蓝桥杯教练-智能体」。 点击 s.trae.com.cn/a/85a989 立即复刻,一起来玩吧!

Trae调用本地的MCP

使用过MCP后,想着是否可以自定义的MCP服务,然后使用Trae进行调用,如下是实现方法。

首先在本地安装MCP库

pip install mcp mcp[cli]

然后在python3.12的环境下编写如下代码,是的mcp可以完成获取当前电脑家目录下的文件命令

import os
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("FileSystem")  # 服务名称

@mcp.tool()
def get_desktop_files() -> list:
    """获取当前用户的桌面文件列表(支持Windows/macOS/Linux)"""
    return os.listdir(os.path.expanduser("~/Desktop"))

if __name__ == "__main__":
    mcp.run(transport='stdio')  # 使用标准输入输出通信 IDE/本地集成
    # 使用socket通信 远程调用
    # mcp.run(transport='socket', host='0.0.0.0', port=8081)  
    

需要注意下,函数中注释的写法,大模型是根据注释判断该调用哪个mcp的。"""获取当前用户的桌面文件列表(支持Windows/macOS/Linux)"""

在Trae中添加本地编写的MCP服务

{
  "mcpServers": {
    "file_list": {
      "command": "d:/ProgramData/Anaconda3/envs/py312/python.exe d:/pypro/pythonmcp/a.py"
    }
  }
}

image.png

配置后本地MCP的截图如下

image.png

再次问trae

获取当前用户的桌面文件列表(支持Windows/macOS/Linux)

输出如下

image.png

现在就可以通过写MCP,延伸下Trae智能体的功能,这是一个好的起点,可以深入挖掘下,待续~~~

安装与配置Trae编辑器-3月24日安装

在这里插入图片描述

下载安装

下载地址 Trae下载地址

下载编辑器,然后单击安装下一步

在这里插入图片描述

配置Trae

安装完成后

出现如下页面 在这里插入图片描述 单击开始 在这里插入图片描述选择语言和主题。单击继续 在这里插入图片描述是否需要从VSCode中导入,我这里没有导入,建议导入。我这里单击跳过 在这里插入图片描述 安装trae命令,安装完成,进入登录页面 在这里插入图片描述 单击登录,弹出浏览器页面,进入登陆页面,这里点击稀土掘金登录,使用掘金账号 在这里插入图片描述授权使用掘金社区账号 在这里插入图片描述 单击同意 在这里插入图片描述 单击授权并登录 在这里插入图片描述 单击登录并打开Trae即可完成登录操作 在这里插入图片描述

如果没有登录的,也可以在Trae编辑器的右上角位置单击登录 在这里插入图片描述

安装插件

作为一个基于vscode开发的AI IDE,插件是必备的,具体可以参考如下: 管理插件

Trae 从入门到实践:AI 编码的妙笔生花

手动安装

首先打开插件市场,输入插件名称,然后安装即可 在这里插入图片描述

一键导入VSCode插件 超级实用

一键从vscode中导入配置 在这里插入图片描述 然后出现导入的过程,这个超级实用 在这里插入图片描述 等待片刻 在这里插入图片描述

使用Trae进行编码

开发一个贝叶斯算法的案例

输入如下问题

写一个基于sklearn的贝叶斯算法的案例,适合计算机专业大三同学学习的,要求包括导入依赖,数据集加载,拆分数据集,数据集探索,数据集处理,实例化三种贝叶斯算法,并分别基于三种贝叶斯算法完成模型训练,模型验证,模型评估,模型预测,模型保存,模型加载。 在这里插入图片描述

输出如下:

在这里插入图片描述 单击创建一个新文件,代码如下

# 导入依赖
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB, MultinomialNB, BernoulliNB
from sklearn.metrics import accuracy_score, classification_report
import joblib

# 数据集加载
iris = datasets.load_iris()
X = iris.data  # 特征数据
y = iris.target  # 标签数据

# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 数据集探索
print("数据集基本信息:")
print("特征数量:", X.shape[1])
print("样本数量:", X.shape[0])
print("类别数量:", len(np.unique(y)))

# 数据集处理
# 由于鸢尾花数据集是数值型数据,且无缺失值,这里无需额外处理

# 实例化三种贝叶斯算法
gnb = GaussianNB()
mnb = MultinomialNB()
bnb = BernoulliNB()

# 定义一个函数来完成模型训练、验证、评估、预测、保存和加载
def train_and_evaluate(model, model_name):
    # 模型训练
    model.fit(X_train, y_train)

    # 模型验证
    y_pred = model.predict(X_test)

    # 模型评估
    accuracy = accuracy_score(y_test, y_pred)
    print(f"{model_name} 准确率: {accuracy:.2f}")
    print(f"{model_name} 分类报告:")
    print(classification_report(y_test, y_pred))

    # 模型预测
    sample = X_test[:5]
    predictions = model.predict(sample)
    print(f"{model_name} 对前5个样本的预测结果: {predictions}")

    # 模型保存
    joblib.dump(model, f'{model_name}_model.pkl')

    # 模型加载
    loaded_model = joblib.load(f'{model_name}_model.pkl')
    new_predictions = loaded_model.predict(sample)
    print(f"{model_name} 加载模型后对前5个样本的预测结果: {new_predictions}")

# 分别基于三种贝叶斯算法完成上述操作
train_and_evaluate(gnb, "高斯朴素贝叶斯")
train_and_evaluate(mnb, "多项式朴素贝叶斯")
train_and_evaluate(bnb, "伯努利朴素贝叶斯")

然后单击三角形,输出如下 在这里插入图片描述 选中这些警告代码,添加到对话中 在这里插入图片描述 输入 在这里插入图片描述 给出了对应解决方案 在这里插入图片描述 单击应用,或手动复制代码到文件,再次运行,输出如下,完美解决问题 在这里插入图片描述

trae命令

使用 trae 命令快速唤起 Trae。

Trae

使用 trae my-react-app 命令在 Trae 中打开一个项目。

trae my-react-app