当前位置: 首页 > article >正文

**一周快速上手:传统研发平台接入Agent开发能力的完整指南(含收藏)**

一周快速上手传统研发平台接入Agent开发能力的完整指南含收藏本文详细介绍了如何在一周内为传统研发平台接入Agent开发能力采用Next.jsReact和LangGraph构建Agent状态图通过系统提示词优化、RAG知识库建设线上脚本、系统字段、代码理解、工具接入以及上下文管理连续对话和会话压缩等技术实现了帮助开发者编写TQL脚本的智能体小D。文章强调了提示词优化、知识管理和上下文压缩等关键技术对提升Agent性能的重要性并提供了实用的代码示例和优化技巧适合想自建Agent的小白或程序员参考学习。最近花了一周左右的时间给内部的一个传统研发平台接入了 Agent 开发的能力很多同学对 Agent 的底层实现非常感兴趣所以此篇给大家介绍下我是怎么做的希望能对想自建 Agent 的同学有所启发。因人力原因有些细节方案问题没太做深度评测而是直接选择业界实践较多的成熟方案。主要参考思路和上下文管理的过程。文中用到了一些内部平台的基础能力比如 rag、代码管理、deepwiki等外部开发者如需使用需要自行寻找替代品。背景简介奥德赛研发平台是 ICBU 买家技术的 TQL淘宝基于开源 GraphQL 的定制版本 研发平台大量开发者会在上面通过编写 TQL 脚本来实现 BFF 接口。近一年 AI Coding 工具层出不穷在深度使用了 cursor、claude code 等顶尖产品后大量解放了自己在前端的生产力所以就在想让团队的后端兄弟还有姐妹们也吃好点告别纯手搓代码这不BFF 的 Agent 模式小 D 同学来了技术选型原来的平台长这样开发者在上面可以完成编码、调试、发布等工作要在现有的平台内集成一个 Agent 且能感知前台页面的环境甚至对页面进行操作一般有三种方式默认都采用 AI 辅助 Coding如果只是一般的对话 Agent直接用一些开放的应用平台搭建就完事了不必自己写。综合考量了三种方案后我们决定优先保证用户体验开发效率选择了第三种。宿主页面 Iframe 嵌入 Agent整体的数据流转概要宿主页面暴露 脚本内容、请求参数、调试结果 等上下文信息以及脚本执行、脚本 Diff 预览等操作页面的工具接口给 Agent。Agent 感知宿主页面上下文环境然后请求服务并推送内容编辑、脚本执行等工具执行 action 给宿主页面。流程概要图如下应用框架选择应用框架选择上不做过多对比直接给出我的选择不一定最好但是一定很契合我当前的场景。集团 Faas 基建简介FaaSFunction as a Service函数即服务平台是一个面向研发人员的全托管、事件驱动、弹性伸缩的 Serverless 计算基础设施其核心目标是让开发者只关注业务逻辑代码本身无需操心服务器运维、资源扩缩容、中间件对接等底层细节。划重点Faas 可以让你只关注代码免运维。这正是当前这种轻量 Agent 需要的。Next.js React前后端应用框架我选择了Next.js React为什么集团有前后端一体化的框架可以直接用。前后端共用一套开发语言Nodejs、JavaScript并集成在一个应用中AI Coding 非常友好谁用谁知道。可以真正做到只关注功能AI 帮你做实现。LangGraphLangChain [1]团队在 WorkFlow/Agent 领域摸爬滚打了几年高度抽象了 Agent 的开发模式。LangGraph 其巧妙设计让你可轻松构建一个状态图你可以只关注 系统提示词、工具节点通常是 mcp就可轻松实现一个会自主决策的 Agent。手残党友好。方案落地应用框架初始化如上文所述结合当前场景把 LangGraph 抽象出来的状态图展开替换成自己的工具就得到这样一个图和伪代码此处了解个大概就可以了稍后会详解工具BFF Agent 状态图伪代码import { StateGraph, END, START } from langchain/langgraph; // 创建状态图 const agentGraph new StateGraph({ channels: { messages: { reducer: (prev, next) [...prev, ...next], default: () [], }, }, }); // 添加节点 agentGraph.addNode(agent, async (state) { const response await model.invoke(state.messages); return { messages: [response] }; }); agentGraph.addNode(tools, async (state) { const lastMsg state.messages[state.messages.length - 1] as AIMessage; const toolMessages []; for (const toolCall of lastMsg.tool_calls || []) { const result await tools .find((t) t.name toolCall.name) .invoke(toolCall.args); toolMessages.push( new ToolMessage({ content: result, tool_call_id: toolCall.id }), ); } return { messages: toolMessages }; }); // 设置边 agentGraph.addEdge(START, agent); agentGraph.addEdge(tools, agent); // 条件边根据是否有 tool_calls 决定路由 agentGraph.addConditionalEdges( agent, (state) { const lastMsg state.messages[state.messages.length - 1] as AIMessage; return lastMsg.tool_calls?.length 0 ? tools : END; }, { tools: tools, [END]: END }, ); // 编译图 const graph agentGraph.compile();参考 LangGraph 的官方文档的介绍用 Cursor 可以轻松实现上述一个基础的有向、有环状态图至此BFF Agent 服务的基础骨架就好了。模型选择上由于需要生码我还是直接使用了 Claude Claude-4.5-haiku的模型。那么接下来的重点就是从能用到好用后续的内容非常关键。也就是上下文工程的优化接下来的优化是不分顺序的因为上下文工程是一个综合命题比如你往往需要在系统提示词优化完成后发现某些工具调用不符合预期又回过头来优化系统提示词。不同类型的上下文往往是交叉影响的要根据具体场景做甄别。系统提示词优化Anthropic 官方推荐了提示词优化[2]的诸多技巧非常有效下面介绍我高频用到的几个基础技巧更多技巧真的强烈建议直接学习原文。角色设定角色设定可以显著提高模型的性能参考Qwen 的 MOE 机制并改进模型的注意力发现更多的关键问题。使用 XMLAnthropic 官方推荐使用 XML 构建提示词[3]有诸多好处实测非常有效。遇到模型不遵循指令或上下文过长出现遗忘/幻觉时试试更换提示词格式为 XML。使用示例也就是 few-shot 给少量准确的示例尤其对输出内容改善上有重大帮助。还有一篇 research [4]有介绍尽量直接给模型正例而不是反例保护模型的注意力。比如我告诉你不要去想一会要吃什么你反而会刻意去想如何不要去想这件事情就浪费了你的注意力上述三个技巧是非常简单且行之有效的方法全程指导了我去优化提示词来看具体怎么用的 角色设定 使用 XML淘宝的 TQL 本质上是一种 GraphQL 的方言ICBU 还又在 TQL 的基础上做了定制大模型是不可能会写的模型不了解私域知识这个问题在自建 Agent 的时候往往是一个共性问题所以才需要大量的提示词 工具 知识库。强如 Claude 公司自己的 Qwen 都不知道 TQL 的含义。好在模型不用从 0 开始它会写 GraphQL那么只需要阐述清楚二者的区别。不只是提示词后续的知识库也是尽力在给模型解释私域知识。小 D 的提示词摘要role你是小 D 同学一个专业的 TQL 脚本编写助手TQL 是淘宝基于 GraphQL 扩展的查询语言你只会写 TQL 语法不会任何其它脚本。你的任务是帮助用户基于企业知识和用户输入编写高质量的 TQL 脚本。/role instructions instruction你非常欠缺 TQL 知识但好在系统内置了很多工具你可以充分使用这些工具来辅助你完成任务。/instruction instruction系统在开源 GraphQL 的基础上扩展了很多自定义的指令如果你遇到不确定或无法实现的需求可充分用工具查询相关知识/instruction instruction回答要专业、友好、有条理。使用 Markdown 格式输出。/instruction instruction在编写 TQL 脚本时要确保语法正确、查询结构清晰、字段选择合理。/instruction /instructions角色设定上让模型更多关注 GraphQL 方向的知识并且申明 TQL 和 GraphQL 是有区别的让模型谨慎操作。instructions命令上第一条命令比较有意思在没有这条命令之前模型会过于自信即便已经是最严谨状态 temperature0拿到用户需求后直接开始上手写 GraphQL 出现了与 TQL 非常不相符的代码。用第一条指令弱化了模型的信心模型才开始谨慎地调用知识库了解更多上下文信息。TQL 在 GraphQL 的扩展内容部分为了防止提示词内容爆炸我做了一轮精简只保留基础介绍部分索引知识放在提示词中并引导模型在使用到具体能力的时候动态通过工具查询具体知识从而保护了模型的注意力。自定义指令directives 非常重要系统有大量的扩展指令具体用法需要通过工具查询相关知识 在使用这些指令时一定要先学习指令的用法不要盲目使用。 指令一般紧挨着字段或函数 fieldA 指令名 或 funcA(xx) 指令名 这样使用。 以下是常用指令格式: 指令名:描述|参数: ![CDATA[{ 转换类:{unwrap:解包/对象拍平/对象解构,toBool:转布尔|not,encode:编码|protocolhttp,wrap:包装,toInt:转整数|offset,toUpperCase:转大写,decode:解码|protocolhttp,autoflat:自动扁平化}, 字符串操作:{suffix:添加后缀|value,prefix:添加前缀|value}, 条件过滤:{hide:隐藏字段,filterBy:表达式过滤|spel,aviator,include:条件包含|if!,skip:条件跳过|if!,default:默认值|value}, 列表操作:{index:取元素|offset,ascBy:升序|path}, 逻辑脚本:{mapping:映射|func,const:常量|value,beforeExecutefalse}, 高级扩展:{medusa:Medusa服务|url,language,diamond:Diamond服务|url} }]] /directives全局函数TQLFunctions name系统内置的全局函数 description以下是 TQL 脚本中可直接使用的内置函数详细用法请通过知识库查询。/description ![CDATA[ 【字符串处理】 - QL_concat: 拼接三个字符串a, b, c参数 - QL_string_replace: 字符串替换replaceText, searchString, replaceString - QL_stringToList: 字符串按分隔符转列表data, delimiter - QL_stringToJSON: 字符串转JSON对象 - QL_jsonStringify: JSON对象转字符串 - QL_joinStringByPath: 通过JSON Path提取属性并拼接object, path, delimiter - QL_urlDecode: URL解码 - QL_addHttpsSchema: 自动添加或转换为https协议头 - QL_addUrlParam: 给URL添加参数url, param 【数值计算】 - QL_sumLong: 两数相加addition1, addition2 - QL_subtraction: 两数相减minuend, subtrahend - QL_divideInt: 整数除法向下取整dividend, divisor - QL_random_int: 生成指定范围随机整数min, max 【条件判断】 - QL_if: 三元条件判断condition, output, orElse - QL_conditional: 复杂条件表达式支持#env.get()获取变量exp, params - QL_defaultIfBlank: 空值时返回默认值str, defaultValue - QL_timestampComparator: 判断当前时间是否在指定时间戳范围内 【AB测试】 - QL_abTest: AB实验分流返回命中的实验桶标识experiment - QL_batchAbTest: 批量执行多个AB实验 【数据处理】 - IDs_fromString: 从字符串解析ID对象支持商品/类目/供应商/公司/国家ids【重要】 - QL_mergeList: 合并两个列表aim主列表, tail尾部项 - QL_subList: 截取列表子集base, from, to 【国际化】 - QL_medusa: 美杜莎翻译获取国际化文案key【所有文案必须使用】 - QL_countryFlag: 获取国家国旗链接country 【数据脱敏】 - QL_desensitization: 数字脱敏末位补0value 【输出与重命名】 - TQL_output: 输出固定对象包括布尔值、数字、数组、对象object - 字段重命名: 使用GraphQL别名 或 hide指令隐藏原字段 ]] /TQLFunctions使用示例至于示例部分虽然上面讲到了要给模型一些正例但我非常不建议一上来就瞎给模型一堆示例先让模型发挥在后续调试过程中对模型容易出错的部分直接给出正确引导。比如我一开始遇到模型总是将请求参数硬编码在脚本中没有抽离成查询参数我就给了这样的示例rule title参数分离原则/title content 建议将 GraphQL 请求的参数单独放在 variables 中但要以实际需求为主。如果用户明确要求将参数写死在脚本中或者参数是固定的常量值可以直接写在脚本中。 当需要参数分离时 - 脚本中使用变量定义$variableName - 参数值通过 editVariables 工具设置到 variables 中 - 使用 editScript 和 editVariables 两个工具分别更新脚本和变量 示例参数分离 脚本query($userId: String!) { user(id: $userId) { name } } 参数variables{userId: 12345} 这样做的好处脚本可复用参数和逻辑分离便于维护和调试。 /content /rule类似的例子很多不再展开讲还是那句话建议全文背诵 Anthropic 官方的优化教程[2]有的技巧可能初识的时候不以为然也不要紧但是当你遇到真正问题的时候就能快速联想到让你少走弯路。知识库建设紧接上文系统提示词给了部分私域知识片段后TQL 的详细用法全局指令、函数、服务端内部可用的查询接口字段、线上运行中的成熟脚本等等海量的知识不可能一次性交给模型Rag 目前最成熟的知识管理方式。小 D 的知识库主要分为下面三大类线上热门脚本通过对线上脚本调用量监控的采集提取出了 top 100 的脚本。然后分别用 qwen 的小大模型对脚本做一个初步的理解wiki生成一份格式化的文档帮助模型快速理解脚本含义简单示例Rag 的分片策略很大程度上直接影响了召回的质量。所以我预先对脚本做了切分每个脚本独立一个文档再直接导入到 kbase内部 Rag 平台 中使用。kbase 是 aone 工程团队自建的知识库平台支持嵌入和通过 mcp 召回知识系统内置字段包括 TQL ICBU 在 GraphQL 上扩展的 TQL 指令、全局函数以及服务端的领域模型字段。GraphQL 是一门支持自省的语言服务端用注解标注了这些字段所以上述信息都可以被扫描出来。然而这几年的膨胀自省的内容已经长达 600w 字符。为了让 Rag 的召回效果好对数据做了大量的清洗工具包括扫描出全局指令、全局函数、领域模型的全集然后和线上脚本进行匹配只保留高频出现 3 次以上使用的部分语义相似的内容人工介入做区分功能相同语义不通的部分选择性保留。剔除标注废弃的内容。和热门脚本一样预先对文档对拆分全局指令、函数独立文档内置领域模型适当合并。清洗的过程非常耗时需要有细心且耐心可以借助 cc 的 skills 帮你写脚本处理数据。系统内置字段也可用文档管理方便导入到 Rag 中。服务端代码理解上述梳理出来的知识更多是结果为了帮助模型从源头理解字段背后的含义TQL 对应的服务端源码也是很好的输入。这部分已经有成熟能力可以直接使用了如内部 code 平台的 search 工具还有内部的 deepwiki 平台。由于此前已经在 deepwiki 上解析过服务端应用winterfell的源码且实测下来其 codebase 效果比较理想不是拉踩哈建议自行实践所以选择了它提供的能力做代码片段召回。据说是因为 deepwiki 使用了 openai 最好的文本嵌入模型。工具接入回过头再来看看 Agent 的工具设计分为两部分本地工具和远程MCP 工具远程MCP工具kbase 的 mcp serverdeepwiki 的 mcp server远程工具主要用来召回上文知识库建设的内容由于其提供的工具比较全而我实际只会用到其中的部分所以在系统中设计了白名单机制只加载白名单内的工具还是那句话节约上下文保护注意力。btwmcp 的鉴权认证需要自行参考官方文档不做赘述。本地工具编辑脚本editScript功能编辑/更新 GraphQL 脚本内容输入script(string) - 完整的 GraphQL 脚本代码输出返回更新状态编辑变量editVariables功能编辑/更新 GraphQL 请求变量mock 参数输入variables(string) - 完整的 variables JSON 字符串输出返回更新状态执行脚本executeScript空方法用于引导模型择机执行 GraphQL 脚本实际的实现在前端宿主页面上。验证结果validateResult功能验证 GraphQL 脚本的执行结果输入prompt(string) - 验证要求描述currentScript(string, optional) - 当前脚本currentVariables(string, optional) - 当前变量执行结果通过闭包注入不在参数中传递输出返回结构化验证结果passed、summary、problems、suggestions、needMoreContext、contextQueries 等工具调用链路注册注册到 Agent 中后常规的工具调用链路如下服务端内部的工具调用比较好理解但服务端的工具调用是怎么触发前端 UI 侧的工具调用呢比如 Agent 在调用【执行脚本】的方法时本质上还需要前端页面响应点击执行按钮后然后把执行结果回传给 AgentAgent再继续处理。聪明的你肯定想到了前后端用全双工通信维护一个长连接服务端调用 runScript 时实际上什么也不做就等待前台页面执行完工具后将结果传回服务端服务端再继续后续的状态流转链路。是的确实如此很多带 GUI 的工具也确实是这么处理的在 LangGraph 中称之为中断也就是人们常说的 HITLhuman in the loop遗憾的是Faas 的设计之初是不支持长连接的def 上函数能设置的最长保活时间是 300s默认 50s。所以我们肯定得曲线救国了 允许我先卖个关子 上下文管理其实有了上面能力建设现在已经有了一个可以帮助用户编写脚本执行验证的智能体了但是面临两个非常现实的问题模型本身不支持连续对话会话需要自己做持久化管理尽管在前期做了大量节约上下文窗口的优化工作但真正要处理一个复杂脚本的时候模型上下文窗口会快速膨胀导致模型注意力变得稀疏出现幻觉准确率下降用户体验下降。一轮简单的对话只要包含工具调用就会耗掉 1/4 5w的 token。因为在默认的设计中每个节点的返回消息都是默认拼接到 LLM 消息列表中的。连续对话先来处理简单的连续对话实现非常简单。也可以参考 LangGraph checkpoint [5]的设计可以从任意节点重新开始。BFF Agent 暂时没用到这个能力。在用户开始一次新对话时创建一个 sessionId用来记录存储消息列表在消息列表每次发生变化的时候持久化存储起来这里我用的 tair用户有新输入时直接 sessionId 记录的历史消息列表做拼接合并发给大模型就可以实现连续对话了。UI 工具是如何调用的在支持连续对话的基础上就有了一个非常巧妙的设计Agent 的接口设置为 SSE 的方式服务端在收到请求后流式向前端推送分片消息同时将每轮消息持久化存储起来。SSE 的方式只支持服务端单向给客户端推送消息当调用到需要前台 UI 响应的工具时在把工具调用信息输出给前端后直接退出 LangGraph 的状态流转结束此次请求。是的直接结束。前端特殊处理该类工具调用后含 diff 脚本接受或拒绝 Agent 的修改执行脚本等增加一条隐藏消息如【脚本执行成功结果是xxx请继续处理】重新调用 Agent 的流式接口接口内部取出之前持久化的消息内容拼接上隐藏消息从头开始初始化 AgentGraph 的调用。用户在前台看到的实际上发送给模型的至此就实现一个可以自己执行、验证、修复、再执行的智能体。对应的会话中断恢复也就不难处理了因为在服务端完整缓存了会话内容中断后只需要发送新消息接口内部就自动拼接上之前的会话重新走进 Agent 的状态流转。会话压缩解决了连续对话的问题上下文超长的问题怎么办呢现在答案是压缩只保留摘要信息。不知道以后模型是否可以自行处理压缩工具响应结果既然调用外部工具如此废 token那么如果先将工具的调用结果缓存起来再用一个工具函数去精准检索内容并只把检索后的内容放到消息列表中就能极大的缓解问题了。于是我在 Agent 内部增加了工具结果缓存 检索详情的 tool summaryToolResult)在工具调用结束后增加如下机制当然summaryToolResult 的任务非常明确普通的模型也有不错的据实回答问题的能力所以这里选择更轻量的 Qwen 模型做检索召回还能省不少钱为了尽可能让 summaryToolResult 在回答时结构化且保留原始信息我对工具的提示词作了优化使用 xml 格式响应。是的还是 anthropic 优化提示词的那一招。?xml version1.0 encodingUTF-8? prompt role你是一个数据提取助手。你的任务是从给定的工具调用结果中根据用户的查询需求提取并返回相关的事实信息。/role extractionRules rule只返回与查询高度相关的事实信息/rule rule保持信息的准确性不要编造内容/rule rule如果找不到相关信息明确说明/rule /extractionRules specialRules description当提取的内容涉及以下类型的功能说明时必须使用对应的 XML 结构详细输出完整的用法信息/description featureType name全局函数 xmlTemplate![CDATA[ function name函数名称/name description函数功能说明/description parameters param requiredtrue/false name参数名/name type参数类型/type default默认值如有/default description参数说明/description /param !-- 更多参数... -- /parameters returns type返回值类型/type description返回值说明/description /returns example使用示例代码/example /function ]]/xmlTemplate /featureType featureType name领域模型字段 xmlTemplate![CDATA[ field name字段名称/name type字段类型标量/复合/type description字段描述/description arguments arg requiredtrue/false name参数名/name type参数类型/type default默认值如有/default description参数说明/description /arg !-- 更多参数... -- /arguments subFields subField name子字段名/name type子字段类型/type description子字段说明/description /subField !-- 更多子字段... -- /subFields example使用示例代码/example /field ]]/xmlTemplate /featureType featureType name内置指令 xmlTemplate![CDATA[ directive name指令名称/name description指令功能说明/description locations locationFIELD/location locationQUERY/location !-- 可应用的位置FIELD, QUERY, FRAGMENT_SPREAD, INLINE_FRAGMENT 等 -- /locations arguments arg requiredtrue/false name参数名/name type参数类型/type default默认值如有/default description参数说明/description /arg !-- 更多参数... -- /arguments notes note注意事项或限制/note !-- 更多注意事项... -- /notes example使用示例代码/example /directive ]]/xmlTemplate /featureType featureType name自定义标量类型 xmlTemplate![CDATA[ scalarType name类型名称/name description类型说明/description format取值范围或格式要求/format example使用示例/example /scalarType ]]/xmlTemplate /featureType /specialRules outputFormat rule涉及功能用法时必须使用上述对应的 XML 结构输出/rule rule可以在 XML 结构前后添加简要的文字说明/rule rule如果有多个同类型功能每个功能使用独立的 XML 块/rule ruleXML 中的示例代码直接写入 example 标签内/rule rule如果某个字段没有值可以省略该标签或留空/rule /outputFormat outputHint如果查询内容不涉及上述特殊功能类型则按照常规方式简洁输出关键信息无需使用 XML 格式。/outputHint /prompt这样 qwen 模型也能高质量输出结构化的信息工具输出示例包含具体字段的名称、描述、类型、出入参数等field namefreight/name type复合类型/type description物流模型/description arguments arg required/false/ namedispatchCountryCode/name typeString/type description发货地代码/description /arg arg required/false/ nameneedAlibabaGuaranteed/name typeBoolean/type description是否返回半托管物流信息false不返回null 或 true均返回/description /arg arg required/false/ namemoqType/name typeString/type descriptionMOQ档位实验推全全部第一档 first/description /arg /arguments /field对工具响应做优化后同样一个问题主 Agent 的上下文窗口占用只需要花不到原来 1/10 的 token 就能解决问题了。从 5w 下降到 4k上下文压缩但即便是对工具响应进行了压缩也还是会有窗口超限的问题为什么 cursor 、cc 等产品好像从来没给用户暴露过这类问题呢GitHub 上有个 cc 的逆向工程秘密就藏在上下文自动压缩的机制里 Claude-Code-Reverse[6]。比较靠谱的说法是有两个触发自动压缩的时机上下文窗口即将超限。据传 cc 是窗口超过 82% 时触发自动压缩新对话与历史对话毫无关联。因为当前场景Agent 的负担还算比较轻所以我只选择了第一种压缩机制就足够用了。因为上下文压缩实际上是有损的一旦触发压缩Agent 就似乎忘记了之前的任务所以 CC 在压缩的时候非常的谨慎所以 BFF Agent 也直接复用了这份提示词做压缩。在这个基础之上为了使用户近期的对话被完整保留避免一旦压缩节点就瞬间遗忘的现象压缩时我默认会完整保留自用户近 3 轮开始对话后的消息列表。最终的线上配置为{ enabled: true, // 启用压缩 dangerThreshold: 80, // 1-100 当上下文窗口使用超过 80% 时触发压缩 keepRecentRounds: 3, // 保留最近 3 轮用户对话开始之后的消息不被压缩 }消息压缩图示到这里基础的优化工作就基本结束了后续更多的优化工作就需要采集用户的 bad case 再不断优化提示词/工具/知识库。文章有点长对熟练的同学来说有很多废话但还是希望能帮助到大家## 最后近期科技圈传来重磅消息行业巨头英特尔宣布大规模裁员2万人传统技术岗位持续萎缩的同时另一番景象却在AI领域上演——AI相关技术岗正开启“疯狂扩招”模式据行业招聘数据显示具备3-5年大模型相关经验的开发者在大厂就能拿到50K×20薪的高薪待遇薪资差距肉眼可见业内资深HR预判不出1年“具备AI项目实战经验”将正式成为技术岗投递的硬性门槛。在行业迭代加速的当下“温水煮青蛙”式的等待只会让自己逐渐被淘汰与其被动应对不如主动出击抢先掌握AI大模型核心原理落地应用技术项目实操经验借行业风口实现职业翻盘深知技术人入门大模型时容易走弯路我特意整理了一套全网最全最细的大模型零基础学习礼包涵盖入门思维导图、经典书籍手册、从入门到进阶的实战视频、可直接运行的项目源码等核心内容。这份资料无需付费免费分享给所有想入局AI大模型的朋友扫码免费领取全部内容部分资料展示1、 AI大模型学习路线图2、 全套AI大模型应用开发视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 大模型学习书籍文档4、AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、大模型大厂面试真题整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题涵盖基础理论、技术实操、项目经验等维度每道题都配有详细解析和答题思路帮你针对性提升面试竞争力。6、大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。扫码免费领取全部内容这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

**一周快速上手:传统研发平台接入Agent开发能力的完整指南(含收藏)**

一周快速上手:传统研发平台接入Agent开发能力的完整指南(含收藏) 本文详细介绍了如何在一周内为传统研发平台接入Agent开发能力,采用Next.jsReact和LangGraph构建Agent状态图,通过系统提示词优化、RAG知识库建设&#…...

keil工程点击build报错FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘

kile工程链接时报错FCARM - Output Name not specified, please check ‘Options for Target - Utilities’ 问题:拷贝了一个keil模板例程,对其中地一些代码文件路径做了调整,并重新添加了代码文件。编译没报错,点击buile链接时报…...

支承套零件加工工艺编程及夹具设计(论文 CAD图纸 开题报告 任务书 加工程序)

支承套作为机械传动系统中的关键零件,其加工精度直接影响设备运行的稳定性。针对该零件的加工工艺编程与夹具设计,需从零件结构特性出发,结合加工设备性能参数,制定科学合理的工艺方案。通过分析支承套的轴向定位孔、径向配合面等…...

旋架式加速度过载模拟实验台结构设计与分析(论文+CAD+SolidWorks+开题报告+任务书+外文翻译……)

旋架式加速度过载模拟实验台是机械工程领域中用于模拟极端加速度环境的关键设备,其核心作用在于为航天器、汽车零部件或高过载装备的可靠性测试提供可控的实验条件。通过旋架结构的旋转运动,实验台能够精确复现不同方向、不同幅值的加速度过载场景&#…...

掌握AI Agent,抢占未来先机:收藏这份小白进阶大模型指南!

掌握AI Agent,抢占未来先机:收藏这份小白进阶大模型指南! AI Agent正引领计算机交互革命,超越文本生成,通过“大脑规划工具调用记忆经验”直接操控应用与设备。本文解析其工作原理、行业竞争格局(OpenAI、…...

【VimRAG 】技术解析:阿里通义实验室多模态记忆图 RAG 框架深度剖析

文章目录VimRAG 技术解析:阿里通义实验室多模态记忆图 RAG 框架深度剖析一、引言二、问题根源:传统 RAG 在多模态场景下的三重困境三、核心架构:三大技术组件3.1 多模态记忆图(MMG)3.2 图调制视觉记忆编码(…...

小白程序员必看:零基础转型大模型应用开发,薪资涨幅超30%!收藏版学习路径分享

小白程序员必看:零基础转型大模型应用开发,薪资涨幅超30%!收藏版学习路径分享 本文分享了我从传统后端开发转型大模型应用开发的完整学习路径,分为入门启蒙、进阶夯实、核心突破、效率提升和思维升级五个阶段。重点介绍了提示词工…...

掌握MCP与Skill:大模型小白/程序员的收藏必备学习指南

掌握MCP与Skill:大模型小白/程序员的收藏必备学习指南 本文深入解析AI Agent中MCP与Skill的核心区别:MCP作为连接层解决"AI能访问什么"(外部数据/工具),Skill作为知识层解决"AI知道怎么做什么"&am…...

保姆级教程:用CBLPRD-330k数据集训练你的第一个车牌识别模型(附ResNet18+CTC实战代码)

从零构建车牌识别模型:CBLPRD-330k数据集实战指南 车牌识别技术作为计算机视觉领域的重要应用,正在智能交通、安防监控等场景中发挥越来越大的作用。对于刚入门的开发者来说,如何利用公开数据集快速搭建一个可用的车牌识别模型,往…...

OneAPI部署实操手册:从零配置到多渠道管理,支持腾讯混元、通义千问、文心一言等全生态

OneAPI部署实操手册:从零配置到多渠道管理,支持腾讯混元、通义千问、文心一言等全生态 你是不是也遇到过这样的烦恼?想用通义千问写代码,用文心一言做PPT,用腾讯混元分析数据,结果每个平台都要单独注册、单…...

从水处理到工控安全:WADI数据集在异常检测中的独特价值与应用场景解析

WADI数据集:工业控制系统异常检测的黄金标准与实践指南 工业控制系统(ICS)的安全防护一直是关键基础设施保护的核心议题。想象一下,一座城市的供水系统突然遭到网络攻击,导致水质异常或供水中断——这不仅会造成经济损失,更直接威…...

掌握Context Graph核心逻辑,小白程序员也能轻松入门大模型并收藏学习!

掌握Context Graph核心逻辑,小白程序员也能轻松入门大模型并收藏学习! Context Graph是当前企业AI领域的热点,掌握其核心逻辑有助于程序员和企业AI从业者快速跟上发展。它通过记录企业决策路径与执行过程,弥补了传统数据平台只关注…...

做不规则多变量时序预测,试试ReIMTS递归多尺度框架,我实验涨点明显!

不规则多变量时间序列的预测任务在医疗、气象等领域至关重要,但其面临着采样间隔不均和数据缺失两大挑战。传统方法难以在稀疏数据中捕捉可靠模式,而现有的大型预训练模型多为规则采样数据设计。 针对这些问题,研究者们提出了创新的解决方案…...

C#怎么操作Chart图表控件 C#如何用WinForms Chart控件绑定数据绘制统计图表【控件】

WinForms Chart控件需手动配置Series、ChartArea及数据源映射,否则图表空白或报错;必须设置XValueMember/YValueMembers(区分大小写)、ChartType,日期轴需格式化或转字符串绑定。WinForms 的 Chart 控件不是“绑定即显…...

普通人用基础C语言从零搭建NES模拟器,背后藏着这些局限

一、普通人觉得遥不可及,他用基础C语言做到了好多人一提到NES模拟器,首先就会觉得那是只有专业大佬才做得来的,不是依靠现成框架去拼接,就是凭借复杂技术去累计,普通人想要从零基础开始上手,根本就是不可能…...

【技术解读】DeWave:当离散编码遇见脑电波,开启无标记EEG到文本翻译新范式

1. DeWave:脑电波翻译技术的革命性突破 想象一下,你正躺在医院的病床上,因为某些原因无法说话,但医生和家属却能实时看到你脑海中想表达的文字——这听起来像是科幻电影中的场景,但DeWave技术正在让这种想象变为现实。…...

TB6612电机驱动避坑指南:STM32平衡小车常见问题与解决方案

TB6612电机驱动避坑指南:STM32平衡小车常见问题与解决方案 平衡小车项目是嵌入式开发者的经典练手项目,而TB6612作为一款性价比极高的电机驱动芯片,在STM32平衡小车中应用广泛。但在实际开发过程中,不少开发者会遇到电机不转、PWM…...

使用Nginx搭建文件服务器的全过程

为什么选择 Nginx 作为文件服务器 1.性能优势 高并发处理 - 轻量级,支持大量并发连接低资源消耗 - 内存占用少,CPU使用率低静态文件服务 - 专门优化过的静态文件传输高稳定性 - 长期运行稳定可靠 2.功能特性 简单的配置 - 配置文件简洁明了HTTP基本认证…...

linux安装mysql8.0全过程

查看服务器架构,下载对应安装包1uname -m2.上传解压包到usr/local解压安装包1tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz3.修改解压后的文件夹为mysql1mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql4.创建mysql用户组和用户并修改权限123groupadd mysql…...

Linux删除文件名包含无效编码字符文件的方法

在Linux中,文件名包含无效编码字符或特殊不可见字符时,可能导致此文件无法通过常规方式选中或删除,可以通过下面方法处理1、确认文件名问题检查终端编码环境1echo $LANG # 默认应为 UTF-8(如 en_US.UTF-8)查看文件名…...

nginx+rtmp实现直播完整流程

一,环境准备 1.下载nginx-rtmp-module: 1 2 cd /www/server/ git clone https://github.com/arut/nginx-rtmp-module.git 2.Nginx安装: 这是用了宝塔哈。 软件商店 > 应用搜索:nginx > 安装 > 编译安装 > 添加自定义模块 模块…...

Nginx同端口部署多个vue以及unapp项目

同一个端口部署pc和app端项目,Nginx配置,前端打包配置解决方案配置pc端vue项目打包配置配置uniapp项目打包配置,manifest.json文件添加配置123456789101112131415161718192021222324252627"h5": {"router": {"mode&…...

依据新版CNAS-CL01文件软件测试实验室需要建立哪些程序文件

当实验室将申请 CNAS 资质纳入发展规划,第一阶段需要做的是就是按照CNAS相关文件的要求,建立质量管理体系。在一系列的CNAS认可文件中,CNAS-CL01 堪称构建体系的 “基石”,是实验室建立质量管理体系的重要参考文件。实验室质量管理…...

基于STM32L4XX 、HAL库的TMP100NA/3K数字温度传感器驱动应用C语言程序设计

一、简介: TMP100NA 是德州仪器(TI)生产的数字温度传感器。 二、主要技术特性: 测量精度:典型条件下 0.5C(-25C 至 +85C),全温范围 2C(-55C 至 +125C) 分辨率:9 至 12 位可编程(0.5C 至 0.0625C),上电默认为 12 位 接口:I2C/SMBus 兼容,时钟速率最高 400kHz…...

32TOPS算力+工业级宽温适配!SE110S-WA32边缘计算微服务器全解析

随着工业智能化、AIoT产业的深度发展,边缘侧的算力需求迎来爆发式增长。在智慧交通、水利、电力、工地等工业场景中,边缘设备不仅需要强劲的AI推理能力,更要面对高低温、多尘、强电磁干扰、无人值守等严苛的运行环境,同时对功耗、…...

维谛ER4850S2整流模块用户手册

1 简介1.1 型号说明ER4850S2整流模块(以下简称整流模块)型号说明如图1所示。图1 型号说明1.2 外观整流模块的外观如图2所示。图2 整流模块外观图1.3 前面板整流模块的前面板3个指示灯,如图3所示。图3 整流模块前面板图模块固定螺钉&am…...

定做膏方流程

随着大健康消费升级,膏滋因便捷性与养生价值受到市场青睐,膏滋贴牌赛道也迎来快速增长。行业报告显示,近三年国内膏滋贴牌市场年复合增速超20%,定做膏方的需求逐渐从零散走向标准化。其中,湖北金鹰生物科技有限公司凭借…...

镜像视界·港口无穿戴无感定位技术白皮书

版本号:V1.0 发布日期:2026年04月13日 发布单位:镜像视界(浙江)科技有限公司 文档状态:终稿 Final摘要本白皮书聚焦港口场景核心痛点,系统阐述镜像视界无穿戴无感定位解决方案的技术原理、架构体…...

社媒平台限流频发卖家如何突破流量瓶颈

突围算法围城:社交媒体时代卖家的流量破局之道清晨的第一缕阳光还未完全照亮城市,无数卖家已经坐在屏幕前,眉头紧锁。昨日还表现良好的内容,今天的数据却惨淡得令人心慌。通知栏里,那个熟悉的限流提示如同冰冷的判决书…...

如何选择适合的西安GEO优化机构进行云造智搜AIGEO服务?

在选择适合的西安GEO优化机构时,了解其收费标准与服务内容构成至关重要。不同机构的费用结构可能各异,常见的费用包括基础服务费、项目管理费和根据效果而定的提成。在评估团队实力时,查看其过往案例和客户反馈是有效的方法,可帮助…...