零打造AI助手!5分钟上手大模型智能体开发,小白也能变大神!

什么是智能体(agent) 智能体(Agent)是人工智能领域中的一个核心概念。在最基本的层面上,智能体可以被定义为一个实体,它能够在其所处的环境中自主地感知信息,并根据这些信息做出决策,以实现特定的目标或任务。智能体的关键特性包括自主性、感知能力和决策能力。:智能体能够在没有外部干预的情况下控制其行为。:智能体能够通过传感器或数据输入来感知其环境的状态。:智能体能够处理感知到的信息,并根据一定的决策机制做出响应的行动。智能体的目标可以是简单的,如维持系统稳定,也可以是复杂的,如在多智能体系统中进行协调合作。 阅读详情

第一章:初识智能体

欢迎来到智能体的世界!在人工智能浪潮席卷全球的今天,**智能体(Agent)**已成为驱动技术变革与应用创新的核心概念之一。无论你的志向是成为AI领域的研究者、工程师,还是希望深刻理解技术前沿的观察者,掌握智能体的本质,都将是你知识体系中不可或缺的一环。

因此,在本章,让我们回到原点,一起探讨几个问题:智能体是什么?它有哪些主要的类型?它又是如何与我们所处的世界进行交互的?通过这些讨论,希望能为你未来的学习和探索打下坚实的基础。

图 1.1 智能体与环境的基本交互循环

开源地址:

https://github.com/datawhalechina/Hello-Agents

1.1 什么是智能体?

在探索任何一个复杂概念时,我们最好从一个简洁的定义开始。在人工智能领域,智能体被定义为任何能够通过传感器(Sensors)感知其所处环境(Environment),并自主地通过**执行器(Actuators)采取行动(Action)**以达成特定目标的实体。

这个定义包含了智能体存在的四个基本要素。环境是智能体所处的外部世界。对于自动驾驶汽车,环境是动态变化的道路交通;对于一个交易算法,环境则是瞬息万变的金融市场。智能体并非与环境隔离,它通过其传感器持续地感知环境状态。摄像头、麦克风、雷达或各类**应用程序编程接口(Application Programming Interface, API)**返回的数据流,都是其感知能力的延伸。

获取信息后,智能体需要采取行动来对环境施加影响,它通过执行器来改变环境的状态。执行器可以是物理设备(如机械臂、方向盘)或虚拟工具(如执行一段代码、调用一个服务)。

然而,真正赋予智能体"智能"的,是其自主性(Autonomy)。智能体并非只是被动响应外部刺激或严格执行预设指令的程序,它能够基于其感知和内部状态进行独立决策,以达成其设计目标。这种从感知到行动的闭环,构成了所有智能体行为的基础,如图1.1所示。

1.1.1 传统视角下的智能体

在当前**大语言模型(Large Language Model, LLM)**的热潮出现之前,人工智能的先驱们已经对“智能体”这一概念进行了数十年的探索与构建。这些如今我们称之为“传统智能体”的范式,并非单一的静态概念,而是经历了一条从简单到复杂、从被动反应到主动学习的清晰演进路线。

这个演进的起点,是那些结构最简单的反射智能体(Simple Reflex Agent)。它们的决策核心由工程师明确设计的“条件-动作”规则构成,如图1.2所示。经典的自动恒温器便是如此:若传感器感知的室温高于设定值,则启动制冷系统。

这种智能体完全依赖于当前的感知输入,不具备记忆或预测能力。它像一种数字化的本能,可靠且高效,但也因此无法应对需要理解上下文的复杂任务。它的局限性引出了一个关键问题:如果环境的当前状态不足以作为决策的全部依据,智能体该怎么办?

图 1.2 简单反射智能体的决策逻辑示意图

为了回答这个问题,研究者们引入了“状态”的概念,发展出基于模型的反射智能体(Model-Based Reflex Agent)。这类智能体拥有一个内部的世界模型(World Model),用于追踪和理解环境中那些无法被直接感知的方面。它试图回答:“世界现在是什么样子的?”。例如,一辆在隧道中行驶的自动驾驶汽车,即便摄像头暂时无法感知到前方的车辆,它的内部模型依然会维持对那辆车存在、速度和预估位置的判断。这个内部模型让智能体拥有了初级的“记忆”,使其决策不再仅仅依赖于瞬时感知,而是基于一个更连贯、更完整的世界状态理解。

然而,仅仅理解世界还不够,智能体需要有明确的目标。这促进了**基于目标的智能体(Goal-Based Agent)**的发展。与前两者不同,它的行为不再是被动地对环境做出反应,而是主动地、有预见性地选择能够导向某个特定未来状态的行动。这类智能体需要回答的问题是:“我应该做什么才能达成目标?”。经典的例子是GPS导航系统:你的目标是到达公司,智能体会基于地图数据(世界模型),通过搜索算法(如A*算法)来规划(Planning)出一条最优路径。这类智能体的核心能力体现在了对未来的考量与规划上。

更进一步,现实世界的目标往往不是单一的。我们不仅希望到达公司,还希望时间最短、路程最省油并且避开拥堵。当多个目标需要权衡时,**基于效用的智能体(Utility-Based Agent)**便随之出现。它为每一个可能的世界状态都赋予一个效用值,这个值代表了满意度的高低。智能体的核心目标不再是简单地达成某个特定状态,而是最大化期望效用。它需要回答一个更复杂的问题:“哪种行为能为我带来最满意的结果?”。这种架构让智能体学会在相互冲突的目标之间进行权衡,使其决策更接近人类的理性选择。

至此,我们讨论的智能体虽然功能日益复杂,但其核心决策逻辑,无论是规则、模型还是效用函数,依然依赖于人类设计师的先验知识。如果智能体能不依赖预设,而是通过与环境的互动自主学习呢?

这便是**学习型智能体(Learning Agent)的核心思想,而强化学习(Reinforcement Learning, RL)**是实现这一思想最具代表性的路径。一个学习型智能体包含一个性能元件(即我们前面讨论的各类智能体)和一个学习元件。学习元件通过观察性能元件在环境中的行动所带来的结果来不断修正性能元件的决策策略。

想象一个学习下棋的AI。它开始时可能只是随机落子,当它最终赢下一局时,系统会给予它一个正向的奖励。通过大量的自我对弈,学习元件会逐渐发现哪些棋路更有可能导向最终的胜利。AlphaGo是这一理念的一个里程碑式的成就。它在围棋这一复杂博弈中,通过强化学习发现了许多超越人类既有知识的有效策略。

从简单的恒温器,到拥有内部模型的汽车,再到能够规划路线的导航、懂得权衡利弊的决策者,最终到可以通过经验自我进化的学习者。这条演进之路,展示了传统人工智能在构建机器智能的道路上所经历的发展脉络。它们为我们今天理解更前沿的智能体范式,打下了坚实而必要的基础。

1.1.2 大语言模型驱动的新范式

以**GPT(Generative Pre-trained Transformer)**为代表的大语言模型的出现,正在显著改变智能体的构建方法与能力边界。由大语言模型驱动的LLM智能体,其核心决策机制与传统智能体存在本质区别,从而赋予了其一系列全新的特性。

这种转变,可以从两者在核心引擎、知识来源、交互方式等多个维度的对比中清晰地看出,如表1.1所示。简而言之,传统智能体的能力源于工程师的显式编程与知识构建,其行为模式是确定且有边界的;而LLM智能体则通过在海量数据上的预训练,获得了隐式的世界模型与强大的涌现能力,使其能够以更灵活、更通用的方式应对复杂任务。

表 1.1 传统智能体与LLM驱动智能体的核心对比

这种差异使得LLM智能体可以直接处理高层级、模糊且充满上下文信息的自然语言指令。让我们以一个“智能旅行助手”为例来说明。

在LLM智能体出现之前,规划旅行通常意味着用户需要在多个专用应用(如天气、地图、预订网站)之间手动切换,并由用户自己扮演信息整合与决策的角色。而一个LLM智能体则能将这个流程整合起来。当接收到“规划一次厦门之旅”这样的模糊指令时,它的工作方式体现了以下几点:

  • 规划与推理:智能体首先会将这个高层级目标分解为一系列逻辑子任务,例如:[确认出行偏好] -> [查询目的地信息] -> [制定行程草案] -> [预订票务住宿]。这是一个内在的、由模型驱动的规划过程。
  • 工具使用:在执行规划时,智能体识别到信息缺口,会主动调用外部工具来补全。例如,它会调用天气查询接口获取实时天气,并基于“预报有雨”这一信息,在后续规划中倾向于推荐室内活动。
  • 动态修正:在交互过程中,智能体会将用户的反馈(如“这家酒店超出预算”)视为新的约束,并据此调整后续的行动,重新搜索并推荐符合新要求的选项。整个“查天气 → 调行程 → 订酒店”的流程,展现了其根据上下文动态修正自身行为的能力。

总而言之,我们正从开发专用自动化工具转向构建能自主解决问题的系统。核心不再是编写代码,而是引导一个通用的“大脑”去规划、行动和学习。

1.1.3 智能体的类型

继上文回顾智能体的演进后,本节将从三个互补的维度对智能体进行分类。

1)基于内部决策架构的分类

第一种分类维度是依据智能体内部决策架构的复杂程度,这个视角在《Artificial Intelligence: A Modern Approach》中系统性地提出[1]。正如 1.1.1 节所述,传统智能体的演进路径本身就构成了最经典的分类阶梯,它涵盖了从简单的反应式智能体,到引入内部模型的模型式智能体,再到更具前瞻性的基于目标和基于效用的智能体。此外,学习能力则是一种可赋予上述所有类型的元能力,使其能通过经验自我改进。

2)基于时间与反应性的分类

除了内部架构的复杂性,还可以从智能体处理决策的时间维度进行分类。这个视角关注智能体是在接收到信息后立即行动,还是会经过深思熟虑的规划再行动。这揭示了智能体设计中一个核心权衡:追求速度的**反应性(Reactivity)与追求最优解的规划性(Deliberation)**之间的平衡,如图1.3所示。

图 1.3 智能体决策时间与质量关系图

  • 反应式智能体 (Reactive Agents)

这类智能体对环境刺激做出近乎即时的响应,决策延迟极低。它们通常遵循从感知到行动的直接映射,不进行或只进行极少的未来规划。上文的简单反应式和基于模型的智能体都属于此类别。

其核心优势在于速度快、计算开销低,这在需要快速决策的动态环境中至关重要。例如,车辆的安全气囊系统必须在碰撞发生的毫秒内做出反应,任何延迟都可能导致严重后果;同样,高频交易机器人也必须依赖反应式决策来捕捉稍纵即逝的市场机会。然而,这种速度的代价是“短视”,由于缺乏长远规划,反应式智能体容易陷入局部最优,难以完成需要多步骤协调的复杂任务。

  • 规划式智能体(Deliberative Agents)

与反应式智能体相对,规划式(或称审议式)智能体在行动前会进行复杂的思考和规划。它们不会立即对感知做出反应,而是会先利用其内部的世界模型,系统地探索未来的各种可能性,评估不同行动序列的后果,以期找到一条能够达成目标的最佳路径 。基于目标和基于效用的智能体是典型的规划式智能体。

可以将其决策过程类比为一位棋手。他不会只看眼前的一步,而是会预想对手可能的应对,并规划出后续几步甚至十几步的棋路。这种深思熟虑的能力使其能够处理复杂的、需要长远眼光的任务,例如制定一份商业计划或规划一次长途旅行。它们的优势在于决策的战略性和远见。然而,这种优势的另一面是高昂的时间和计算成本。在瞬息万变的环境中,当规划式智能体还在深思熟虑时,采取行动的最佳时机可能早已过去。

  • 混合式智能体(Hybrid Agents)

现实世界的复杂任务,往往既需要即时反应,也需要长远规划。例如,我们之前提到的智能旅行助手,既要能根据用户的即时反馈(如“这家酒店太贵了”)调整推荐(反应性),又要能规划出为期数天的完整旅行方案(规划性)。因此,混合式智能体应运而生,它旨在结合两者的优点,实现反应与规划的平衡。

一种经典的混合架构是分层设计:底层是一个快速的反应模块,处理紧急情况和基本动作;高层则是一个审慎的规划模块,负责制定长远目标。而现代的LLM智能体,则展现了一种更灵活的混合模式。它们通常在一个“思考-行动-观察”的循环中运作,巧妙地将两种模式融为一体:

  • 规划(Reasoning) :在“思考”阶段,LLM分析当前状况,规划出下一步的合理行动。这是一个审议过程。
  • 反应(Acting & Observing) :在“行动”和“观察”阶段,智能体与外部工具或环境交互,并立即获得反馈。这是一个反应过程。

通过这种方式,智能体将一个需要长远规划的宏大任务,分解为一系列“规划-反应”的微循环。这使其既能灵活应对环境的即时变化,又能通过连贯的步骤,最终完成复杂的长期目标。

3)基于知识表示的分类

这是一个更根本的分类维度,它探究智能体用以决策的知识,究竟是以何种形式存于其“思想”之中。这个问题是人工智能领域一场持续半个多世纪的辩论核心,并塑造了两种截然不同的AI文化。

  • 符号主义AI(Symbolic AI)

符号主义,常被称为传统人工智能,其核心信念是:智能源于对符号的逻辑操作。这里的符号是人类可读的实体(如词语、概念),操作则遵循严格的逻辑规则,如图1.4左侧所示。这好比一位一丝不苟的图书管理员,将世界知识整理为清晰的规则库和知识图谱。

其主要优势在于透明和可解释。由于推理步骤明确,其决策过程可以被完整追溯,这在金融、医疗等高风险领域至关重要。然而,其“阿喀琉斯之踵”在于脆弱性:它依赖于一个完备的规则体系,但在充满模糊和例外的现实世界中,任何未被覆盖的新情况都可能导致系统失灵,这就是所谓的“知识获取瓶颈”。

  • 亚符号主义AI(Sub-symbolic AI)

亚符号主义,或称连接主义,则提供了一幅截然不同的图景。在这里,知识并非显式的规则,而是内隐地分布在一个由大量神经元组成的复杂网络中,是从海量数据中学习到的统计模式。神经网络和深度学习是其代表。

如图1.4中间所示,如果说符号主义AI是图书管理员,那么亚符号主义AI就像一个牙牙学语的孩童 。他不是通过学习“猫有四条腿、毛茸茸、会喵喵叫”这样的规则来认识猫的,而是在看过成千上万张猫的图片后,大脑中的神经网络能辨识出“猫”这个概念的视觉模式 。这种方法的强大之处在于其模式识别能力和对噪声数据的鲁棒性 。它能够轻松处理图像、声音等非结构化数据,这在符号主义AI看来是极其困难的任务。

然而,这种强大的直觉能力也伴随着不透明性。亚符号主义系统通常被视为一个黑箱(Black Box)。它能以惊人的准确率识别出图片中的猫,但你若问它“为什么你认为这是猫?”,它很可能无法给出一个合乎逻辑的解释。此外,它在纯粹的逻辑推理任务上表现不佳,有时会产生看似合理却事实错误的幻觉。

  • 神经符号主义AI(Neuro-Symbolic AI)

长久以来,符号主义和亚符号主义这两大阵营如同两条平行线,各自发展。为克服上述两种范式的局限,一种“大和解”的思想开始兴起,这就是神经符号主义AI,也称神经符号混合主义。它的目标,是融合两大范式的优点,创造出一个既能像神经网络一样从数据中学习,又能像符号系统一样进行逻辑推理的混合智能体。它试图弥合感知与认知、直觉与理性之间的鸿沟。诺贝尔经济学奖得主丹尼尔·卡尼曼(Daniel Kahneman)在其著作《思考,快与慢》(Thinking, Fast and Slow)中提出的双系统理论,为我们理解神经符号主义提供了一个绝佳的类比[2],如图1.4所示:

  • 系统1是快速、凭直觉、并行的思维模式,类似于亚符号主义AI强大的模式识别能力。
  • 系统2是缓慢、有条理、基于逻辑的审慎思维,恰如符号主义AI的推理过程。

图 1.4 符号主义、亚符号主义与神经符号混合主义的知识表示范式

人类的智能,正源于这两个系统的协同工作。同样,一个真正鲁棒的AI,也需要兼具二者之长。大语言模型驱动的智能体是神经符号主义的一个极佳实践范例。其内核是一个巨大的神经网络,使其具备模式识别和语言生成能力。然而,当它工作时,它会生成一系列结构化的中间步骤,如思想、计划或API调用,这些都是明确的、可操作的符号。通过这种方式,它实现了感知与认知、直觉与理性的初步融合。

1.2 智能体的构成与运行原理

1.2.1 任务环境定义

要理解智能体的运作,我们必须先理解它所处的任务环境。在人工智能领域,通常使用PEAS模型来精确描述一个任务环境,即分析其性能度量(Performance)、环境(Environment)、执行器(Actuators)和传感器(Sensors) 。以上文提到的智能旅行助手为例,下表1.2展示了如何运用PEAS模型对其任务环境进行规约。

表 1.2 智能旅行助手的PEAS描述

在实践中,LLM智能体所处的数字环境展现出若干复杂特性,这些特性直接影响着智能体的设计。

首先,环境通常是部分可观察的。例如,旅行助手在查询航班时,无法一次性获取所有航空公司的全部实时座位信息。它只能通过调用航班预订API,看到该API返回的部分数据,这就要求智能体必须具备记忆(记住已查询过的航线)和探索(尝试不同的查询日期)的能力。

其次,行动的结果也并非总是确定的。根据结果的可预测性,环境可分为确定性和随机性。旅行助手的任务环境就是典型的随机性环境。当它搜索票价时,两次相邻的调用返回的机票价格和余票数量都可能不同,这就要求智能体必须具备处理不确定性、监控变化并及时决策的能力。

此外,环境中还可能存在其他行动者,从而形成多智能体(Multi-agent) 环境。对于旅行助手而言,其他用户的预订行为、其他自动化脚本,甚至航司的动态调价系统,都是环境中的其他“智能体”。它们的行动(例如,订走最后一张特价票)会直接改变旅行助手所处环境的状态,这对智能体的快速响应和策略选择提出了更高要求。

最后,几乎所有任务都发生在序贯且动态的环境中。“序贯”意味着当前动作会影响未来;而“动态”则意味着环境自身可能在智能体决策时发生变化。这就要求智能体的“感知-思考-行动-观察”循环必须能够快速、灵活地适应持续变化的世界。

1.2.2 智能体的运行机制

在定义了智能体所处的任务环境后,我们来探讨其核心的运行机制。智能体并非一次性完成任务,而是通过一个持续的循环与环境进行交互,这个核心机制被称为 智能体循环 (Agent Loop)。如图1.5所示,该循环描述了智能体与环境之间的动态交互过程,构成了其自主行为的基础。

图 1.5 智能体与环境交互的基本循环

这个循环主要包含以下几个相互关联的阶段:

  1. 感知 (Perception):这是循环的起点。智能体通过其传感器(例如,API的监听端口、用户输入接口)接收来自环境的输入信息。这些信息,即观察 (Observation),既可以是用户的初始指令,也可以是上一步行动所导致的环境状态变化反馈。
  2. 思考 (Thought):接收到观察信息后,智能体进入其核心决策阶段。对于LLM智能体而言,这通常是由大语言模型驱动的内部推理过程。如图所示,“思考”阶段可进一步细分为两个关键环节:
  • 规划 (Planning):智能体基于当前的观察和其内部记忆,更新对任务和环境的理解,并制定或调整一个行动计划。这可能涉及将复杂目标分解为一系列更具体的子任务。
  • 工具选择 (Tool Selection):根据当前计划,智能体从其可用的工具库中,选择最适合执行下一步骤的工具,并确定调用该工具所需的具体参数。
  1. 行动 (Action):决策完成后,智能体通过其执行器(Actuators)执行具体的行动。这通常表现为调用一个选定的工具(如代码解释器、搜索引擎API),从而对环境施加影响,意图改变环境的状态。

行动并非循环的终点。智能体的行动会引起环境 (Environment) 的状态变化 (State Change),环境随即会产生一个新的观察 (Observation) 作为结果反馈。这个新的观察又会在下一轮循环中被智能体的感知系统捕获,形成一个持续的“感知-思考-行动-观察”的闭环。智能体正是通过不断重复这一循环,逐步推进任务,从初始状态向目标状态演进。

1.2.3 智能体的感知与行动

在工程实践中,为了让LLM能够有效驱动这个循环,我们需要一套明确的交互协议 (Interaction Protocol) 来规范其与环境之间的信息交换。

在许多现代智能体框架中,这一协议体现在对智能体每一次输出的结构化定义上。智能体的输出不再是单一的自然语言回复,而是一段遵循特定格式的文本,其中明确地展示了其内部的推理过程与最终决策。

这个结构通常包含两个核心部分:

  • Thought (思考):这是智能体内部决策的“快照”。它以自然语言形式阐述了智能体如何分析当前情境、回顾上一步的观察结果、进行自我反思与问题分解,并最终规划出下一步的具体行动。
  • Action (行动):这是智能体基于思考后,决定对环境施加的具体操作,通常以函数调用的形式表示。

例如,一个正在规划旅行的智能体可能会生成如下格式化的输出:

Thought: 用户想知道北京的天气。我需要调用天气查询工具。Action: get_weather("北京")

这里的Action字段构成了对外部世界的指令。一个外部的解析器 (Parser) 会捕捉到这个指令,并调用相应的get_weather函数。

行动执行后,环境会返回一个结果。例如,get_weather函数可能返回一个包含详细天气数据的JSON对象。然而,原始的机器可读数据(如JSON)通常包含LLM无需关注的冗余信息,且格式不符合其自然语言处理的习惯。

因此,感知系统的一个重要职责就是扮演传感器的角色:将这个原始输出处理并封装成一段简洁、清晰的自然语言文本,即观察。

Observation: 北京当前天气为晴,气温25摄氏度,微风。

这段Observation文本会被反馈给智能体,作为下一轮循环的主要输入信息,供其进行新一轮的Thought和Action。

综上所述,通过这个由Thought、Action、Observation构成的严谨循环,LLM智能体得以将内部的语言推理能力,与外部环境的真实信息和工具操作能力有效地结合起来。

1.3 动手体验:5 分钟实现第一个智能体

在前面的小节,我们学习了智能体的任务环境、核心运行机制以及Thought-Action-Observation交互范式。理论知识固然重要,但最好的学习方式是亲手实践。在本节中,我们将引导您使用几行简单的Python代码,从零开始构建一个可以工作的智能旅行助手。这个过程将遵循我们刚刚学到的理论循环,让您直观地感受到一个智能体是如何“思考”并与外部“工具”互动的。让我们开始吧!

在本案例中,我们的目标是构建一个能处理分步任务的智能旅行助手。需要解决的用户任务定义为:"你好,请帮我查询一下今天北京的天气,然后根据天气推荐一个合适的旅游景点。"要完成这个任务,智能体必须展现出清晰的逻辑规划能力。它需要先调用天气查询工具,并将获得的观察结果作为下一步的依据。在下一轮循环中,它再调用景点推荐工具,从而得出最终建议。

1.3.1 准备工作

为了能从Python程序中访问网络API,我们需要一个HTTP库。requests是Python社区中最流行、最易用的选择。tavily-python是一个强大的AI搜索API客户端,用于获取实时的网络搜索结果,可以在官网注册后获取API。openai是OpenAI官方提供的Python SDK,用于调用GPT等大语言模型服务。请先通过以下命令安装它们:

pip install requests tavily-python openai

1)指令模板

驱动真实LLM的关键在于提示工程(Prompt Engineering)。我们需要设计一个“指令模板”,告诉LLM它应该扮演什么角色、拥有哪些工具、以及如何格式化它的思考和行动。这是我们智能体的“说明书”,它将作为system_prompt传递给LLM。

AGENT_SYSTEM_PROMPT = """你是一个智能旅行助手。你的任务是分析用户的请求,并使用可用工具一步步地解决问题。# 可用工具:- `get_weather(city: str)`: 查询指定城市的实时天气。- `get_attraction(city: str, weather: str)`: 根据城市和天气搜索推荐的旅游景点。# 行动格式:你的回答必须严格遵循以下格式。首先是你的思考过程,然后是你要执行的具体行动。Thought: [这里是你的思考过程和下一步计划]Action: [这里是你要调用的工具,格式为 function_name(arg_name="arg_value")]# 任务完成:当你收集到足够的信息,能够回答用户的最终问题时,你必须使用 `finish(answer="...")` 来输出最终答案。请开始吧!"""

2)工具1:查询真实天气

我们将使用免费的天气查询服务wttr.in,它能以JSON格式返回指定城市的天气数据。下面是实现该工具的代码:

import requestsimport jsondefget_weather(city: str) -> str:    """    通过调用 wttr.in API 查询真实的天气信息。    """    # API端点,我们请求JSON格式的数据    url = f"https://wttr.in/{city}?format=j1"        try:        # 发起网络请求        response = requests.get(url)        # 检查响应状态码是否为200 (成功)        response.raise_for_status()         # 解析返回的JSON数据        data = response.json()                # 提取当前天气状况        current_condition = data['current_condition'][0]        weather_desc = current_condition['weatherDesc'][0]['value']        temp_c = current_condition['temp_C']                # 格式化成自然语言返回        returnf"{city}当前天气:{weather_desc},气温{temp_c}摄氏度"            except requests.exceptions.RequestException as e:        # 处理网络错误        returnf"错误:查询天气时遇到网络问题 - {e}"    except (KeyError, IndexError) as e:        # 处理数据解析错误        returnf"错误:解析天气数据失败,可能是城市名称无效 - {e}"

3)工具2:搜索并推荐旅游景点

我们将定义一个新工具search_attraction,它会根据城市和天气状况,互联网上搜索合适的景点:

import osfrom tavily import TavilyClientdefget_attraction(city: str, weather: str) -> str:    """    根据城市和天气,使用Tavily Search API搜索并返回优化后的景点推荐。    """    # 1. 从环境变量中读取API密钥    api_key = os.environ.get("TAVILY_API_KEY")    ifnot api_key:        return"错误:未配置TAVILY_API_KEY环境变量。"    # 2. 初始化Tavily客户端    tavily = TavilyClient(api_key=api_key)        # 3. 构造一个精确的查询    query = f"'{city}' 在'{weather}'天气下最值得去的旅游景点推荐及理由"        try:        # 4. 调用API,include_answer=True会返回一个综合性的回答        response = tavily.search(query=query, search_depth="basic", include_answer=True)                # 5. Tavily返回的结果已经非常干净,可以直接使用        # response['answer'] 是一个基于所有搜索结果的总结性回答        if response.get("answer"):            return response["answer"]                # 如果没有综合性回答,则格式化原始结果        formatted_results = []        for result in response.get("results", []):            formatted_results.append(f"- {result['title']}: {result['content']}")                ifnot formatted_results:             return"抱歉,没有找到相关的旅游景点推荐。"        return"根据搜索,为您找到以下信息:\n" + "\n".join(formatted_results)    except Exception as e:        returnf"错误:执行Tavily搜索时出现问题 - {e}"

最后,我们将所有工具函数放入一个字典,供主循环调用:

# 将所有工具函数放入一个字典,方便后续调用available_tools = {    "get_weather": get_weather,    "get_attraction": get_attraction,}

1.3.2 接入大语言模型

当前,许多LLM服务提供商(包括OpenAI、Azure、以及众多开源模型服务框架如Ollama、vLLM等)都遵循了与OpenAI API相似的接口规范。这种标准化为开发者带来了极大的便利。智能体的自主决策能力来源于LLM。我们将实现一个通用的客户端OpenAICompatibleClient,它可以连接到任何兼容OpenAI接口规范的LLM服务。

from openai import OpenAIclassOpenAICompatibleClient:    """    一个用于调用任何兼容OpenAI接口的LLM服务的客户端。    """    def__init__(self, model: str, api_key: str, base_url: str):        self.model = model        self.client = OpenAI(api_key=api_key, base_url=base_url)    defgenerate(self, prompt: str, system_prompt: str) -> str:        """调用LLM API来生成回应。"""        print("正在调用大语言模型...")        try:            messages = [                {'role': 'system', 'content': system_prompt},                {'role': 'user', 'content': prompt}            ]            response = self.client.chat.completions.create(                model=self.model,                messages=messages,                stream=False            )            answer = response.choices[0].message.content            print("大语言模型响应成功。")            return answer        except Exception as e:            print(f"调用LLM API时发生错误: {e}")            return"错误:调用语言模型服务时出错。"

要实例化此类,您需要提供三个信息:API_KEY、BASE_URL和 MODEL_ID,具体值取决于您使用的服务商(如OpenAI官方、Azure、或Ollama等本地模型),如果暂时没有渠道获取,可以参考Datawhale另一本教程的1.2 API设置。

1.3.3 执行行动循环

下面的主循环将整合所有组件,并通过格式化后的Prompt驱动LLM进行决策。

import re# --- 1. 配置LLM客户端 ---# 请根据您使用的服务,将这里替换成对应的凭证和地址API_KEY = "YOUR_API_KEY"BASE_URL = "YOUR_BASE_URL"MODEL_ID = "YOUR_MODEL_ID"TAVILY_API_KEY="YOUR_Tavily_KEY"os.environ['TAVILY_API_KEY'] = "YOUR_TAVILY_API_KEY"llm = OpenAICompatibleClient(    model=MODEL_ID,    api_key=API_KEY,    base_url=BASE_URL)# --- 2. 初始化 ---user_prompt = "你好,请帮我查询一下今天北京的天气,然后根据天气推荐一个合适的旅游景点。"prompt_history = [f"用户请求: {user_prompt}"]print(f"用户输入: {user_prompt}\n" + "="*40)# --- 3. 运行主循环 ---for i in range(5): # 设置最大循环次数    print(f"--- 循环 {i+1} ---\n")        # 3.1. 构建Prompt    full_prompt = "\n".join(prompt_history)        # 3.2. 调用LLM进行思考    llm_output = llm.generate(full_prompt, system_prompt=AGENT_SYSTEM_PROMPT)    print(f"模型输出:\n{llm_output}\n")    prompt_history.append(llm_output)        # 3.3. 解析并执行行动    action_match = re.search(r"Action: (.*)", llm_output, re.DOTALL)    ifnot action_match:        print("解析错误:模型输出中未找到 Action。")        break    action_str = action_match.group(1).strip()    if action_str.startswith("finish"):        final_answer = re.search(r'finish\(answer="(.*)"\)', action_str).group(1)        print(f"任务完成,最终答案: {final_answer}")        break        tool_name = re.search(r"(\w+)\(", action_str).group(1)    args_str = re.search(r"\((.*)\)", action_str).group(1)    kwargs = dict(re.findall(r'(\w+)="([^"]*)"', args_str))    if tool_name in available_tools:        observation = available_tools[tool_name](**kwargs)    else:        observation = f"错误:未定义的工具 '{tool_name}'"    # 3.4. 记录观察结果    observation_str = f"Observation: {observation}"    print(f"{observation_str}\n" + "="*40)    prompt_history.append(observation_str)

通过以上步骤,我们构建了一个完整的、由真实LLM驱动的智能体。其核心在于“工具”和“提示工程”的结合,这正是当前主流智能体框架(如LangChain、LlamaIndex等)的设计精髓。

1.3.4 运行案例分析

以下输出完整地展示了一个成功的智能体执行流程。通过对这个三轮循环的分析,我们可以清晰地看到智能体解决问题的核心能力。

用户输入: 你好,请帮我查询一下今天北京的天气,然后根据天气推荐一个合适的旅游景点。========================================--- 循环 1 ---正在调用大语言模型...大语言模型响应成功。模型输出:Thought: 首先需要获取北京今天的天气情况,之后再根据天气情况来推荐旅游景点。Action: get_weather(city="北京")Observation: 北京当前天气:Sunny,气温26摄氏度========================================      --- 循环 2 ---正在调用大语言模型...大语言模型响应成功。模型输出:Thought: 现在已经知道了北京今天的天气是晴朗且温度适中,接下来可以基于这个信息来推荐一个适合的旅游景点了。Action: get_attraction(city="北京", weather="Sunny")Observation: 北京在晴天最值得去的旅游景点是颐和园,因其美丽的湖景和古建筑。另一个推荐是长城,因其壮观的景观和历史意义。========================================--- 循环 3 ---正在调用大语言模型...大语言模型响应成功。模型输出:Thought: 已经获得了两个适合晴天游览的景点建议,现在可以根据这些信息给用户提供满意的答复。Action: finish(answer="今天北京的天气是晴朗的,气温26摄氏度,非常适合外出游玩。我推荐您去颐和园欣赏美丽的湖景和古建筑,或者前往长城体验其壮观的景观和深厚的历史意义。希望您有一个愉快的旅行!")任务完成,最终答案: 今天北京的天气是晴朗的,气温26摄氏度,非常适合外出游玩。我推荐您去颐和园欣赏美丽的湖景和古建筑,或者前往长城体验其壮观的景观和深厚的历史意义。希望您有一个愉快的旅行!

这个简单的旅行助手案例,集中演示了基于Thought-Action-Observation范式的智能体所具备的四项基本能力:任务分解、工具调用、上下文理解和结果合成。正是通过这个循环的不断迭代,智能体才得以将一个模糊的用户意图,转化为一系列具体、可执行的步骤,并最终达成目标。

1.4 智能体应用的协作模式

上一节,我们通过亲手构建一个智能体,深入理解了其内部的运作循环。不过在更广泛的应用场景中,我们的角色正越来越多地转变为使用者与协作者。基于智能体在任务中的角色和自主性程度,其协作模式主要分为两种:一种是作为高效工具,深度融入我们的工作流;另一种则是作为自主的协作者,与其他智能体协作完成复杂目标。

1.4.1 作为开发者工具的智能体

在这种模式下,智能体被深度集成到开发者的工作流中,作为一种强大的辅助工具。它增强而非取代开发者的角色,通过自动化处理繁琐、重复的任务,让开发者能更专注于创造性的核心工作。这种人机协同的方式,极大地提升了软件开发的效率与质量。

目前,市场上涌现了多款优秀的AI编程辅助工具,它们虽然均能提升开发效率,但在实现路径和功能侧重上各有千秋:

  • GitHubCopilot: 作为该领域最具影响力的产品之一,Copilot 由 GitHub 与 OpenAI 联合开发。它深度集成于 Visual Studio Code等主流编辑器中,以其强大的代码自动补全能力而闻名。开发者在编写代码时,Copilot 能实时提供整行甚至整个函数块的建议。近年来,它也通过 Copilot Chat 扩展了对话式编程的能力,允许开发者在编辑器内通过聊天解决编程问题。
  • Claude Code: Claude Code 是由 Anthropic 开发的 AI 编程助手,旨在通过自然语言指令帮助开发者在终端中高效地完成编码任务。它能够理解完整的代码库结构,执行代码编辑、测试和调试等操作,支持从描述功能到代码实现的全流程开发。Claude Code 还提供了无交互(headless)模式,适用于 CI、pre-commit hooks、构建脚本和其他自动化场景,为开发者提供了强大的命令行编程体验。
  • Trae: 作为新兴的 AI 编程工具,Trae 专注于为开发者提供智能化的代码生成和优化服务。它通过深度学习技术分析代码模式,能够为开发者提供精准的代码建议和自动化重构方案。Trae 的特色在于其轻量级的设计和快速响应能力,特别适合需要频繁迭代和快速原型开发的场景。
  • Cursor: 与上述主要作为插件或集成功能存在的工具不同,Cursor 则选择了一条更具整合性的路径,它本身就是一个AI原生的代码编辑器。它并非在现有编辑器上增加AI功能,而是在设计之初就将AI交互作为核心。除了具备顶级的代码生成和聊天能力外,它更强调让AI理解整个代码库的上下文,从而实现更深层次的问答、重构和调试。

当然还有许多优秀的工具没有例举,不过它们共同指向了一个明确的趋势:AI 正在深度融入软件开发的全生命周期,通过构建高效的人机协同工作流,深刻地重塑着软件工程的效率边界与开发范式。

1.4.2 作为自主协作者的智能体

与作为工具辅助人类不同,第二种交互模式将智能体的自动化程度提升到了一个全新的层次,自主协作者。在这种模式下,我们不再是手把手地指导AI完成每一步,而是将一个高层级的目标委托给它。智能体会像一个真正的项目成员一样,独立地进行规划、推理、执行和反思,直到最终交付成果。这种从助手到协作者的转变,使得LLM智能体更深的进入了大众的视野。它标志着我们与AI的关系从“命令-执行”演变为“目标-委托”。智能体不再是被动的工具,而是主动的目标追求者。

当前,实现这种自主协作的思路百花齐放,涌现了大量优秀的框架和产品,从早期的 BabyAGI、AutoGPT,到如今更为成熟的 CrewAI、AutoGen、MetaGPT、LangGraph 等优秀框架,共同推动着这一领域的高速发展。虽然具体实现千差万别,但它们的架构范式大致可以归纳为几个主流方向:

  1. 单智能体自主循环:这是早期的典型范式,如 AgentGPT 所代表的模式。其核心是一个通用智能体通过“思考-规划-执行-反思”的闭环,不断进行自我提示和迭代,以完成一个开放式的高层级目标。
  2. 多智能体协作:这是当前最主流的探索方向,旨在通过模拟人类团队的协作模式来解决复杂问题。它又可细分为不同模式: 角色扮演式对话:如 CAMEL 框架,通过为两个智能体(例如,“程序员”和“产品经理”)设定明确的角色和沟通协议,让它们在一个结构化的对话中协同完成任务。 组织化工作流:如 MetaGPT 和 CrewAI,它们模拟一个分工明确的“虚拟团队”(如软件公司或咨询小组)。每个智能体都有预设的职责和工作流程(SOP),通过层级化或顺序化的方式协作,产出高质量的复杂成果(如完整的代码库或研究报告)。AutoGen 和 AgentScope 则提供了更灵活的对话模式,允许开发者自定义智能体间的复杂交互网络。
  3. 高级控制流架构:诸如 LangGraph 等框架,则更侧重于为智能体提供更强大的底层工程基础。它将智能体的执行过程建模为状态图(State Graph),从而能更灵活、更可靠地实现循环、分支、回溯以及人工介入等复杂流程。

这些不同的架构范式,共同推动着自主智能体从理论构想走向更广泛的实际应用,使其有能力应对日益复杂的真实世界任务。在我们的后续章节中,也会感受不同类型框架之间的差异和优势。

1.4.3 Workflow和Agent的差异

在理解了智能体作为“工具”和“协作者”两种模式后,我们有必要对Workflow和Agent的差异展开讨论,尽管它们都旨在实现任务自动化,但其底层逻辑、核心特征和适用场景却截然不同。

简单来说,Workflow 是让 AI 按部就班地执行指令,而 Agent 则是赋予 AI 自由度去自主达成目标。

图 1.6 Workflow和Agent的差异

如图1.6所示,工作流是一种传统的自动化范式,其核心是对一系列任务或步骤进行预先定义的、结构化的编排。它本质上是一个精确的、静态的流程图,规定了在何种条件下、以何种顺序执行哪些操作。一个典型的案例:某企业的费用报销审批流程。员工提交报销单(触发)-> 如果金额小于500元,直接由部门经理审批 -> 如果金额大于500元,先由部门经理审批,再流转至财务总监审批 -> 审批通过后,通知财务部打款。整个过程的每一步、每一个判断条件都被精确地预先设定。

与工作流不同,基于大型语言模型的智能体是一个具备自主性的、以目标为导向的系统。它不仅仅是执行预设指令,而是能够在一定程度上理解环境、进行推理、制定计划,并动态地采取行动以达成最终目标。LLM在其中扮演着“大脑”的角色。一个典型的例子,便是我们在1.3节中写的智能旅行助手。当我们向它下达一个新指令,例如:“你好,请帮我查询一下今天北京的天气,然后根据天气推荐一个合适的旅游景点。” 它的处理过程充分展现了其自主性:

  1. **规划与工具调用:**Agent首先会把任务拆解为两个步骤:① 查询天气;② 基于天气推荐景点。随即,它会自主选择并调用“天气查询API”,并将“北京”作为参数传入。
  2. **推理与决策:**假设API返回结果为“晴朗,微风”。Agent的LLM大脑会基于这个信息进行推理:“晴天适合户外活动”。接着,它会根据这个判断,在它的知识库或通过搜索引擎这个工具中,筛选出北京的户外景点,如故宫、颐和园、天坛公园等。
  3. **生成结果:**最后,Agent会综合信息,给出一个完整的、人性化的回答:“今天北京天气晴朗,微风,非常适合户外游玩。为您推荐前往【颐和园】,您可以在昆明湖上泛舟,欣赏美丽的皇家园林景色。”

在这个过程中,没有任何写死的if天气=晴天 then 推荐颐和园的规则。如果天气是“雨天”,Agent会自主推理并推荐国家博物馆、首都博物馆等室内场所。这种基于实时信息进行动态推理和决策的能力,正是Agent的核心价值所在。

1.5 本章小结

在本章中,我们共同踏上了探索智能体的初识之旅。我们的旅程从最基本的问题开始:

  • 什么是大语言模型驱动的智能体?我们首先明确了其定义,理解了现代智能体是具备了能力的实体。它不再仅仅是执行预设程序的脚本,而是能够自主推理和使用工具的决策者。
  • 智能体如何工作?我们深入探讨了智能体与环境交互的运行机制。我们了解到,这个持续的闭环是智能体处理信息、做出决策、影响环境并根据反馈调整自身行为的基础。
  • 如何构建智能体?这是本章的实践核心。我们以“智能旅行助手”为例,亲手构建了一个完整的、由真实LLM驱动的智能体。
  • 智能体有哪些主流的应用范式?最后,我们将视野投向了更广阔的应用领域。我们探讨了两种主流的智能体交互模式:一是以GitHub Copilot和Cursor等为代表的、增强人类工作流的“开发者工具”;二是以CrewAI、MetaGPT和AgentScope等框架为代表的、能够独立完成高层级目标的“自主协作者”。同时讲解了Workflow与Agent的差异。

通过本章的学习,我们建立了一个关于智能体的基础认知框架。那么,它是如何一步步从最初的构想演进至今的呢?在下一章中,我们将探索智能体的发展历史,一段追本溯源的旅程即将开始!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(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 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

告别智能体开发迷茫!Hello-Agents全流程指南,模块化框架快速搭建专属Agent 项目名称:Hello-Agents开发团队:Datawhalechina(国内知名AI开源学习社区,专注AI技术科普与实战教程)核心定位:一款系统化的智能体开发学习教程与轻量化实践框架,兼顾理论讲解与实战落地,覆盖智能体核心组件、多场景应用开发、性能评估等全流程,提供模块化的Agent基础架构和丰富的共创案例(代码审查、数据分析、深度研究等),旨在降低智能体开发门槛,帮助学习者从0到1掌握智能体技术。 阅读详情

相关推荐

AI Agent 定义、分类、技术架构和应用路径【建议收藏】

智能体(Agent)是一种能够感知环境、制定决策并采取行动以实现特定目标的AI系统,一般具有记忆、规划、采取行为、使用工具等基本能力,如下图所示,其中规划中有思维链、能进行反思、目标分解。与传统AI系统不同,智能体具有自主性、持续性和适应性,能够在复杂环境中持续学习和优化自身行为。

qq_43218591的博客 2235

deepseek+ollama+langchain智能体开发项目实战

 

【AI智能体】新手教程-5 分钟快速接入 DeepSeek 模型

摘要:扣子平台推出满血版Deepseek全家桶,支持思维链(CoT)和FunctionCalling功能,免费提供R1、V3模型体验。用户可通过扣子开发平台快速创建智能助手,为其添加联网搜索、视觉理解等能力。操作步骤包括创建智能体、编排人设提示词、选择DeepSeek模型、添加插件功能等。完成配置后,智能体即可展示思维链推理过程,实现实时信息查询和图片理解,满足多样化场景需求。该方案突破了大模型在时效性和视觉理解方面的限制。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1936

Agent是什么?一文讲清智能体(AI Agent),这是一篇不得不看的干货总结!

智能体(Agent)作为先进的人工智能实体,通过持续感知外部环境、自主决策并执行行动来达成预设目标。其架构具备环境感知、动态决策、行为执行等核心功能模块,并集成记忆存储机制、多层级规划策略及工具调用能力。

weixin_72959097的博客 4851

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器

本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。

weixin_28675839的博客 265

突破NER性能瓶颈:BERT与LLM协同的混合架构实践

性能卓越:在多个测试集上,F1分数比单一模型提升5-15%成本可控:相比纯LLM方案,成本降低60%以上易于落地:架构清晰,便于调试和优化这种"专才+通才"的组合思路可以扩展到其他NLP任务中,如关系抽取、事件提取、文本分类等。更精细的流水线优化多模型投票机制在线学习与自适应调整不追求单一模型的万能,而是通过精心设计的组合,让每个组件发挥其独特优势,最终实现系统性能的最优化。欢迎在评论区分享你在NER任务中的实践经验,或者对这个混合架构的改进建议!

Ven%的博客 1022

AI 的智能体专栏:手把手教你用百宝箱,打造专属文生图智能体幻绘精灵

AI 的智能体专栏:手把手教你用百宝箱,打造专属文生图智能体幻绘精灵,本文是一篇教读者用百宝箱打造文生图智能体“幻绘精灵”的教程。先介绍了幻绘精灵的功能,接着讲了百宝箱平台的准备工作,然后详细阐述工作流搭建的五个模块步骤,还提及功能测试与优化,最后总结打造过程及持续升级的可能,助力读者打造专属智能体。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

Python+ArcGIS实战:5步搞定土壤类型预测(附随机森林模型配置技巧)

本文详细介绍了如何结合Python与ArcGIS,利用随机森林模型进行土壤类型预测。通过5个核心步骤——数据预处理、样本创建、模型构建、空间预测与精度验证,构建了一套自动化、高精度的空间预测工作流,并提供了关键的模型配置与调参技巧,助力GIS开发者高效完成土壤制图任务。

weixin_29227585的博客 396

【Coze-AI智能体开发】【一】初识Coze:零代码玩转 AI 智能体开发,新手也能轻松搭建专属 AI 应用!

字节跳动推出的Coze(扣子)AI智能体开发平台,通过零代码/低代码方式降低了AI应用开发门槛,让非技术用户也能快速构建基于大模型的各类AI应用。平台提供可视化组件、插件集成、知识库管理等功能,支持智能客服、学习助手等全场景需求开发。Coze生态包含开发平台、罗盘管理系统、Eino框架和Coze空间四大组件,其中开发平台和空间是主要学习重点。平台提供免费额度,用户只需基础文字处理和逻辑思维能力即可上手。通过学习可掌握智能体开发、工作流编排等核心技能,实现从创意到落地的AI应用开发全流程。

2301_79248256的博客 6497

2-6-1-1 QNX编程入门之进程和线程(一)

文章围绕进程和线程展开介绍。先是将进程类比为房子,线程类比为居住者,阐述其基本概念,如进程占用内存,线程可共享内存。接着讲解同步相关内容,介绍了互斥,线程通过互斥锁来控制对特定资源的访问,像使用浴室一样。还提到优先级,线程按优先级和等待时长来决定获取资源顺序。此外,说明了信号量,以厨房为例,区分计数为 1 和大于 1 的信号情况,且指出信号量可当互斥锁用,但互斥锁是特殊用途信号量,二者存在区别,最后提及后续会介绍其他同步机制。

星原飞火的博客 1323

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

零代码也能搭建AI助手!30分钟打造你的专属智能体(必收藏)

本文介绍了AI智能体的概念与价值,详细讲解了如何通过三个关键步骤(喂资料、立人设、定规则)在30分钟内搭建专属AI智能体助手。文章以Monica平台为例,为小白提供了零代码搭建智能体的完整流程,并推荐了智谱清言、豆包等适合不同需求的平台。AI智能体可作为客服、文案、策划等助手,大幅提升工作效率。文章强调拥抱AI的重要性,指出掌握智能体技术是未来竞争力的关键,每个人都能通过简单调教拥有"第二大脑"。

2401_85325726的博客 1508

【C语言学习疑难杂症】第20期:0x00007FF7F2821964处引发的异常0xC0000005写入位置 0x0000000000000

检查代码中是否存在野指针访问的情况,确保在进行写入操作之前,内存已经被正确分配或初始化,并且在使用完毕后进行了正确的释放。空指针访问:代码尝试在空指针地址(0x0000000000000000)处进行写入操作,导致访问冲突。检查代码中是否存在数组越界的情况,确保在进行写入操作之前,数组的索引值在合法范围内。检查代码中是否存在空指针访问的情况,确保在进行写入操作之前,指针已经被正确初始化。野指针访问:代码尝试在已释放或未初始化的内存地址进行写入操作,导致访问冲突。

学无止境 828

如何用AingDesk打造你的专属AI助手:5分钟快速上手指南

AingDesk是一款简单好用的AI助手软件,专为个人用户和小团队设计,支持本地AI模型部署、知识库搭建、智能体创建和联网搜索等核心功能。无论你是AI新手还是经验丰富的开发者,都能在5分钟内快速搭建属于自己的智能助手。 ## 为什么你需要一个专属AI助手? 在日常工作和学习中,你是否遇到过这些问题: | 常见痛点 | 传统解决方案的不足 | |---------|--------------

gitblog_01074的博客 473

ASPICE(Automotive SPICE)流程落地,研发管理工具自研,如何从量化数据体现研发效率提升的

摘要: ASPICE流程显著提升研发效率,主要体现在质量、成本和时间三个维度。关键量化指标包括:缺陷率降低30%-60%,维护工作量减少28%,研发周期缩短10%-20%,需求变更率降低58%,代码评审效率提升300%。初期开发成本虽增加9%,但长期回报率高。核心方法包括缺陷预防前移、需求精准管理和流程标准化与自动化。建立量化度量体系需覆盖缺陷密度、需求稳定性、进度偏差等指标,并依托工具链支持数据收集。实施ASPICE是短期投入换取长期质量提升和成本优化的高效投资。

汽车软件开发 183

(11)(2.2.2) BLHeli32,AM32, and BLHeli_S ESCs(一)

Ardupilot官网关于《Peripheral Hardware》的翻译 —《(2.2.2) BLHeli32,AM32, and BLHeli_S ESCs》。

无人机开发(开源Ardupilot) 2231

5分钟构建AI智能体!阿里云百炼MCP协议如何颠覆应用开发?

5分钟构建AI智能体!阿里云百炼MCP协议如何颠覆应用开发?

码农飞哥 2008

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【必藏】实在Agent智能体搭建全攻略:10分钟从零打造专属AI助手,避开90%新手陷阱,效率翻倍!

本文是一份实在Agent智能体搭建实战指南,详细介绍了从基础界面认知到完整搭建流程的全过程。重点讲解了四大类智能体定位(办问数生)和业务流程拆解方法,并以"BOSS直聘自动打招呼"为例,逐步演示了调教大模型、信息提取、RPA流程调用等关键步骤,特别针对RPA与大模型数据互传这一常见难题提供了解决方案。通过该指南,读者可快速掌握智能体搭建核心技能,实现工作流程自动化,提升工作效率。

优快云_430422的博客 958

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

5分钟打造一个AI出行助手!CherryStudio+高德MCP打造个人出行规划助理,零基础小白也能跟得上

MCP技术可以说是现在技术圈的热门技术了,它是由Claude母公司Anthropic提出的专门用来提高大模型Agent开发效率的技术协议,有了这个协议,AI工具的开发效率那可是蹭蹭的变高了!那本期视频手把手教大家借助最新版CherryStudio和高德地图MCP打造一个专属的AI出行助手。听起来是不是有点不明觉厉?实际上只需要4️⃣步,零基础小白也能跟得上~

程序员鑫港的博客 1942

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

3分钟了解Coze!手把手教你零基础搭建专属AI智能体

简单来说,智能体就是一个超级聪明、能干活的AI小助手。它就像你请的“数字员工”,可以根据你设定的任务进行聊天、回答问题、处理信息,甚至实现自动化操作。例如,你可以拥有一个帮你推荐电影的AI,或是一个能自动整理新闻并发送到微信群的工具,这些都属于智能体的应用场景。智能体开发平台最早于2022年在国外出现,主要面向开发者,需要通过编程语言进行开发,技术门槛较高。随着平台不断进化,智能体开发逐渐向可视化、零代码方向发展。以国内的Coze为例,其在功能和生态等方面已经相当成熟。

m0_70486148的博客 2829

本周github top5热门AI项目,竟然都是智能体!

本周github人工智能相关项目涨星前五名为AgenticSeek、Langflow、Qlib、MindsDB、OpenHands,分别涨星9885、3667、3561、2322、1896。

xx_nm98的博客 4005

5分钟打造一个AI出行助手!最新版CherryStudio+高德MCP打造个人出行规划助理

本文通过CherryStudio和高德地图MCP,指导用户如何打造一个AI出行助手。首先,用户需下载并安装CherryStudio,然后获取大模型API-Key,如DeepSeek模型。接着,配置高德地图MCP服务器,包括注册高德开放平台、获取MCPkey,并在CherryStudio中设置MCP服务器。最后,通过调用高德MCP,用户可以规划行程,如旅游计划或城市步行路线。整个过程简单易行,即使是零基础用户也能轻松上手。此外,文章还提供了其他MCP工具的链接,供用户根据需求选择使用。

fufan_LLM的博客 4181

最新版CherryStudio+高德MCP打造个人出行规划助理,5分钟打造一个AI出行助手!

MCP技术可以说是现在技术圈的热门技术了,它是由Claude母公司Anthropic提出的专门用来提高大模型Agent开发效率的技术协议,有了这个协议,AI工具的开发效率那可是蹭蹭的变高了!那本期视频手把手教大家借助最新版CherryStudio和高德地图MCP打造一个专属的AI出行助手。听起来是不是有点不明觉厉?实际上只需要4️⃣步,零基础小白也能跟得上~

程序员鑫港的博客 1218

零代码玩转AI开发!字节Coze(扣子)保姆级指南:从智能体到爆款应用,小白30分钟就能上手

字节跳动推出的Coze(扣子)AI开发平台,让零代码构建AI应用成为可能。该平台提供智能体和AI应用两种开发模式,支持可视化拖拽组件、插件调用和多平台部署,30分钟即可打造专属AI工具。文章从创建智能体、编写提示词、添加功能到发布应用,详细拆解了开发流程,并列举了智能客服、短视频分镜生成器等实用案例。Coze显著降低了AI开发门槛,适合创业者、自媒体等非技术人员快速实现创意,但也存在复杂场景支持有限等局限。随着AI技术普及,Coze正推动创新能力的全民化发展。

weixin_52610848的博客 1771

30分钟从零打造人情世故AI智能体:从环境配置到社交场景实战

Datawhale / self-llm是针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部署国内外开源大模型(LLM)/多模态大模型(MLLM)的开源项目,通过它可以快速掌握AI智能体开发技能。 ## 为什么需要人情世故AI智能体? 中国文化注重人情世故,涉及到复杂的社交规则、礼仪和人际关系。无论是节日祝福、职场沟通还是日常交往,掌握恰当的表达方式都至关重要。而基于大语

gitblog_01050的博客 719

3分钟极致openJiuwen如何打造全流程AI开发工具链‌打造数学解题小助手

openJiuwen是一个企业级AI应用开发平台,提供全场景适配、灵活开发方式和多Agent协同能力。本文详细介绍了其技术架构和部署流程,重点演示了如何创建智能体并配置大模型服务(如DeepSeek-R1)。通过小学数学解题助手的案例,展示了提示词优化和模型参数调整过程,帮助开发者快速构建生产级AI应用。平台支持可视化编排和商用级稳定性,显著降低AI开发门槛。

2301_79516858的博客 2411
上一篇: 爆肝整理!AI Agent智能体全攻略:从零开始掌握7大核心模式,小白也能秒变大模型开发者!
下一篇: 爆肝整理!大模型底层原理全解析:从Transformer到GPT/BERT,小白也能秒懂,面试不慌!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值