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

从Prompt到Agent:收藏这份LLM应用落地演进指南,小白程序员必备!

本文介绍了LLM应用落地的演进过程从最初的Prompt工程阶段到Chain编排阶段再到最新的Agent阶段。文章详细阐述了每个阶段的原理、优缺点及应用实例并提供了基于Golang的Agent实现示例。通过学习本文读者可以了解LLM如何从简单的对话模型进化为能够自主规划、利用工具完成目标的智能体为实际应用开发提供参考。1、Agent是什么在大语言模型领域中Agent是指一种能够自主理解、规划决策、执行复杂任务的智能体。它具备感知、记忆、规划和使用工具的能力能够在无人干预的情况下根据环境信息自主决策和控制行为。而在技术角度来看Agent是一种增强大模型能力的技术方案路径。它使LLM能够在特定任务或领域中高智能、稳定、自主地进行学习、改进和完成目标。在基本了解了Agent的概念后我们进一步了解Agent的由来理解它的出现解决了什么问题。2、为什么会有Agent出现Agent是随着LLM应用研究的探索而发展起来的。它的出现是为了提高LLM在应用场景中的能力最主要的体现是在于智能化以及自动化能力的提升。为了具体说明目前我们可以依据自动化的程度对LLM应用进行4个层级的划分prompt阶段人类手动补充相关上下文书写提示词进行提问来获取llm的回答chain编排阶段通过固定的流程编排让LLM可以和多种工具组合起来按流水线执行逻辑流程从而处理特定的任务Agent阶段通过设定好提示词准备好工具由Agent自动化规划流程完成目标。Multi-Agent阶段Multi-Agent实际上算是Agent的一个子集它用于处理单Agent工作量过重导致容易陷入幻觉、死循环等问题大概了解Agent的自动化能力分层以后我们再进一步的讲解每一个阶段都做了什么又有什么问题。2.1 Prompt阶段这个阶段是人类直接书写提示词提问获取回答。这是LLM应用最原始的用法此时prompt是一个“编程语言”大家都在想办法学会这门语言从而激活LLM更强的智能。这个阶段的代表作是角色扮演类提示词。但是这个阶段只是停留在了更好地对话的阶段最终的效果是沉淀了chat类应用的“说明书”。简单来说这一阶段可以用以下6点概括目标挖掘LLM的智能原理提示词可以引导LLM激活特定参数概率分布使其在特定领域上的智能可以被更充分的发挥出来。核心流程人 -- 提示词 每一个任务得写一份提示词优点让LLM充分发挥自身在训练阶段获取的知识缺点仅仅停留在更好地和LLM对话的领域中无法和其他领域结合应用各种提示词角色应用市场以及开源项目如GPTshttps://github.com/linexjlin/GPTsPrompt阶段让人们意识到了LLM的智能但是并没有找到应用的场景直到有人发现了它可以输出规范的json格式。于是大家开始探索工具和LLM的结合也就来到了下一阶段Chain编排阶段。2.2 Chain编排阶段chain阶段主要是通过固定的流程编排让LLM可以和多种工具组合起来按流水线串联执行以处理特定的问题。朴素RAG是典型的例子它先把用户的问题去向量数据库检索相关的背景而后一起嵌入到提示词中。此时不再需要人类手动去拼接问题的背景到提示词了可以交给流水线去自动化处理。但是chain模式下LLM应用基本是固定的流程编排。这样固定的流程有其优势可以保持程序的稳定性。但是这也限制了LLM发挥智能的舞台。在这种模型下LLM能解决的问题都需要穷举出编排流程。下面有两个例子可以说明问题朴素RAG检索过程中如果检索回来的答案不佳此时LLM本可以思考如何更好的检索出相关文档如尝试HYDE等策略再次去进行检索。但是固有的chain编排不走回头路不管检索好坏都会去给LLM进行提问。这种固定的程序限制了LLM发挥智能的机会。日志分析chain例子假设要实现一个日志分析的工作流由于程序输出的日志可能有很多的编码字符串是需要解码后LLM才能理解的。所以可能就产生了这样的chain编排如下所示这样的流程看似解决了日志编码问题可以让LLM对日志进行分析、定位错误。但是实际线上日志存在字符串被编码过2次的情况如前端传入特定字符串的时候会先进行url编码后台再进行base64编码最后后台打印出日志。此时按照上述的chain进行逻辑处理就会发现只进行一次解码后的字符串并没有达到我们的目标——将需要解码的日志解码为正常的内容。所以我们又得去修改chain的流程图兼容这种情况。但是其实LLM本身就可以调用两种类型的解码工具理想的情况应该是它自己识别出字符串需要2次解码然后自行组合工具去完成解码而不是需要人类去调整流程图。通过上述的例子想必你已经看出简单的DAG模式下chain存在的缺点是固定的流程编排限制了LLM的能力发挥。chain阶段总结总的来说我们可以将chain阶段概括为以下6个特点目标使得LLM可以和工具相结合拥有“手”和“脚”不再仅仅是对话模型而是可以真正做出“行动”完成任务原理通过编排固定的LLM和工具的交互流程从而使LLM在特定任务上实现一定程度的自动化核心流程人 -- 流程编排 每一个不同流程的任务得写一个新的流程图处理优点LLM能力的实际落地通过流程编排使得LLM和工具的结合让LLM拥有了手和脚不再只是一个对话模型。提效当前的流程编排过程基本都可以做成一个可视化界面。通过可视化界面对流程进行编排大幅提高了开发特定任务流程的效率稳定性流程的编排过程中由于明确知道LLM下一步会做什么所以可以做很多兜底的策略去保证系统的稳定性缺点固定的流程编排限制了LLM的智能发挥让他缺少泛化性一些本可以自己解决的问题最后没有处理。这一阶段其实还是思维固化在了“编程”中认为程序一定是一步一步的每一步都清晰知道会发生什么的。对于这一阶段的LLM应用方式我们也称其为“AI”而不是“AI”因为逻辑处理的核心能力还是在编程里。应用langchain、langIndex等框架dify、coze以及我们混元一站式的可视化流程编排平台综上所述chain模式虽然限制了LLM的智能但是其固定编排带来的稳定性在短期看应该依然是发展可期的。而可视化编排应该是会继续朝着pipeline、低代码平台方向发展提效永远是一个值得研究的方向。不过预估未来当前chain模式中对LLM仅仅是一次对话的限制应该会被抛除而会把Agent能力接入进来。目前Langchain也已经向着LangGraph进行发展了。2.3 Agent阶段Agent阶段主要目的是充分发挥机器学习模型如LLM的规划能力和工具调用能力使其能够自行思考并设计出路线来完成目标。在这个阶段代表性的开源项目是AutoGPT。它设计的执行器规划器编程范式使LLM能够持续思考、行动直到达成目标。在这个阶段我们不再需要设计固定的流程。只需设定目标并提供工具AI就能自行思考、规划并调用工具来完成目标。相比于Chain阶段对LLM的应用这样的方式可以让LLM处理工具组合能解决的几乎任何问题理论上是可以达到真正人类的水平。到了这个阶段“编程”的固有模式也已经被剔除了应用也从“xx程序AI”变成了“AIxx工具”真正进入了“AI”的阶段。不过尽管Agent模式充分发挥了LLM的能力但它也存在一些缺点。例如AutoGPT中一份提示词和一个LLM需要完成感知、记忆、规划和使用工具的所有工作这无疑增加了模型的负担。程序很容易陷入死循环导致无法在生产环境真正落地。agent阶段总结所以总的来说我们可以从6个角度看待Agent阶段目标Agent模式的确定是充分发挥了LLM的规划能力和工具调用能力它可以多轮次的思考、利用工具最后达成目标原理通过“执行器规划器”以及“ReAct”的提示词思路使LLM的一步步思考每一个想法都可以及时被执行器执行并且再携带到提示词中给LLM感知到。这样的设计使LLM拥有了持续思考、观察环境独立完成任务的能力。核心流程人 -- 工具 每一个新能力的出现得写一个新工具优点只要人类给LLM准备好工具并且构造好“解释器-执行器”架构LLM理论上就可以解决工具组合能解决的所有问题不再需要人类对特定任务进行流程编排。缺点AutoGPT也已经体现出来了一份提示词和一个LLM需要完成感知、记忆、规划和使用工具的所有工作无疑是对智能要求依赖太重了程序非常容易陷入死循环。因此难以在实际生产环境中落地。应用AutoGPT、AgentGPT、Jarvis、babyAGI等。2.4 Multi-Agent阶段终于来到最后一个阶段了——Multi-Agent阶段。Multi-Agent阶段其实是Agent阶段的一个子集所以不算单独的一个LLM应用的阶段只是自动化程度的一个演进。早在1995年就有类似《群体智能》等书有研究粒子群优化算法。算法的核心理论可以表述为群体智能大于个人。在上面Prompt阶段就已经表明一份特定的提示词可以有效激活LLM特定能力的智能。所以我们采用专业的事情给专业的人做的原则将单一agent分为多个不同领域的专家agent它们之间互相合作从而提高Agent的稳定性和智能。这就是现在的Multi-Agent了。总得来说我们可以从以下6个方面了解Multi-Agent目标提高Agent的智能程度、稳定性原理让专业的人完成专业的事情每一个agent只关注特定任务只使用特定工具只关心特定信息从而降低单agent的智能压力。数据流管道agents之间如何共享数据将是multi-agent的关键此时我们可以结合集群通信原理单播、广播和组播或者结合集群网络的拓扑结构星型、总线和环型等又或者结合设计模式中的发布订阅模式等。将集群内各种设计方案结合Agent都能够玩出各种花样来使智能体集群效果不一。核心流程人 -- agent 每一个新领域的出现需要新增一个Agent优点Agent之间互相思考发挥群体智能效应能有效提高智能程度缺点多轮的思考信息的交互编程实现起来相对复杂对LLM的响应速度要求高应用metaGPT模拟一家公司协作完成任务smallville西部世界模拟社交场景chatDev自动化程序员宝可梦自动化游戏https://github.com/OpenBMB/AgentVerse/blob/main/README_zh.md#%E5%AE%9D%E5%8F%AF%E6%A2%A6%E6%B8%B8%E6%88%8F2.5 小结通过上面的介绍相信你已经对于LLM应用中对自动化能力探索的四个发展阶段Prompt阶段Chain编排阶段Agent阶段和Multi-Agent阶段有所了解了。 概括来说就是Prompt阶段是最初级的阶段人类直接书写提示词提问获取LLM的回答。这个阶段主要是激活和挖掘LLM的智能但只停留在对话的阶段。Chain编排阶段是通过固定的流程编排让LLM可以和多种工具组合起来按流水线执行逻辑流程从而处理特定的任务。这个阶段的优点是稳定性和提效但缺点是固定的流程编排限制了LLM的能力发挥。Agent阶段是通过设定好提示词准备好工具由Agent自动化规划流程完成目标。这个阶段的优点是LLM能够自行思考、规划并调用工具来完成目标但缺点是模型的负担过重容易陷入死循环。Multi-Agent阶段是将单一Agent分为多个不同领域的专家Agent它们之间互相合作从而提高Agent的稳定性和智能。这个阶段的优点是能有效提高智能程度但缺点是多轮的思考信息的交互编程实现起来相对复杂对LLM的响应速度要求高。总的来说Agent的出现和发展都是为了提高LLM在应用场景中的能力包括智能化和自动化能力的提升。了解了Agent的原理以后接下来我们尝试实现一个Agent吧。3、Agent要怎么实现当前已经有很多的python框架介绍怎么实现一个multi-agent系统了。如agents、metaGPT等。由于笔者主要是用golang开发下面用golang演示一下如何直接手搓一个简单的Agent。3.1 实现单Agent实现一个单Agent主要是要实现一个“规划器执行器”的结构。采用ReAct的提示词方法让LLM一步步思考策略每一步的思考都会被执行器去执行从实现和环境的交互。具体来说就是提示词约定让LLM给出每一步的方案并且携带特殊的格式执行器解析LLM的方案因为有特殊的格式要求所以程序可以理解LLM想调用什么工具执行器和规划器之间循环交互直到获取到最终答案或者最大循环次数到达具体实现大家可以了解langchain-go的实现。下面是作者自己手搓的一个演示代码作者主要是go语言开发所以用go写的例子仅供大家参考// BaseAgent 基础agent,设定人设和可以调用的工具它将会进行思考解决目标问题 type BaseAgent struct { // LLM思考和行动的最大轮次 maxIterateTimes int // 大语言模型 llm *proxy.LLM // 人设提示词 rolePrompt string // Tools 是代理可以使用的工具列表。 Tools []Tool // 思考步骤 steps []AgentStep } // NewBaseAgent 单agent构造器 func NewBaseAgent(rolePrompt string, tools []Tool, maxIterateTimes int, llm *proxy.LLM) *BaseAgent { if rolePrompt { rolePrompt planner } if maxIterateTimes 0{ maxIterateTimes len(tools) 1 //每个工具都调用过一次后还没有得出答案则LLM进行一轮总结 } return BaseAgent{maxIterateTimes: maxIterateTimes, llm: llm, rolePrompt: rolePrompt, Tools: tools} } // think 规划器分析问题的情况规划工具调用此过程将会和执行器进行循环处理直到规划器能规划出最终结果 func (agent *BaseAgent)think(ctx context.Context, query string) { //1. 获取数据 toolList : agent.Tools llm : agent.llm //2. 循环推理 answer : count : 0 for !(answer ! || agent.maxIterateTimes count) { count //计数1 //2.1 生成提示词 fullInputs : make(map[string]string) fullInputs[agent_scratchpad] agent.constructScratchPad() //获取历史记录 fullInputs[role_setting] agent.rolePrompt //角色设定 fullInputs[query] query //用户提问 plannerLLM : PromptTemplate{ Template: planner, //角色完整提示词 InputVariables: []string{query, agent_scratchpad,role_setting}, PartialVariables: map[string]any{ tool_names: toolNames(toolList), tool_descriptions: toolDescriptions(toolList), tool_name: toolList[0].Name(), }, } prompt, err : plannerLLM.Format(fullInputs) if err ! nil { log.ErrorContextf(ctx, plannerLLM.Format err: %v, err) return } //3. 执行推理 var msgs []*hunyuan.ChatMsg msgs append(msgs, hunyuan.ChatMsg{Role: ChatMessageTypeSystem, Content: fmt.Sprintf(%s。注意思考问题的时候需要得出解决问题的下一步行动规划或者最终答案 并且推理下一步的行动即可不需要连续推理多步。, agent.rolePrompt)}) msgs append(msgs, hunyuan.ChatMsg{Role: ChatMessageTypeUser, Content: prompt}) resp, err : llm.GenerateContent(context.Background(), msgs) if err ! nil { log.ErrorContextf(ctx, plannerHandler:llm.GenerateContent err: %v, err) return } choice1 : resp.Choices[0] output : choice1.GetMessage().GetContent() log.InfoContextf(ctx, 规划器ai回复: \n%s, output) //4. 处理LLM的决策判断是否要执行动作 outputSplits : strings.Split(output, 尝试结论) output outputSplits[0] if strings.Contains(output, _finalAnswerAction2) { splits : strings.Split(output, _finalAnswerAction2) answer splits[len(splits)-1] break } else { //判断ai规划方向为调用工具 r : regexp.MustCompile((?s)行动\s*(.)\s*行动输入\s*(.)) matches : r.FindStringSubmatch(output) if len(matches) 0 { log.InfoContextf(ctx, 解析Action失败!) //当前执行器一次执行失败会移除这段“记忆”进行重试。 //也可以采用填充反思提示词让LLM思考错在哪儿帮助解决问题。 continue } //校验工具调用的json是否正确 finalInput, ok : checkJson(matches[2]) if !ok { continue } //工具名称的处理将返回值和所有工具取交集 toolName : findTool(ctx, toolList, matches[1]) action : AgentAction{ Tool: strings.TrimSpace(toolName), ToolInput: strings.TrimSpace(finalInput), Log: \n output, } agent.doAction(ctx, action) //调用执行器获取“环境”的信息 } } } // doAction 执行器执行规划器的任务 func (agent *BaseAgent)doAction(ctx context.Context, action AgentAction) { var nameToTool map[string]Tool observation : //1. 获取工具 tool, ok : nameToTool[strings.ToUpper(action.Tool)] if !ok { observation fmt.Sprintf(%s 是一个无效的工具请使用其他工具, action.Tool) agent.steps append(agent.steps, AgentStep{ Action: action, Observation: observation, }) return } //2. 调用工具 observation, err : tool.Call(ctx, action.ToolInput) if err ! nil { observation fmt.Sprintf(%s 执行失败请检查原因err %v, action.Tool, err) agent.steps append(agent.steps, AgentStep{ Action: action, Observation: observation, }) return } log.InfoContextf(ctx, 工具执行结果\n %s, observation) agent.steps append(agent.steps, AgentStep{ Action: action, Observation: observation, }) return } // constructScratchPad 构造历史记录将每一步的环境观察结果转化为LLM易于理解的格式 func (agent *BaseAgent) constructScratchPad() string { var scratchPad string steps : agent.steps if len(steps) 0 { for i, step : range steps { scratchPad fmt.Sprintf(%d. 问题解答尝试\n, i1) scratchPad step.Action.Log if strings.HasSuffix(scratchPad, \n) { scratchPad \n尝试结论 step.Observation } else { scratchPad \n\n尝试结论 step.Observation } } if !strings.HasSuffix(scratchPad, \n) { scratchPad \n } } else { scratchPad 该问题暂时没有参考资料请你自己尝试解答吧。 } return scratchPad }提示词可以参考下面的关键部分你是一个善于使用工具解答问题的专家。 ## 工具列表 下面是你可以使用的工具 --- {{.tool_descriptions}} --- ## 指南 当你面对问题的时候请一步步思考 1. 它是否已经可以从已知的尝试中得出最终答案 2. 如果不能下一步行动应该使用什么工具解答问题 3. 如果工具都无法解决问题则也给出最终结论。 ## 要求 1. 经过思考以后如果你觉得应该采取行动请按下面格式给出你的行动方案 --- 行动参考工具列表的说明选择工具去帮你解决问题。注意此处直接填写工具名称即可工具必须是 [ {{.tool_names}} ] 之一如{{.tool_name}}。 行动输入工具的输入请按工具规范填写。 --- 2. 如果你觉得已经可以得出问题的答案了请按格式给出你对问题的最终答案 --- 最终答案你总结的用户提问的最终答案 --- ## 用户提问 --- {{.query}} --- ## 已知的尝试 下面是一些已知的尝试可以参考它们进行决策 --- {{.agent_scratchpad}} --- 注意使用工具的时候请不要用上面已经尝试过的工具可以直接参考工具的尝试结论。 接下来请你按照指南一步步思考给出你的答案上面是简单演示了一个Agent的实现思路。其实就是利用ReAct提示词去让LLM做选择“使用工具”或“得出结论”。然后LLM的思考是一步步返回的每一步思考逻辑返回以后由程序去解析、执行和反馈给LLM。经过上述LLM和程序的交互就可以实现LLM调用工具的能力也就是所谓的Agent。代码仅供参考不同模型和提示词会有不同效果大家可以自行调整提示词以获取更好的效果。3.2 实现Agent通信完成Multi-Agent实现了单agent之后我们再简单了解一下如何实现一个Multi-Agent。3.2.1 设计范式我们先具体讲一下multi-agent的应用设计范式。整体设计架构图图源自网络如下左侧部分是单agent代理表现出多种内化行为例如计划、推理和反思。此外代理还显现出内在的人格特征涵盖认知、情感和性格三个方面。中间部分是多agent单个代理可以与其他代理个体组成群体共同展现出合作等群体行为例如协同合作等。右侧部分是外部环境交互主要通过开发提供的工具为agent提供路径去感知外界反馈。环境的形式可以是虚拟的沙盒环境也可以是真实的物理世界。环境中的要素包括了人类参与者和各类可用资源。对于单个代理而言其他代理也属于环境的一部分。整体互动代理们通过感知外界环境、采取行动积极参与整个交互过程。而实现multi-agent中间部分的agent交互是核心。当前multi-agent主要有两种交互形式合作型互动、对抗型互动。合作型互动作为实际应用中部署最为广泛的类型合作型的代理系统可以有效提高任务效率、共同改进决策。具体来说根据合作形式的不同业内又将合作型互动细分为无序合作与有序合作。当所有代理自由地表达自己的观点、看法以一种没有顺序的方式进行合作时称为无序合作。这种方式适合于头脑风暴类型的问题处理当所有代理遵循一定的规则例如以流水线的形式逐一发表自己的观点时整个合作过程井然有序称为有序合作。这种方式适合于固定流程的任务如基于Agent的RAG场景前面举例子的日志格式解析场景等。对抗型互动智能代理以一种针锋相对的方式进行互动。通过竞争、谈判、辩论的形式代理抛弃原先可能错误的信念对自己的行为或者推理过程进行有意义的反思最终带来整个系统响应质量的提升。这种例子有self-RAG它是在基础的智能文档场景下加了一个反思的Agent判断回答是否和用户问题有关是否违法等。了解了multi-agent的类型以后我们自己实现multi-agent的关键就是实现一个controller模块去控制agent之间的通信。通常controller模块会和agent有以下交互:controller更新当前环境的状态选择下一时刻行动的agentA。agentA与环境交互更新自身的memory信息。agentA开始思考进行“规划——执行”循环推理直到获取输出message。将输出message更新到公共环境中。controller再次通信路由转发选择下一时刻行动的agent。而controller具体的通信路由转发方式也有两类基于LLM基于规则作者基于状态机实现了一个简单的基于规则类型的Agent。状态机模块SOP思路充当controller来确定agent之间交互的推进方式管理状态的变换并将相关状态信息变换记录到环境中以便不同的agent进行各自任务的推进。不过目前代码尚且未完善大家可以参考开源项目agents进行学习。总结当前的LLM应用从prompt一路发展到了Agent也从“AI”阶段摸索到了“AI”阶段。能感知到这个过程里LLM的应用确实越来越自动化、通用化。而当前主要问题还是在于LLM的智能提升问题。在单Agent纵向提升有限时Multi-Agent系列方案通过设置合理的算法架构能通过水平扩展的方式提高智能为我们打开了新的思路。当前Agent还在持续发展相信后续会有越来越多的方案去进一步提升agent的智能和实用性期待agent真正落地出能改变生活的应用目前发展趋势来看那一天感觉可能不会太远了。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。对于想入局大模型、抢占未来10年行业红利的程序员和小白来说现在正是最好的学习时机行业缺口大、大厂需求旺、薪资天花板高只要找准学习方向稳步提升技能就能轻松摆脱“低薪困境”抓住AI时代的职业机遇。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容最后1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

从Prompt到Agent:收藏这份LLM应用落地演进指南,小白程序员必备!

本文介绍了LLM应用落地的演进过程,从最初的Prompt工程阶段,到Chain编排阶段,再到最新的Agent阶段。文章详细阐述了每个阶段的原理、优缺点及应用实例,并提供了基于Golang的Agent实现示例。通过学习本文,读者可以了解LL…...

鸿蒙3.1实测:UART调试日志去Root全流程(含init.cfg避坑指南)

鸿蒙3.1 UART调试权限管理实战:从Root到Shell的无缝切换 当你在深夜的实验室里盯着串口终端上刺眼的#符号时,是否曾思考过这个Root权限带来的安全隐患?鸿蒙系统作为新一代分布式操作系统,其权限管理机制与Android有着本质区别。本…...

胡桃工具箱:免费开源的原神桌面助手如何提升你的游戏体验

胡桃工具箱:免费开源的原神桌面助手如何提升你的游戏体验 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.…...

别再傻傻分不清了!一文搞懂微信支付代金券和商家券的核心区别与适用场景

微信支付代金券VS商家券:技术选型与场景化应用指南 在数字化营销的浪潮中,优惠券作为连接商户与消费者的重要纽带,其技术实现方式直接影响营销效果与用户体验。微信支付提供的代金券与商家券看似功能相似,实则存在架构级差异。本文…...

如何选择ComfyUI-FramePackWrapper的模型加载方案?从技术选型到场景适配全解析

如何选择ComfyUI-FramePackWrapper的模型加载方案?从技术选型到场景适配全解析 【免费下载链接】ComfyUI-FramePackWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-FramePackWrapper 在AI视频生成工作流中,模型加载是影响效率与稳…...

Anubi基金会为何押注Cassava?深度解析Web3数据层+社交任务的黄金组合

Anubi基金会战略投资Cassava:Web3社交任务与数据层的价值重构 当Web3世界从DeFi的金融实验转向更广泛的社会化应用时,基础设施的演进正在经历一场静默的革命。Anubi基金会近期对Cassava Network的战略投资,揭示了两个关键趋势:社交…...

ISO/SAE 21434:2021(道路车辆 - 网络安全工程) 汇总

一、前言、引言(非正文章节)前言:标准制定背景、适用范围、与 ISO 26262(功能安全)的协同关系引言:网络安全对道路车辆 E/E 系统的必要性、全生命周期覆盖、风险导向原则二、正文核心章节(1–15…...

日期时间格式化中的字母代码解析与应用实例

1. 日期时间格式化字母代码入门指南 第一次接触日期时间格式化时,看到那些神秘的字母组合是不是一头雾水?yy、MM、dd这些看起来简单的代码,在实际使用中却藏着不少门道。作为处理时间数据的基础技能,掌握这些字母代码的含义和用法…...

优化算法避坑指南:为什么BFGS比DFP更常用?从数值稳定性到工程实践详解

优化算法避坑指南:为什么BFGS比DFP更常用?从数值稳定性到工程实践详解 在机器学习模型训练和工程优化问题中,我们常常需要求解无约束优化问题。当目标函数的海森矩阵难以计算或维度较高时,拟牛顿法因其出色的平衡性成为首选。但面…...

自适应滤波实战:如何用LMS算法在MATLAB/Simulink中快速搭建一个‘简易版’维纳滤波器?

自适应滤波实战:LMS算法在MATLAB/Simulink中的工程化实现 在信号处理领域,自适应滤波技术因其强大的环境适应能力而备受青睐。想象一下,你正在处理一段被噪声污染的语音信号,或是试图从复杂工业环境中提取有效振动特征——传统固定…...

SAP BAPI实战指南:核心模块高频接口速查与应用解析

1. SAP BAPI入门:为什么开发者需要这份速查手册 第一次接触SAP BAPI时,我盯着满屏的接口文档差点崩溃——光是FICO模块就有二十多个常用BAPI,每个接口的参数列表长得像毕业论文。后来在项目上踩过几次坑才明白,BAPI的难点不在于技…...

咱们今天聊点硬核但有趣的东西——用纳米级乐高积木(二氧化钛超表面)玩转光漩涡。想象一下,你手上有把能操控光波前形状的万能钥匙,这就是超表面的魅力所在

FDTD模型:基于超表面的完美涡旋光案例。 宽带任意阶 完美涡旋光束 介绍:全介质超表面实现完美矢量涡旋光束生成和完美庞加莱球生成,完美矢量涡旋光束不随拓扑荷的变化而变化,同时满足矢量光场的偏振变化,主要用于光学加密等领域&a…...

快速验证openclaw:用快马AI一键生成安装脚本与抓取原型

最近在做一个机器人抓取相关的项目,偶然发现了openclaw这个开源工具。作为一个Python实现的轻量级抓取框架,它很适合快速搭建原型。不过在实际使用过程中,我发现它的安装和配置过程有点繁琐,特别是对新手不太友好。于是尝试用InsC…...

新手零失败指南:利用快马ai轻松完成openclaw的ubuntu环境搭建

最近在学习机器人抓取相关的技术,发现OpenClaw是一个很不错的开源项目。但作为一个Ubuntu新手,在部署过程中遇到了不少坑。经过一番摸索,终于总结出了一套适合新手的零失败部署方案,今天就和大家分享一下。 准备工作 首先确保你的…...

从零开始用Typora写技术文档:完整配置指南与高效排版秘籍

从零开始用Typora打造专业技术文档:配置、排版与效率全攻略 在技术写作领域,文档的呈现质量往往直接影响知识传递的效果。Typora作为一款轻量级Markdown编辑器,凭借其即时渲染、简洁界面和强大的扩展功能,已成为众多开发者和技术作…...

ESP32嵌入式系统工具库:运行时监控、资源池与高精度时间管理

1. 项目概述sys_utils是一个面向 ESP32 平台、深度适配 ESP-IDF(Espressif IoT Development Framework)生态的系统级工具库。其定位并非通用 C 标准库的替代品,而是聚焦于嵌入式实时系统开发中高频、易错、跨模块复用的底层支撑需求——在裸机…...

AI数字人开源方案:Duix.Avatar本地化部署与应用指南

AI数字人开源方案:Duix.Avatar本地化部署与应用指南 【免费下载链接】Duix-Avatar 🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning. 项目地址: https://gitcode.com/GitHub_Trending…...

AMD Ryzen硬件调试指南:5分钟掌握SMUDebugTool核心功能

AMD Ryzen硬件调试指南:5分钟掌握SMUDebugTool核心功能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://g…...

Phi-4-mini-reasoning作品集:自动将推理过程转化为教学级讲解语言

Phi-4-mini-reasoning作品集:自动将推理过程转化为教学级讲解语言 1. 模型简介 Phi-4-mini-reasoning是一个轻量级的开源文本生成模型,专注于将复杂推理过程转化为清晰易懂的教学语言。作为Phi-4模型家族的一员,它特别擅长处理需要逐步解释…...

别再只盯着细胞比例了!用Xenium数据做小鼠肺腺癌空间邻域分析,手把手教你找到真正的肿瘤边界

空间邻域分析:重新定义肿瘤微环境的生物学边界 在单细胞和空间组学研究中,我们常常陷入一个思维定式——过度关注细胞类型的比例变化,却忽略了细胞在三维空间中的精妙排布所蕴含的关键信息。这种比例优先的思维模式,就像试图通过统…...

Wan2.2-I2V-A14B部署教程:NVIDIA MPS多进程服务共享GPU资源方案

Wan2.2-I2V-A14B部署教程:NVIDIA MPS多进程服务共享GPU资源方案 1. 镜像概述与核心特性 Wan2.2-I2V-A14B是一款专为文本生成视频任务优化的私有部署镜像,特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点是内置了完整的运行环境和模…...

Adafruit ST7735/ST7789 TFT驱动库详解:SPI接口与GFX分层架构

1. 项目概述 Adafruit ST7735 和 ST7789 库是一个面向嵌入式平台(尤其是 Arduino 生态)的轻量级图形驱动库,专为基于 Sitronix ST7735、ST7789 及 ST7796S 显示控制器的彩色 TFT 液晶模组设计。该库并非仅适配单一型号,而是通过统…...

万象视界灵坛基础教程:PyTorch+Transformers环境搭建与CLIP零样本推理入门

万象视界灵坛基础教程:PyTorchTransformers环境搭建与CLIP零样本推理入门 1. 环境准备与快速部署 1.1 系统要求 Python 3.8或更高版本支持CUDA的NVIDIA GPU(推荐)至少8GB显存(CLIP-ViT-L/14模型需求)10GB以上可用磁…...

从混乱到清晰:用QJsonObject重构你的Qt网络API数据解析层(避坑指南)

从混乱到清晰:用QJsonObject重构你的Qt网络API数据解析层(避坑指南) 在Qt开发中,与后端RESTful API交互是常见需求,但面对复杂、嵌套的JSON响应数据时,很多开发者容易陷入"面条代码"的泥潭。本文…...

3分钟掌握哔哩下载姬:零安装B站视频下载神器使用指南

3分钟掌握哔哩下载姬:零安装B站视频下载神器使用指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#x…...

避坑指南:Unreal导航网格NavMesh生成与Agent属性设置的5个常见误区

Unreal引擎导航系统避坑指南:NavMesh生成与Agent配置的5个关键误区 在Unreal引擎中构建可靠的AI寻路系统时,许多开发者常陷入相似的陷阱。当AI角色频繁卡在门槛边缘、拒绝攀爬斜坡或选择匪夷所思的绕路路线时,问题往往不在于代码逻辑&#xf…...

SerialLCD库深度解析:SerLCD v2.5串口LCD驱动实践

1. SerialLCD 库技术解析:面向嵌入式系统的 SparkFun SerLCD v2.5 串口 LCD 驱动深度实践 1.1 背景与工程定位 SerialLCD 是一个专为 SparkFun SerLCD v2.5 硬件模块设计的轻量级串口 LCD 控制库,其原始实现源自 Arduino.cc Playground 社区维护的 Ser…...

像素史诗智识终端效果展示:自动提取数据关键指标并生成结论段落

像素史诗智识终端效果展示:自动提取数据关键指标并生成结论段落 1. 产品概览:当科研遇上像素冒险 像素史诗智识终端(Pixel Epic Wisdom Terminal)是一款颠覆传统的研究报告辅助工具。它将枯燥的数据分析过程转化为一场充满像素美学的RPG冒险&#xff0…...

STM32F407的RTC时钟不准?手把手教你用CubeMX配置LSE晶振校准(附源码)

STM32F407的RTC时钟不准?手把手教你用CubeMX配置LSE晶振校准(附源码) 在嵌入式系统开发中,实时时钟(RTC)的精度问题常常让开发者头疼。特别是使用STM32F407这类主流单片机时,即使按照官方文档配…...

手把手教你给51单片机项目“瘦身”:多传感器数据采集与显示的优化技巧

51单片机多传感器系统优化实战:从臃肿代码到高效工程的蜕变之路 当你的51单片机项目开始集成第三个、第四个传感器时,是否发现代码变得越来越难以维护?LCD显示刷新变得卡顿,传感器数据互相干扰,甚至整个系统会莫名其妙…...