从零开始:手把手教你搭建Agent框架

Agno 多 Agent 协作框架 - 手把手从零开始教程 本教程详细介绍了如何使用Agno框架构建多Agent协作系统,从创建基础问答Agent到组建专业团队。内容分为四个步骤:首先创建配置模型和简单Agent;然后为Agent添加搜索工具;接着创建多个专业Agent(网络搜索专家、新闻分析师、技术顾问);最后组建Team实现Agent协作。每个步骤都提供完整代码示例、运行方法和预期输出,帮助开发者理解Agno框架的工作原理和团队协作机制。通过本教程,读者可以掌握构建具有专业分工和协作能力的多Agent系统技能。 阅读详情

AI Agent

Agent的核心思想是使用语言模型来选择要采取的一系列操作。在Agent中,语言模型被用作推理引擎来确定要采取哪些操作以及按什么顺序。相比于传统机械或软件被动的“给予输入——>做出输出”的模式,Agent 由于更加强调自主的发现问题、确定目标、构想方案、选择方案、执行方案、检查更新的特性,因此可以被认为是一类拥有“自主智能的实体”,而被广泛称之为智能体。

⚠️下文介绍的Plan/Memory/Tool三组件只是Agent框架一种简单的拆分(参考了LangChain),除此外还有多种理解Agent框架的视角,读者若感兴趣可以自行学习以下Agent框架

image

Planning 规划

  • 子目标和分解:AI Agent 将大型任务分解为更小的、可管理的子目标,从而能够有效处理复杂的任务。

  • 反思和完善:Agent可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。

Memory 记忆

  • 短期记忆:所有的上下文学习(参见提示工程)都是利用模型的短期记忆来学习。

  • 长期记忆:这为AI Agent提供了长期保留和调用无限信息的能力,通常是通过利用外部向量存储和快速检索来实现。

Tool / Toolkit

Agent学习调用外部 API 来获取模型权重中缺失的额外信息,通常这些信息在预训练后很难更改,包括当前信息、代码执行能力、对专有信息源的访问等。

工具是代理可以调用的功能,本质上就是一个函数。使用工具是AI Agent最迷人最先进的特性

思考框架

CoT

语言智能可以被理解为“使用基于自然语言的概念对经验事物进行**‘理解’以及在概念之间进行‘推理’**的能力”

理解能力上,作为“语言模型”的大模型具备概念理解能力并不难理解,但是仅仅像 Word2vec 一样只能得到“国王”与“男人”的“距离”更近的结论对于语言智能而言必然远远不够

真正让人惊讶的是大模型在推理上的能力涌现。推理,一般指根据几个已知的前提推导得出新的结论的过程,区别于理解,推理一般是一个“多步骤”的过程,推理的过程可以形成非常必要的“中间概念”,这些中间概念将辅助复杂问题的求解 。

2022 年,在 Google 发布的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出, **通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。而这一系列推理的中间步骤就被称为思维链(Chain of Thought) **。

image

CoT大家应该都比较熟了,使用它的方法很简单:

对于Zero-Shot,只需要在Prompt的结尾加一句:

Let's think step by step


对于One-Shot或Few-Shot,需要在Prompt中适当地为大模型提供一些示例

拓展:CoT其实也在逐渐进化,出现了各种让大模型进行复杂链路思考的方式

image

ReAct

无论是环境的反馈,还是人类的指令,Agent 都需要完成一个对接收到的信息进行“理解”,并依据得到的理解进行意图识别,转化为下一步任务的过程 。在前文中之所以介绍CoT,是因为使用 CoT 可以大大帮助模型对现有输入进行“感知”,激活大模型对任务的拆分规划和推理能力。借鉴CoT,我们可以归纳出基本的Agent框架并延伸,ReAct就是其中之一

从 Yao等人,2022(opens in a new tab) 引入了一个框架,其中 LLMs 以交错的方式生成 推理轨迹 和 任务特定操作 。

生成推理轨迹使模型能够诱导、跟踪和更新操作计划,甚至处理异常情况。操作步骤允许与外部源(如知识库或环境)进行交互并且收集信息。

ReAct 框架允许 LLMs 与外部工具交互来获取额外信息,从而给出更可靠和实际的回应。

结果表明,ReAct 可以在语言和决策任务上的表现要高于几个最先进水准要求的的基线。ReAct 还提高了 LLMs 的人类可解释性和可信度。总的来说,作者发现了将 ReAct 和链式思考 (CoT) 结合使用的最好方法是在推理过程同时使用内部知识和获取到的外部信息。

运作机理

ReAct 的灵感来自于 “行为” 和 “推理” 之间的协同作用,正是这种协同作用使得人类能够学习新任务并做出决策或推理。

链式思考 (CoT) 提示显示了 LLMs 执行推理轨迹以生成涉及算术和常识推理的问题的答案的能力,以及其他任务 (Wei等人,2022)(opens in a new tab)。但它因缺乏和外部世界的接触或无法更新自己的知识,而导致事实幻觉和错误传播等问题。

ReAct 是一个将推理和行为与 LLMs 相结合通用的范例。ReAct 提示 LLMs 为任务生成口头推理轨迹和操作。这使得系统执行动态推理来创建、维护和调整操作计划,同时还支持与外部环境(例如,Wikipedia)的交互,以将额外信息合并到推理中

image

常用模板:

Answer the following questions as best you can. You have access to the following tools:

{tools}

Use the following format:

Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [{tool_names}]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question

Begin!

Question: {input}
Thought:{agent_scratchpad}


搭建一个ReAct框架

image

简单的ReAct

先对各组件进行硬编码。我们为大模型提供一个get_word_length工具(Tool),使用ReAct框架看看他能否解决一些基本问题

System Prompt:

Answer the following questions as best you can. You have access to the following tools:

get_word_length(word: str) -> int:
    """Returns the length of a word."""

Use the following format:

Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [get_word_length]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question

Begin!


User Input:

Question:How many letters in the word educa


⚠️注意!这里只是简单在用大模型调试prompt,get_word_length工具并没有具体的代码实现也没有运行。之所以能算出结果都是靠大模型自身的推理能力!

image

Agent

Agent相当于整体框架的思维推理系统,通常由大模型、Prompt提供支持。不同的智能体有不同的推理提示风格、不同的输入方式以及不同的解析输出方式,依赖于用户对应用的自定义,说白了就是对大模型进行一层封装更方便管理

这里提到的Agent其实就是大模型本身,我们在框架中最好将大模型的API进行面向对封装,方便与框架中其他组件交互

这里我使用的是OpenAI 的GPT-3.5-turbo模型

class LLMSingleActionAgent {
  llm: AzureLLM
  tools: StructuredTool[]
  stop: string[]
  private _prompt: string = '{input}'
  constructor({ llm, tools = [], stop = [] }: LLMSingleActionAgentParams) {
    this.llm = llm
    this.tools = tools
    if (stop.length > 4)
      throw new Error('up to 4 stop sequences')
    this.stop = stop
  }
 }


Agent Inputs 代理输入

对大模型的输入可以是普通的Prompt字符串;也可以是键值对,结合Prompt Template拼接出最终的Prompt字符串

Agent Outputs 代理输出

输出是要执行的下一个操作或要发送给用户的最终响应( AgentAction 或 AgentFinish )

对大模型的输入可以是普通的Prompt字符串;也可以是键值对,结合Prompt Template拼接出最终的Prompt字符串。我们这里使用ReAct框架,每次输入的Prompt都有固定的模板Template(见上文ReAct的模板)。因此需要一个填充模板的函数,我们简单约定变量按`{var}`的格式插入,用正则表达式将字符串替换

function fillPromptTemplate(promptTemplate: string, inputs: promptInputs) {
  let res = promptTemplate

  for (const [key, val] of Object.entries(inputs))
    res = res.replaceAll(new RegExp(`{\\s*${key}\\s*}`, 'g'), val)

  return res
}


Action

AgentAction 代理行动

这是一个数据类,表示代理应采取的操作。它有一个 tool 属性(这是应该调用的工具的名称)和一个 tool_input 属性(该工具的输入)

AgentFinish 代理完成

这表示代理准备好返回给用户时的最终结果。它包含一个 return_values 键值映射,其中包含最终的代理输出。通常,这包含 output 键,其中包含代理响应的字符串。

Intermediate Steps 中间步骤

这些代表先前的代理操作以及当前代理运行的相应输出。这些对于传递到未来的迭代非常重要,因此代理知道它已经完成了哪些工作。其类型为 List[Tuple[AgentAction, Any]] 。请注意,观察目前保留为 Any 类型,以实现最大程度的灵活性。实际上,这通常是一个字符串。

Tool

在Prompt中描述工具

export abstract class StructuredTool {
  name: string
  description: string
  constructor(name: string, description: string) {
    this.name = name
    this.description = description
  }

  abstract call(arg: string, config?: Record<string, any>): Promise<string>

  getSchema(): string {
    return `${this.declaration} | ${this.name} | ${this.description}`
  }

  abstract get declaration(): string
}


工具类有name和description两个属性,通过getSchema函数返回对该工具的文本描述。这里我们先简单地将两个描述信息拼接一下,为Agent提供4个算数工具

⚠️注意!这里只是简单在用大模型调试prompt,这几个工具并没有具体的代码实现也没有运行。之所以能算出结果都是靠大模型自身的推理能力!(简单的加减乘除即使没有外部工具他也能做到)

1. Addition Tool: A tool for adding two numbers
2. Subtraction Tool: A tool for subtracting two numbers
3. Division Tool: A tool for dividing two numbers
4. Multiplication Tool: A tool for multiplying two numbers


简单地运行一个应用算术题:

image

尽管Agent经过多步思考成功解决了这个问题,但有个小bug,在第二步中,Agent调用乘法工具传入了3个参数。如果我们实现工具的时候函数只接受两个参数这里就会报错。

出现这个问题是因为我们提供的工具描述还不够准确,不仅要提供工具的名字和功能描述,最好的就是将函数的声明也带上。因为我们的函数代码本身是硬编码的,要尽一切可能降低大模型输出的随机性,严格按我们的要求输出

为工具函数生成函数声明

方案一:手动Copy

一个笨办法就是直接copy自己写的函数声明,硬编码到工具的description中。

按两下cv键还是很快的。缺点就是1. 不够灵活,修改函数声明时需要把硬编码的字符串也更改 2. 万一写的是宽松类型的代码(js、python),还得自己想函数声明

例如对于call函数,直接把这个复制下来放到description中就行了

image

方案二:AI自动生成

根据“大模型不收敛”定理——当你想为大模型做一件事时,先想想这件事本身是不是也能让大模型做。我们也可以让大模型为工具函数生成函数声明

使用下面的prompt:

请为下面的{language}代码生成函数声明:
{code}



同理也可以帮助生成函数功能描述

请用一两句话描述下面{language}代码的功能:
{code}



该方案的优缺点和方案一相同。主要针对宽松类型的代码,省了点脑子

方案三:zod自动生成

Zod 是一个以 TypeScript 为首的模式声明和验证库 ,弥补了 TypeScript 无法在运行时进行校验的问题

依靠zod的一些插件,我们可以直接将zod定义的类型对象转换成类型声明字符串

例如:

  • [zod-to-ts]: Generate TypeScript definitions from Zod schemas.

  • [zod-to-json-schema].

  • [zod-to-openapi]: Generate full OpenAPI (Swagger) docs from Zod, including schemas, endpoints & parameters.

根据自己应用联调的需求选择即可

优点就是非常灵活,且支持运行时。唯一的缺点就是要学习zod的用法

image

将函数声明加入Prompt后,可以看到Agent学会了多次进行乘法,符合我们的函数声明

⚠️如果大模型实在是笨的学不会传入正确数量的参数,那就只能将我们的工具函数修改为兼容动态参数的形式了。

Executor

代理执行器executor是Agent的运行时,可以理解为AI Agent的大脑,他协调各个组件并指导操作。这实际上是调用代理,执行它选择的操作,将操作输出传递回代理,然后重复

class AgentExecutor {
  agent: LLMSingleActionAgent
  tools: StructuredTool[] = []
  maxIterations: number = 15

  constructor(agent: LLMSingleActionAgent) {
    this.agent = agent
  }
  
  addTool(tools: StructuredTool | StructuredTool[]) {
    const _tools = Array.isArray(tools) ? tools : [tools]
    this.tools.push(..._tools)
  }
}



最关键的就是executor的执行循环了,executor会始终进行如下事件循环直到 目标被解决了 或者 思考迭代次数超过了最大次数:

  1. 根据之前已经完成的所有步骤(一个步骤包括 ReAct框架中的 Thought、Action、Observation)和 目标(用户的问题)规划出接下来的Action(使用什么工具 以及 工具的输入)

  2. 检测是否已经达成目标,即Action是不是ActionFinish。是的话就返回结果,不是的话说明还有行动要完成

  3. 根据Action,执行具体的工具,等待工具返回结果。工具返回的结果就是这一轮步骤的Observation

  4. 保存当前步骤到记忆上下文,如此反复

async call(input: promptInputs): Promise<AgentFinish> {
    const toolsByName = Object.fromEntries(
      this.tools.map(t => [t.name, t]),
    )

    const steps: AgentStep[] = []
    let iterations = 0

    while (this.shouldContinue(iterations)) {
      const output = await this.agent.plan(steps, input)
      console.log(iterations, output)

      // Check if the agent has finished
      if ('returnValues' in output)
        return output

      const actions = Array.isArray(output)
        ? output as AgentAction[]
        : [output as AgentAction]

      const newSteps = await Promise.all(
        actions.map(async (action) => {
          const tool = toolsByName[action.tool]

          if (!tool)
            throw new Error(`${action.tool} is not a valid tool, try another one.`)

          const observation = await tool.call(action.toolInput)

          return { action, observation: observation ?? '' }
        }),
      )

      steps.push(...newSteps)

      iterations++
    }

    return {
      returnValues: { output: 'Agent stopped due to max iterations.' },
      log: '',
    }
  }



运行

这里我们为大模型提供了加减乘除四个工具(按理来说这四个工具不需要实际的函数大模型也可以执行hhhh,但本质上是不一样的)我们可以看到大模型最后成功迭代出了计算结果为9336元

describe('agent', () => {
  const llm = new AzureLLM({
    apiKey: Config.apiKey,
    model: Config.model,
  })
  const agent = new LLMSingleActionAgent({ llm })
  agent.setPrompt(REACT_PROMPT)
  agent.addStop(agent.observationPrefix)
  agent.addTool([new AdditionTool(), new SubtractionTool(), new DivisionTool(), new MultiplicationTool()])

  const executor = new AgentExecutor(agent)
  executor.addTool([new AdditionTool(), new SubtractionTool(), new DivisionTool(), new MultiplicationTool()])
  it('test', async () => {
    const res = await executor.call({ input: '一种减速机的价格是750元,一家企业需要购买12台。每台减速机运行一小时的电费是0.5元,企业每天运行这些减速机8小时。请计算企业购买及一周运行这些减速机的总花费。' })
    expect(res).toMatchInlineSnapshot(`
      {
        "log": "Final Answer: The total cost of purchasing and operating the gearboxes for a week is 9336 yuan.",
        "returnValues": {
          "output": "The total cost of purchasing and operating the gearboxes for a week is 9336 yuan.",
        },
      }
    `)
  }, { timeout: 50000 })
})



image

可改进的地方

  1. 处理代理选择不存在的工具的情况

  2. 加入更复杂的记忆Memory系统

  3. 多个Agent合作

  4. 更复杂的工具,在一个Action中调用多个工具

  5. 处理工具错误的情况

  6. 处理代理生成无法解析为工具调用的输出的情况

  7. 所有级别(代理决策、工具调用)的日志记录和可观察性到标准输出

零基础如何高效学习大模型?

你是否懂 AI,是否具备利用大模型去开发应用能力,是否能够对大模型进行调优,将会是决定自己职业前景的重要参数。

为了帮助大家打破壁垒,快速了解大模型核心技术原理,学习相关大模型技术。从原理出发真正入局大模型。在这里我和鲁为民博士系统梳理大模型学习脉络,这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码免费领取🆓**⬇️⬇️⬇️

在这里插入图片描述

【大模型全套视频教程】

教程从当下的市场现状和趋势出发,分析各个岗位人才需求,带你充分了解自身情况,get 到适合自己的 AI 大模型入门学习路线。

从基础的 prompt 工程入手,逐步深入到 Agents,其中更是详细介绍了 LLM 最重要的编程框架 LangChain。最后把微调与预训练进行了对比介绍与分析。

同时课程详细介绍了AI大模型技能图谱知识树,规划属于你自己的大模型学习路线,并且专门提前收集了大家对大模型常见的疑问,集中解答所有疑惑!

在这里插入图片描述

深耕 AI 领域技术专家带你快速入门大模型

跟着行业技术专家免费学习的机会非常难得,相信跟着学习下来能够对大模型有更加深刻的认知和理解,也能真正利用起大模型,从而“弯道超车”,实现职业跃迁!

图片

【精选AI大模型权威PDF书籍/教程】

精心筛选的经典与前沿并重的电子书和教程合集,包含《深度学习》等一百多本书籍和讲义精要等材料。绝对是深入理解理论、夯实基础的不二之选。

在这里插入图片描述

【AI 大模型面试题 】

除了 AI 入门课程,我还给大家准备了非常全面的**「AI 大模型面试题」,**包括字节、腾讯等一线大厂的 AI 岗面经分享、LLMs、Transformer、RAG 面试真题等,帮你在面试大模型工作中更快一步。

【大厂 AI 岗位面经分享(92份)】

图片

【AI 大模型面试真题(102 道)】

图片

【LLMs 面试真题(97 道)】

图片

【640套 AI 大模型行业研究报告】

在这里插入图片描述

【AI大模型完整版学习路线图(2025版)】

明确学习方向,2025年 AI 要学什么,这一张图就够了!

img

👇👇点击下方卡片链接免费领取全部内容👇👇

在这里插入图片描述

抓住AI浪潮,重塑职业未来!

科技行业正处于深刻变革之中。英特尔等巨头近期进行结构性调整,缩减部分传统岗位,同时AI相关技术岗位(尤其是大模型方向)需求激增,已成为不争的事实。具备相关技能的人才在就业市场上正变得炙手可热。

行业趋势洞察:

  • 转型加速: 传统IT岗位面临转型压力,拥抱AI技术成为关键。
  • 人才争夺战: 拥有3-5年经验、扎实AI技术功底和真实项目经验的工程师,在头部大厂及明星AI企业中的薪资竞争力显著提升(部分核心岗位可达较高水平)。
  • 门槛提高: “具备AI项目实操经验”正迅速成为简历筛选的重要标准,预计未来1-2年将成为普遍门槛。

与其观望,不如行动!

面对变革,主动学习、提升技能才是应对之道。掌握AI大模型核心原理、主流应用技术与项目实战经验,是抓住时代机遇、实现职业跃迁的关键一步。

在这里插入图片描述

01 为什么分享这份学习资料?

当前,我国在AI大模型领域的高质量人才供给仍显不足,行业亟需更多有志于此的专业力量加入。

因此,我们决定将这份精心整理的AI大模型学习资料,无偿分享给每一位真心渴望进入这个领域、愿意投入学习的伙伴!

我们希望能为你的学习之路提供一份助力。如果在学习过程中遇到技术问题,也欢迎交流探讨,我们乐于分享所知。

*02 这份资料的价值在哪里?*

专业背书,系统构建:

  • 本资料由我与鲁为民博士共同整理。鲁博士拥有清华大学学士和美国加州理工学院博士学位,在人工智能领域造诣深厚:

    • 在IEEE Transactions等顶级学术期刊及国际会议发表论文超过50篇。
    • 拥有多项中美发明专利。
    • 荣获吴文俊人工智能科学技术奖(中国人工智能领域重要奖项)。
  • 目前,我有幸与鲁博士共同进行人工智能相关研究。

在这里插入图片描述

内容实用,循序渐进:

  • 资料体系化覆盖了从基础概念入门到核心技术进阶的知识点。

  • 包含丰富的视频教程与实战项目案例,强调动手实践能力。

  • 无论你是初探AI领域的新手,还是已有一定技术基础希望深入大模型的学习者,这份资料都能为你提供系统性的学习路径和宝贵的实践参考,助力你提升技术能力,向大模型相关岗位转型发展。

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

抓住机遇,开启你的AI学习之旅!

在这里插入图片描述

Agent 学习手记(三):Agent开发流程 场景,指的是一个特定的空间、时间或情境,包含了某种活动、事件或行为的发生。定义应用场景的主要目的是提高对特定用户、特定生活或工作情境问题的处理能力,提高产品或服务满意度。Agent是AI技术的场景化应用,天然就带有场景化的属性。因此,在设计Agent之前,有必要对其应用场景进行定义。定义Agent的应用场景通常包括确定Agent的用户群体、Agent的用途、Agent的价值等要素。比如,AI 投标助手,是一个检索并生成投标文件的关键信息的 Agent ,其用户群体。 阅读详情

相关推荐

【Agent】19 种 Agent 架构分析对比

本文通过对 19 种主流 Agent 框架的深度解析,揭示了不同架构在任务处理、协作模式、技术栈等方面的核心差异。开发者在选型时需综合考虑任务复杂度、技术储备、部署环境等因素,优先选择生态成熟度高、扩展性强的框架(如 LangChain、AutoGen)。随着技术的快速演进,未来 Agent 框架将呈现 "专业化分工 + 通用化底座" 的发展趋势,推动智能体从单一任务执行向复杂系统级应用的跨越。(注:本文涉及的框架性能数据基于公开资料整理,实际应用需结合具体场景测试验证。

shuizhudan223的博客 5543

【Agent系列】详细调研总结19种主流Agent框架

详细总结对比19种主流Agent框架

m0_68116052的博客 5万+

Milvus Cloud——Agent 框架工作方式

使用 GPT-4 来生成任务、确定优先级并执行任务,同时使用插件进行互联网浏览和其他访问。AutoGPT 使用外部记忆来跟踪它正在做什么并提供上下文,使其能够评估其情况,生成新任务或自我纠正,并将新任务添加到队列中,然后对其进行优先级排序。也是采取类似工作的方式。Agent 与一般的 LLM 最大的不同点在于,LLM Agent 通常根据任务的总体目标来去指定以及编排子目标,而 LLM 通常是作为一个被调用的工具,在一个工作流中担任一个具体任务的执行者。

实战AI智能体 772

手把手教你从零搭建Agent框架

无论是环境的反馈,还是人类的指令,Agent 都需要完成一个对接收到的信息进行“理解”,并依据得到的理解进行意图识别,转化为下一步任务的过程。真正让人惊讶的是大模型在推理上的能力涌现。推理,一般指根据几个已知的前提推导得出新的结论的过程,区别于理解,推理一般是一个“多步骤”的过程,推理的过程可以形成非常必要的“中间概念”,这些中间概念将辅助复杂问题的求解。不同的智能体有不同的推理提示风格、不同的输入方式以及不同的解析输出方式,依赖于用户对应用的自定义,说白了就是对大模型进行一层封装更方便管理。

ytt0523_com的博客 5780

pix4d安装步骤

pix4d三维模型软件的安装步骤

Little_Bee_27000的博客 1万+

Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么)

Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么) 目录 Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么) 一、简单介绍 二、一些专有项简介 Entity Context Group Collector Matcher System Feature 三、注意实现 四、ECS 的下载 Github 上下载 Unity Asset Store 中下载 U...

仙魁XAN 7780

手把手教你搭建AI Agent框架:从零开始,打造定制化智能系统!

本文详细介绍了一个名为Mofy的AI Agent开发框架的构建过程,包括最小技术栈配置、五大核心模块设计(任务调度器、记忆管理、工具调用系统、反思机制、配置中心)、工具调用可靠性解决方案、状态管理策略、性能优化技巧(记忆分层、批处理、缓存)以及开发中的常见问题解决方案。适合开发者从零开始构建定制化Agent框架,获得对AI系统的深度掌控感。

Trb701012的博客 1043

SD - WAN:企业出海的网络加速器

例如,一家中国的跨境电商企业,在欧美市场的促销活动期间,借助 SD - WAN 技术,即使面对海量订单数据的交互,也能确保欧美客户在浏览商品、下单支付时感受到近乎本地网络的流畅体验,大大提升了客户满意度,稳住了销售增速。企业无需在海外本地部署大量冗余服务器,只需依托云台,借助 SD - WAN 快速稳定的网络连接,即可轻松实现业务拓展,进一步精简运营架构,提升整体效能。在未来,随着技术的不断演进和企业出海需求的持续增长,SD - WAN 将持续赋能,助力更多企业在全球市场扬帆远航,书写辉煌篇章。

idcicp_com的博客 448

从零开始,一步步教你构建Agent框架的完整指南

Agent的核心思想是使用语言模型来选择要采取的一系列操作。在Agent中,语言模型被用作推理引擎来确定要采取哪些操作以及按什么顺序。相比于传统机械或软件被动的“给予输入——>做出输出”的模式,Agent 由于更加强调自主的发现问题、确定目标、构想方案、选择方案、执行方案、检查更新的特性,因此可以被认为是一类拥有“自主智能的实体”,而被广泛称之为智能体。

2401_85325726的博客 1596

了解随机振动疲劳分析中 Ansys nCode DesignLife 的平均应力校正

通过选择静态环境,我们可以将其结果视为疲劳计算的平均应力,如图 3 所示,因此从静态偏移载荷工况中提取的平均应力用于转移预测雨流计数中所有循环的平均值。您可以通过观看下面的教学视频获得宝贵的见解,该视频将指导您完成利用 Ansys nCode DesignLife 分析平均应力对随机振动载荷下结构的影响的过程。它基于 R 比率或平均应力水平。另一方面,平均应力校正可以帮助消除平均应力的负面影响,提高结果的保真度。Ansys nCode 提供先进的平均应力校正技术,使工程师能够考虑平均应力对疲劳寿命的影响。

jkh920184196的博客 1520

IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略

本文深入解析IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略,涵盖其核心特性、硬件电阻调节技巧、I2C动态控制方案、散热设计优化及典型问题排查。IP2315支持多种快充协议,如Type-C PD、华为FCP等,适用于便携设备快速充电需求,并通过I2C实现灵活的充电参数设置,提升充电效率与安全性。

weixin_29248313的博客 540

手把手教你从0搭建一个智能体,全部跟下来你就Agent入门了!(超详细的讲解)

这里先用一小段篇幅带大家快速了解下Coze并进入到指定操作界面。Coze 是字节跳动推出的零代码或低代码智能体开发平台,基于其大模型技术,提供插件系统、长短期记忆、工作流编排等核心能力,支持多模态交互(文本/语音/图像)与多平台发布(如豆包、飞书、Discord),专注构建个人助理、电商客服、内容生成等场景的智能体应用。**Coze网址:**

Python单行客的博客 1245

超级全的PCB LAYOUT高速信号走线指南——简化应用版

在PCB Layout中,几乎涵盖了所有的高速信号走线指南。包括了TF/SD、HDMI、LVDS、DVP、eDP、MIPI、USB2.0、USB3.0、MAC、BT.1120、PCIE高速信号等等。此版本为简化版。

bhxc809751502的博客 8552

保姆级教程!手把手教你从零开始构建一个 ReAct Agent

本文介绍了基于ReAct框架构建AI Agent的核心方法。通过Python代码演示,展示了如何将大语言模型与工具链结合,实现"感知-思考-行动"的闭环流程。主要内容包括:1)Agent四大组件:LLM模型、记忆系统、工具链和提示词模板;2)具体实现步骤:环境配置、工具准备(计算器和狗狗体重查询)、提示词设计及Agent组装;3)实战演示:通过多轮"思考-行动-观察"循环,解决"计算两只狗总重"的问题。该框架使大模型能自主调用工具完成任务,为开发复

ytt0523_com的博客 1722

基于matlab实现的水果识别系统设计

本项目针对多种常见水果混合的图像,利用 Matlab 软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。:水果识别、MATLAB、数字图像处理。

热情、奔放、快乐编程! 4863

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

从零开始创建基于LLM的Agent——modelscope-agent

这是一个专为科研人员设计的论文润色助手,能够以大模型的专业知识来补充用户输入的文字,修正用户语言的语病,逻辑错误,并提供中英双语的论文版本。qwen agent的官方demo由gradio实现,因此我们在本地或者云端部署agent时,也应该了解一些gradio的简单知识:radio是一个用于简化机器学习模型部署的Python库。它的目标是让用户可以轻松地构建交互性的界面,用于与机器学习模型进行交互,而无需深入了解前端和部署的复杂性。使用实例!在这个例子中,表示输入是文本,表示输出也是文本,fn。

q2544048170的博客 6195

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

AI大模型实战教程:从零开始搭建Agent框架,非常详细收藏我这一篇就够了!

无论是环境的反馈,还是人类的指令,Agent 都需要完成一个对接收到的信息进行“理解”,并依据得到的理解进行意图识别,转化为下一步任务的过程。真正让人惊讶的是大模型在推理上的能力涌现。推理,一般指根据几个已知的前提推导得出新的结论的过程,区别于理解,推理一般是一个“多步骤”的过程,推理的过程可以形成非常必要的“中间概念”,这些中间概念将辅助复杂问题的求解。不同的智能体有不同的推理提示风格、不同的输入方式以及不同的解析输出方式,依赖于用户对应用的自定义,说白了就是对大模型进行一层封装更方便管理。

2401_84204413的博客 1910

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 从0到1开发一个商用 Agent(智能体),Agent零基础入门到精通!_零基础开发aiagent 用dify从0到1做智能体
下一篇: AI智能体入门实战:从0到1搭建Agent的超详细保姆级教程
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值