说说【AI大模型接入SDK】Trae生成代码介绍

刷到一个挺有意思的话题,结合自己之前的经验,整理了一下核心要点。

🎬 个人主页:艾莉丝努力练剑

❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学过程记录》
《Linux操作系统编程详解》《笔试/面试常用算法:从基础到进阶》《Python干货分享》

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬 艾莉丝的简介:

文章目录

2 ~> Trae IDE 基础功能与 AI 对话面板 2.3 Trae 全局模式分类 3 ~> 智能体 (Agent) 核心概念 3.2 Trae IDE 内置智能体 3.3 自定义智能体 4 ~> 本工程工作流程总结结尾

1 ~> ChatServer 项目背景与 main 方法开发需求

1.1 项目现状

  • 服务器业务代码已全部开发做好,程序无法运行,缺失入口main函数,该函数负责做好服务配置加载,实例化服务对象并启动 HTTP 服务。
  • ChatServer构造函数接收ServerConfig配置对象,该对象保存各个大模型 API 密钥、超参数、Ollama 本地模型连接信息。

1.2 ChatServer 构造函数核心代码(修正原始代码语法错误)

#include"ChatServer.h"
#include
#include
#include
#include
#include
#include

namespace ai_chat_server
{
	ChatServer::ChatServer (const ServerConfig& config)
	{
	    // deepseek模型配置
	    auto deepseekConfig= std::make_shared();
	    deepseekConfig->_modelName="deepseek-chat";
	    deepseekConfig->_apikey= config.deepseekAPIKey;
	    deepseekConfig->_temperature= config.temperature;
	    deepseekConfig->_maxTokens=config.maxTokens;

	    // gpt‑4o‑mini模型配置
	    auto chatGPTConfig= std::make_shared();
	    chatGPTConfig->_modelName="gpt-4o-mini";
	    chatGPTConfig->_apikey= config.chatGPTAPIKey;
	    chatGPTConfig->_temperature= config.temperature;
	    chatGPTConfig->_maxTokens=config.maxTokens;

	    // gemini‑2.0‑flash模型配置
	    auto geminiConfig = std::make_shared();
	    geminiConfig->_modelName="gemini-2.0-flash";
	    geminiConfig->_apikey= config.geminiAPIKey;
	    geminiConfig->_temperature=config.temperature;
	    geminiConfig->_maxTokens=config.maxTokens;

	    // Ollama本地deepseek‑r1:1.5b模型配置
	    auto ollamaConfig= std::make_shared();
	    ollamaConfig->_modelName=config.ollamaModelName;
	    ollamaConfig->_modelDesc= config.ollamaModelDesc;
	    ollamaConfig->_endpoint= config.ollamaEndpoint;
	    ollamaConfig->_temperature=config.temperature;
	    ollamaConfig->_maxTokens=config.maxTokens;

	    // 组装全部模型配置集合
	    std::vector modelConfigs={
	        deepseekConfig,
	        chatGPTConfig,
	        geminiConfig,
	        ollamaConfig
	    };

	    // SDK初始化全部模型,初始化失败打印错误日志
	    if(!_chatSK->initModels(modelConfigs))
	    {
	        ERR("ChatSK init Failed!!!");
	    }
	}
}

  • 代码修正项:修复原始代码中拼写错误:nake_shared→make_shared、各类变量名、头文件拼写、数组初始化语法错误。
  • 业务逻辑说明:构造函数内部做好 4 套模型配置对象实例化,存入 vector 容器,调用 SDK 接口批量初始化模型。初始化失败输出错误日志。
  • 后续任务:实现 main 函数,加载配置、构造ChatServer实例,启动 HTTP 服务,提供网页访问接口。

2 ~> Trae IDE 基础功能与 AI 对话面板

2.1 Trae IDE 基础简介

  • Trae IDE 基于 VSCode 内核深度改造,深度集成 AI 能力,具备智能问答、代码补全、Agent 自动编程能力。
  • 官方资源
官网:https://www.trae.ai/
  • 使用手册:https://docs.trae.ai/ide/what-is-trae?_lang=zh
  • 下载地址:https://www.trae.ai/download
远程开发能力:支持 Remote SSH,直接连接远程 Linux 主机开发;输入格式ssh 用户名@IP地址 -A远程开发必备插件(插件安装至远程主机)
  • clangd:C/C++ 开发插件,能力包含语法高亮、代码补全、静态语法检查、符号跳转、悬停查看函数文档。
  • CMake Tools:CMake 项目构建、编译、调试支持。

2.2 AI 对话面板核心控件

2.2.1 Auto Mode 自动模型模式

  • 开启 Auto Mode:Trae 根据任务复杂度、模型负载自动选择最优可用模型,界面不展示模型下拉列表。
  • 关闭 Auto Mode:手动从内置模型列表选择推理模型。
  • 内置模型列表:Doubao‑Seed‑1.6、Kimi‑K2‑0905、Qwen‑3‑Coder、GLM‑4.6、GLM‑4.5、DeepSeek‑V3.1‑Terminus。
  • 模型悬停提示:光标悬浮模型名称,展示模型能力标签,区分推理模型。

2.2.2 输入框快捷符号

@:指定智能体,支持选择内置智能体,也支持自定义创建智能体。
#:引用外部文件作为对话上下文,适合长提示词、引用项目源码文件,把项目代码交给 AI 读取。

2.3 Trae 全局模式分类

  • Max 模式
  • Auto 模式
  • 隐私模式

3 ~> 智能体 (Agent) 核心概念

3.1 大语言模型与智能体对比

3.1.1 大语言模型

  • 代表模型:deepseek‑chat、gpt‑4o‑mini、gemini‑2.0‑flash
  • 本质:文本生成模型,擅长知识问答、文本搞懂,类比知识渊博的博士生。
  • 局限:仅输出文本,无法主动调用外部工具 API,不能执行真实业务动作。
  • 示例场景:让大模型订机票,只能输出操作步骤,无法调用订票 API 完成实际下单。

3.1.2 智能体 Agent

  • 定义:以大语言模型作为大脑的编程助手;接收复杂任务,自动拆解为多个可执行子步骤,调用各类外部工具、API 完成真实业务,达成最终目标。类比 “有手有脚也能干活的实干家”。
  • 核心能力
任务拆解:复杂需求拆分为多个串行、并行子任务。
  • 工具调用:调用文件读写、命令执行、网络请求等工具。
  • 上下文维护:维护完整任务上下文,多步骤之间状态传递。
  • 迭代执行:根据工具返回结果,调整后续执行策略。

3.2 Trae IDE 内置智能体

3.2.1 Chat

  • 适用场景:代码库对话、普通问答、简单代码片段生成。
  • 定位:轻量对话智能体,不执行复杂多步骤项目构建。

3.2.2 Builder

  • 适用场景:从零到一完整项目开发。
  • 能力:自动调用多套工具:代码解析、文件编辑、命令行执行、编译构建;多轮交互完成项目落地。本项目使用 Builder 智能体生成 main 入口代码。

3.2.3 Builder with MCP

  • 继承 Builder 全部能力;自动加载全部配置好的 MCP Server,MCP 相关东西查阅文档附录。

3.3 自定义智能体

  • Trae 支持用户自行创建自定义智能体,配置专属工具集与系统提示词。

4 ~> 本项目工作流程总结

1. 已有 ChatServer 业务类,缺失 main 入口函数。
2. 使用 Trae IDE,打开 AI 侧边栏,选择Builder智能体。
3. 可关闭 Auto 模式手动挑选推理模型,或保持 Auto 模式自动分配模型。
4. 使用#引用项目源码文件作为上下文,向 Builder 下达指令生成 main 函数代码。
5. 将生成 main 函数整合进项目,编译运行 ChatServer 服务,对外提供 HTTP 接口,完成多模型对话服务。


结尾

uu们,这篇文章的东西到这里就全部结束了,艾莉丝在这里再次

艾莉丝努力练剑

C/C++ & Linux 底层探索者 | 一个正在努力练剑的技术博主


👀 【关注】 跟随我一起深耕技术领域,见证每一次成长。

❤️
【点赞】 让优质东西被更多人看见,让知识传递更有力量。

⭐
【收藏】 把核心知识点存好,在需要时随时查、随时用。

💬
【评论】 分享各位的经验或疑问,评论区一起交流避坑!

不要忘记给博主“一键四连”哦!

“今日练剑达成!”

“技术之路难免有困惑,但同行的人会让前进更有方向。”

结语:希望对学Linux相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

往期回顾:

【AI大模型接入SDK】ChatServer 路由规则绑定

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡
>
૮₍ ˶ ˊ ᴥ ˋ˶₎ა

这篇笔记就先到这里,后面用到新的思路或者发现有问题再补充。

评论 (0)

暂无评论