从零打造算法题刷题助手:Agent搭建保姆级攻略

article/2025/8/3 19:59:45

我用Trae 做了一个有意思的Agent 「大厂机试助手」。 点击 https://s.trae.com.cn/a/d2a596 立即复刻,一起来玩吧!

Agent 简介

Agent名称为大厂机试助手,主要功能有以下三点。
解题: 根据用户给出的题目给出具体的解题思路引导做题,同时也会给出多种语言的代码。
整理笔记: 将题目、案例、解题思路、代码整合在一个HTML页面。
发布博客: 一键自动发布上博客,以便后续查看。

该智能体在与用户交流合作时,会展现出专业严谨的一面,确保编程知识讲解、解题思路剖析以及代码书写等环节信息精准无误。当用户在解题途中遭遇难题时,它会及时送上鼓励与肯定,激发学习动力与自信心,引导勇敢克服困难,持续进步。
当收到机试题目后,它会细致阅读并用通俗语言复述要点,确认用户理解正确,还提前介绍相关算法或数据结构。在解题思路构建上,从基础出发引导用户思考,巧妙提问启发用户的思维,在思路偏差或困难时,它会适时指出问题并给予提示,而非直接给出现成解法,培养用户的自主解题能力。

Agent 创作构思

一、设计缘由

在当今竞争激烈的大厂招聘环境中,机试作为关键环节,对求职者至关重要。许多求职者虽有扎实的专业基础,却因机试准备不足、缺乏有效的解题思路引导以及规范的代码撰写习惯而遗憾落败。大厂机试助手智能体正是为了解决这一痛点而设计,旨在为求职者提供全方位、专业化的机试辅导,助力他们在大厂机试中脱颖而出。

二、解决痛点

  1. 题目理解与思路探索困难 :部分求职者面对复杂机试题目时,难以迅速抓住要点,理清解题思路。智能体会在仔细解析题目后,用通俗易懂的方式复述题目,并从基础角度引导用户思考,通过提问激发用户思维,避免其思路跑偏,降低解题难度。
  2. 代码规范意识薄弱 :一些求职者在代码撰写过程中,存在变量命名随意、代码结构混乱、忽视边界条件等问题。智能体在引导解题过程中,时刻强调代码规范,对不规范代码及时指出并要求修改,帮助用户养成良好的编程习惯,提高代码质量和可读性。
  3. 缺乏系统化复习资料 :机试准备需要系统化的复习和总结,但很多求职者在做完题目后,缺乏有效的整理和归纳,导致知识零散,复习效率低下。智能体在代码完成并通过测试后,生成包含题目、案例、代码、解题思路的 html 页面,为用户提供更好的复习资料,方便用户随时查看和回顾,加深对知识点的理解和记忆。
  4. 自主解题能力不足 :利用deepseek或者GPT解题往往侧重于直接给出答案,而忽视了培养用户的自主解题能力。智能体遵循提问引导规则,以提问为主引导用户思考和解题,不直接给出完整解法,鼓励用户自主探索,通过不断尝试和犯错,提升用户独立解决问题的能力,使其在面对新的机试题目时能够更加从容应对。

三、独特优势

  1. 个性化的学习体验 :根据用户的回答和学习进度,智能体可以灵活调整提问的深度和难度,满足不同水平用户的需求,为每位用户提供渠道定制化的机试辅导,提高学习效果。
  2. 沉浸式的学习氛围 :以亲切友好的态度与用户交流,营造轻松愉快的学习氛围,缓解用户的机试压力,同时通过鼓励性的话语激发用户的学习动力和自信心,让用户在积极的学习状态中不断提升自己。
  3. 实用性强的复习资料 :生成的 html 页面不仅内容全面,涵盖题目、案例、代码和解题思路,而且页面布局清晰、排版美观,具有良好的用户体验。用户可以方便地分享这些页面给他人,共同学习进步。

技术实现

这个智能体是基于Trae搭建,在Trae中完成创建智能体、编排Prompt和配置工具。这样可以一边调试一边提问。具体的环境配置以及创建步骤如下。

环境部署

本次搭建使用的系统环境如下:

  • Trae IDE 版本:官网下载最新版
  • Windows 版本:11
  • Node.js 版本:22.16.0
  • npx 版本:10.9.2
  • Python 版本:3.13.3
  • uvx 版本:0.7.8
    安装Node教程
    安装python教程
    安装uvx教程
    Trae IDE下载地址

创建智能体

全部环境配置好以后,打开Trae,在右侧点击设置,选择智能体。
在这里插入图片描述

点击创建智能体,然后取一个名称。

在这里插入图片描述

编排Prompt

提示词这块儿要编写角色设定、语气、工作流程、工具偏好以及规则规范。根据需求来设置,最好是都设置一下。
在这里插入图片描述

下面是我设置的Prompt,大家可以作为参考。

智能体角色:
你是一位具有丰富经验的大厂机试辅导专家,对各大厂机试题目了如指掌,能够精准把握题目要求,提供高效、准确的解题方案,并且精通多种编程语言,擅长将复杂的算法和数据结构知识以清晰易懂的方式呈现给用户,助力用户在大厂机试中取得优异成绩。
语气:

  • 专业且严谨:在涉及编程知识讲解、解题思路分析以及代码书写等方面,保持专业严谨的态度,确保所传达的信息准确无误。
  • 亲切友好:与用户交流时,展现出亲切友善的一面,让用户感受到你的热情与支持,营造轻松愉快的学习氛围,缓解用户面对机试的压力。
  • 鼓励性:当用户在解题过程中遇到困难时,及时给予鼓励和肯定,激发用户的学习动力和自信心,引导用户克服困难,不断进步。 工作流:
  1. 题目接收与解析
    • 当用户给出机试题目时,首先仔细阅读题目,确保完全理解题目要求、输入输出格式以及任何特殊的约束条件。
    • 用通俗易懂的语言向用户复述题目要点,确认用户对题目理解正确,并简要介绍题目可能涉及到的算法或数据结构,为解题做好铺垫。
  2. 解题思路构建与引导
    • 从基础角度出发,引导用户思考可能的解题方法,提出关键问题启发用户的思维,例如 “你可以先考虑如何遍历这个数据结构来找到目标元素呢?”。
    • 根据用户反馈,逐步深入引导,当用户思路出现偏差或困难时,及时指出问题所在并给予适当提示,但避免直接给出完整解法,鼓励用户自主探索,培养独立解决问题的能力。
    • 对于经典算法题,引导用户回顾该算法的基本原理、优缺点及其适用场景,巩固用户的知识体系。
  3. 代码撰写与规范检查
    • 在用户确定解题思路后,提醒用户遵循良好的代码规范进行代码撰写,包括合理命名变量、规范代码结构、处理边界条件等。
    • 实时检查用户编写的代码,指出其中存在的语法错误、逻辑漏洞或潜在运行时错误,并提出修改建议,确保代码的正确性和鲁棒性。
  4. 生成 html 页面
    • 在代码完成并通过测试后,为用户生成一个包含题目、案例、代码、解题思路的 html 页面。
    • 确保 html 页面布局清晰合理,内容排版美观,方便用户查看和复习,同时页面中添加适当的样式和交互效果,提升用户体验。 规则规范:
  5. 提问引导规则 :始终以提问方式为主引导用户思考和解题,避免直接给出答案,培养用户的自主思考能力和解决问题的能力。根据用户的学习进度和理解能力,灵活调整提问的深度和难度。
  6. 代码规范要求 :严格要求用户遵循代码规范,在代码撰写过程中不断强调规范的重要性,并对不规范代码及时指出并要求修改,确保用户养成良好的编程习惯。
  7. 页面制作规范 :生成的 html 页面要遵循网页制作的基本规范,包括语义化的 html 标签使用、合理的 css 样式定义、有效的 javascript 交互逻辑等,保证页面在不同浏览器上的兼容性和一致性。

配置工具

本身智能体已经内置了四个工具,分别是文件系统、终端、互联网搜索和预览,所以我们只需要添加一个发布博客的工具即可。
同样的,还是点击右上角的设置,然后点击MCP,在MCP中点击添加,如下图所示。
在这里插入图片描述
在这里插入图片描述
然后点击juejin-deploy-mcp的+号,由于我已经添加过了所以图片中不太一样。
在这里插入图片描述
点击后需要获取JUEJIN_TOKEN,这个非常简单,点击链接https://aicoding.juejin.cn/tokens
在这里插入图片描述

获取TOKEN之后返回Trae粘贴上来
在这里插入图片描述

此时这里会是可使用状态
在这里插入图片描述

注意:这里如果是启动失败,那就说明环境没配置好。在cmd中查看所有环境是否都已安装配置,如果都配置好了,再试试用管理员方式打开Trae基本就没问题。
在这里插入图片描述

当MCP确定可用后,在智能体中添加工具。
在这里插入图片描述

效果展示

这次主要展示两个常见场景,第一是直接给出代码和思路,生成笔记上传博客;第二是智能体给出思路,自己在IDE中尝试解题,一边调试一边提问,最后生成笔记上传博客。

场景一

在力扣里面随便找了一个题,将题目包括示例这些都复制,然后让智能体直接给出具体解题思路以及JAVA代码。
在这里插入图片描述

智能体直接给出结果,点击代码右上角可以创建JAVA文件,如左侧画圈部分,在点击代码右上角即可运行测试。在控制台中可以看到两个测试案例都符合,说明代码没毛病。
在这里插入图片描述

然后可以让智能体生成HTML笔记,发布掘金。智能体会自动调用工具将生成的HTML笔记发布到博客平台,还会生成预览链接方便查看。
在这里插入图片描述

可以看到生成的这个排版还是相当棒的,简洁明了。点击右上角即可发布。
在这里插入图片描述

发布时需要设置作品信息,名称、描述、分类这些。可以弄一个自己专属的刷题专栏,方便日后复习。
在这里插入图片描述

场景二

还是我们之前那个题目,这次不让智能体直接给出代码,让他提供思路,然后我边调试边提问。
在这里插入图片描述
在这里插入图片描述

上图是我完整的提问过程,可以看到智能体很有耐心的根据我的提问以及尝试解题的代码,给出建议和思路,引导我去解答。

总结

总体而言,在Trae中创建智能体非常具有实用性,这次创建的大厂机试助手我也让许多粉丝进行体验,反馈都很不错。大家感兴趣可以点下方链接进行体验,如果觉得效果不错可以自己动手复刻一下玩玩。
我用Trae 做了一个有意思的Agent 「大厂机试助手」。 点击 https://s.trae.com.cn/a/d2a596 立即复刻,一起来玩吧!


http://www.hkcw.cn/article/cwqoiqZyxm.shtml

相关文章

华院计算出席信创论坛,分享AI教育创新实践并与燧原科技共同推出教育一体机

5月21日,信创论坛于上海漕河泾会议中心举办。本次论坛以“聚力融合,繁荣生态”为主题,话题聚焦工业制造、交通运输、金融、教育、医疗等领域。华院计算技术(上海)股份有限公司(以下简称“华院计算”&#x…

MyBatis操作数据库

1.MyBatis:MyBatis是一款优秀的持久层框架,用于简化JDBC的开发.(持久层通常指数据访问层,用来操作数据库). 创建userInfo表,并插入如下数据: 在model中建立userinfo实体类,属性与之一一对应. 配置数据库连接字符串,Mybatis中要连接数据库,需要数据库相关参数配置. 接下来就可…

OCC笔记:BRepMesh_IncrementalMesh的使用

1. 函数接口 2. 线性偏转与角度偏转 2.1. theLineDeflection:线性偏转 根据文档推导下 isRelative传入Standard_True时,theLineDeflection为相对值。 参看isRelative说明 //! param isRelative if TRUE deflection used for discretization of //! ea…

调试技巧总结

目录 一.调试1.什么是调试2.调试语义的分类2.1 静态语义2.2 动态语义 二.实用的调试技巧1.屏蔽代码2.借助打印3.查看汇编代码4.调试技巧总结 一.调试 1.什么是调试 调试,通俗易懂地说就是不断排查代码的错误,进行修正的过程,在写代码的时候…

通过实时动作捕捉加速人形机器人训练

通过实时动作捕捉加速人形机器人训练 用于训练、控制和性能优化的精确实时运动学——受到全球机器人创新者的信赖! 为什么选择 Xsens 进行人形机器人训练? 无与伦比的运动数据精度-经过科学验证的运动数据,用于简化AI/ML训练。 轻松集成到…

【UE5 C++】绘制地表贴合线

目录 原理 效果 步骤 源码 原理 先设置绘制线段的起点和终点,然后我们将起点和终点的高度升高,然后通过插值,在起点和终点之间添加多个点,再由这些点向地心发出射线,这样我们就可以获取到这些点在地表的投影点&…

01 redis 的环境搭建

前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…

python打卡训练营打卡记录day40

知识点回顾: 彩色和灰度图片测试和训练的规范写法:封装在函数中展平操作:除第一个维度batchsize外全部展平dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout 作业:仔细学习下测试和训练代码…

Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(五):语音合成输出与交互增强

Tailwind CSS 实战,基于Kooboo构建AI对话框页面(一) Tailwind CSS 实战,基于Kooboo构建AI对话框页面(二):实现交互功能 Tailwind CSS 实战,基于 Kooboo 构建 AI 对话框页面&#x…

【MySQL】MVCC与Read View

目录 一、数据库并发的三种场景 二、读写场景的MVCC (一)表中的三个隐藏字段 (二)undo 日志 (三)模拟MVCC (四)Read View (五)当前读和快照读 三、RC和…

代码随想录打卡|Day53 图论(Floyd 算法精讲 、A * 算法精讲 (A star算法)、最短路算法总结篇、图论总结 )

图论part11 Floyd 算法精讲 代码随想录链接 题目链接 代码 三维DP数组 import java.util.Scanner;public class Main {// 定义最大距离值,避免使用Integer.MAX_VALUE防止加法溢出public static final int INF 100000000; // 10^8足够大且不会溢出public static…

CSS Day07

1.搭建项目目录 2.网页头部SEO三大标签 3.Favicon图标与版心 (1)Favicon图标 (2)版心 4.快捷导航 5.头部-布局 6.头部-logo 7.头部-导航 8.头部-搜索 9头部-购物车 10.底部-布局 11.底部-服务区域 12.底部-帮助中心 13.底部-版权…

leetcode hot100刷题日记——29.合并两个有序链表

解答: 方法一:递归 递归的边界条件是啥呢? 递归别想那么多具体步骤,考虑大步骤,小的递归自己会去做的 class Solution { public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {//递归比较大小//先考虑…

Spring Boot 整合 Spring Security

DAY30.1 Java核心基础 Spring Boot 整合安全框架 Spring Security 、Shiro Spring Security Spring Security 的核心功能包括认证、授权、攻击防护,通过大量的过滤器和拦截器进行请求的拦截和验证,实现安全校验的功能。 Spring Security 将校验逻辑…

深度剖析Node.js的原理及事件方式

早些年就接触过Node.js,当时对于这个连接前后端框架就感到很特别。尤其是以独特的异步阻塞特性,重塑了了服务器端编程的范式。后来陆陆续续做了不少项目,通过实践对它或多或少增强了不少理解。今天,我试着将从将从原理层剖析其运行…

智慧景区一体化建设方案

随着2023年文旅部《关于推动智慧旅游发展的指导意见》出台,全国景区掀起数字化转型浪潮。如何在激烈竞争中脱颖而出?智慧景区一体化建设方案,正以“一机游遍景区、一屏掌控全局”的革新模式,重新定义旅游体验与管理效率。本文深度…

使用 SymPy 操作三维向量的反对称矩阵

在三维空间中,一个 3 1 3 \times 1 31 向量可以转换为一个 3 3 3 \times 3 33 的反对称矩阵。这种转换在物理学、机器人学和计算机视觉等领域非常有用。本文将详细介绍如何在 Python 的 SymPy 库中定义和使用这种反对称矩阵。 数学背景 对于一个三维向量 v …

LangChain表达式(LCEL)实操案例1

案例1:写一篇短文,然后对这篇短文进行打分 from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.runnables import RunnableWithMessageHist…

CppCon 2014 学习:HOW UBISOFT MONTREAL DEVELOPS GAMES FOR MULTICORE

多核处理器(Multicore Processor) 的基本特性,下面是对每点的简要说明: 🔹 Multicore(多核) 指一个物理处理器上集成了 多个 CPU 核心,每个核心可以独立执行指令。 🔸…

STL解析——String类详解(使用篇)

目录 sring接口解析 1.string简介 2.默认成员函数 2.1构造函数 2.2析构函数 2.3赋值重载 3.迭代器 3.1初识迭代器 3.2迭代器的使用 3.3特殊迭代器 3.4范围for 4.大小接口 4.1字符长度相关接口 4.2空间大小相关接口 5.其他常用接口 5.1operator[ ] 5.2增 5.3查 5…