大语言模型驱动的智能体开发:从理论到实践的完整指南【强烈推荐】

从零构建AI Agent:基于Hermes框架的智能体开发实战指南 在探索AI Agent开发领域时,很多开发者都曾被其复杂的概念和多样的框架所困扰。特别是对于Meta开源的Hermes Agent,虽然其潜力巨大,但官方文档和英文教程往往让初学者望而却步。最近,一个配有中文字幕的深度讲解视频在社区内获得了极高评价,它系统性地拆解了Hermes Agent的核心原理与实战部署。本文将基于该视频的核心脉络,结合官方文档与社区实践,为你呈现一份从零到一掌握Hermes Agent的完整实战指南。无论你是想快速上手构建第一个智能体,还是希望深入理解其底层架构,本文都将提供清晰的步 阅读详情

文章系统介绍了智能体的基础概念、演进历程、分类方法、运行原理及实践应用。从传统智能体到LLM驱动的新范式,详细解析了智能体的类型、构成与工作机制。通过智能旅行助手案例,展示了5分钟实现智能体的具体方法。最后探讨了智能体的两种应用模式:作为开发者工具和作为自主协作者,并对比了Workflow与Agent的差异,为读者构建了完整的智能体知识框架和实践路径。

1、初识智能体

欢迎来到智能体的世界!在人工智能浪潮席卷全球的今天,智能体(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 requests
import json

defget_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 os
from tavily import TavilyClient

defget_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 OpenAI

classOpenAICompatibleClient:
    """
    一个用于调用任何兼容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大模型的风口?

为什么要学习大模型?

在DeepSeek大模型热潮带动下,“人工智能+”赋能各产业升级提速。随着人工智能技术加速渗透产业,AI人才争夺战正进入白热化阶段。如今近**60%的高科技企业已将AI人才纳入核心招聘目标,**其创新驱动发展的特性决定了对AI人才的刚性需求,远超金融(40.1%)和专业服务业(26.7%)。餐饮/酒店/旅游业核心岗位以人工服务为主,多数企业更倾向于维持现有服务模式,对AI人才吸纳能力相对有限。

在这里插入图片描述

这些数字背后,是产业对AI能力的迫切渴求:互联网企业用大模型优化推荐算法,制造业靠AI提升生产效率,医疗行业借助大模型辅助诊断……而餐饮、酒店等以人工服务为核心的领域,因业务特性更依赖线下体验,对AI人才的吸纳能力相对有限。显然,AI技能已成为职场“加分项”乃至“必需品”,越早掌握,越能占据职业竞争的主动权

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

img

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!

大模型全套学习资料领取

这里我整理了一份AI大模型入门到进阶全套学习包,包含学习路线+实战案例+视频+书籍PDF+面试题+DeepSeek部署包和技巧,需要的小伙伴文在下方免费领取哦,真诚无偿分享!!!

vx扫描下方二维码即可

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

这份路线图以“阶段性目标+重点突破方向”为核心,从基础认知(AI大模型核心概念)到技能进阶(模型应用开发),再到实战落地(行业解决方案),每一步都标注了学习周期和核心资源,帮你清晰规划成长路径。

img

二、 全套AI大模型应用开发视频教程

从入门到进阶这里都有,跟着老师学习事半功倍。

在这里插入图片描述

三、 大模型学习书籍&文档

收录《从零做大模型》《动手做AI Agent》等经典著作,搭配阿里云、腾讯云官方技术白皮书,帮你夯实理论基础。

在这里插入图片描述

四、大模型大厂面试真题

整理了百度、阿里、字节等企业近三年的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%免费】

在这里插入图片描述

大语言模型工具调用实战:从原理到工程落地的完整指南 工具调用(Tool Calling)是大语言模型(LLM)与外部世界交互的核心机制,它使模型从文本生成器进化为能够“思考-决策-执行”的智能体。其原理在于模型通过结构化描述(如JSON Schema)理解可用工具的功能与参数,并在推理过程中输出标准化的调用请求,由外部系统解析并执行。这一技术突破了LLM在知识时效性、专业性和执行能力上的限制,是实现复杂任务自动化与智能决策的关键。在工程实践中,通过框架(如LangChain)对工具调用流程进行封装,开发者可以高效构建能查询实时数据、操作外部系统的AI应用。本 阅读详情

相关推荐

Deep Agents智能体系统部署指南:从环境搭建到企业级应用实践

智能体(Agent)系统作为连接大语言模型与外部工具的核心框架,通过任务规划、工具调用和记忆管理等模块,实现了复杂指令的自动化执行。其技术原理在于将自然语言任务分解为可执行步骤,并协调各类API与工具完成目标,从而显著提升AI应用的自主性和实用性。在工程实践中,智能体系统能够有效解决企业内部自动化流程、数据查询分析、客户服务工单处理等场景的需求,尤其适合需要多步骤推理和外部集成的任务。本文以Deep Agents项目为例,详细阐述了从环境准备、系统部署到功能验证的全流程,涵盖了Docker容器化部署、RES

weixin_34005042的博客 388

大语言模型工程实践:从提示词到智能体开发的完整指南

大语言模型(LLM)作为当前人工智能领域的核心技术,其应用已从简单的文本生成扩展到复杂的任务自动化。理解其工作原理是工程化的基础:LLM通过海量数据训练获得语言理解和生成能力,其核心价值在于将通用语言能力转化为解决特定业务问题的工具。在实际应用中,开发者常面临回答不准确、任务执行失败或成本过高的问题,这往往源于工程化实践的缺失而非模型本身。通过系统的提示词工程、上下文管理和工具链集成,可以构建出具备自主规划和执行能力的智能体(Agent),从而在客服、数据分析、自动化流程等场景中实现可靠部署。本文聚焦于智能

weixin_33898876的博客 352

基于Docker容器化部署OpenClaw与本地大模型的AI智能体实践指南

AI智能体(Agent)作为协调工具调用与任务规划的核心框架,正成为构建自动化工作流的关键技术。其核心原理在于通过大语言模型(LLM)进行决策,并调度各类工具执行复杂任务链,从而实现从数据分析到报告生成等场景的智能自动化。在工程实践中,通过容器化技术部署AI智能体与本地大模型,能有效保障数据安全、降低延迟并控制成本。本文将深入探讨如何利用Docker容器化技术,整合OpenClaw框架与国内开源大模型(如DeepSeek、Qwen),构建完全本地化、可控的AI助手环境,涵盖从模型服务部署、网络配置到技能开发

weixin_33226548的博客 314

从零部署AI智能体:基于大语言模型的桌面自动化助手实践指南

大语言模型(LLM)作为当前人工智能的核心技术,通过理解自然语言指令并生成结构化输出,为自动化任务处理提供了全新的可能性。其技术价值在于将人类模糊的意图转化为可执行的计算机操作序列,从而在软件开发、系统运维、数据分析等场景中实现效率的质变。本文聚焦于如何将LLM的规划能力与操作系统自动化执行相结合,通过安全沙箱机制构建可实际运行的AI智能体。我们将深入探讨基于Docker容器的部署方案,并详细解析如何通过工具库扩展和自定义开发,让智能体掌握执行Shell命令、文件操作等具体技能,最终实现一个能安全、可靠地协

weixin_34342992的博客 428

OpenClaw智能体实战:从环境搭建到自动化部署的完整指南

AI智能体作为连接大语言模型与现实世界操作的关键技术,正逐步从实验室走向工程应用。其核心原理在于通过工具调用(Tool Calling)框架,将大模型的规划与推理能力转化为对软件、网页乃至硬件的具体操作。这一技术价值在于实现工作流程的自动化,将人类从重复性数字劳动中解放出来。在应用场景上,智能体广泛适用于网页数据抓取、桌面软件自动化、信息整理与报告生成等任务。本文以开源多模态智能体框架OpenClaw为例,深入解析其从环境准备、核心配置到实战部署的全过程。通过系统介绍如何在Ubuntu系统下,基于Pytho

weixin_33937913的博客 290

从零到一:基于OpenClaw框架构建企业级AI智能体的完整指南

智能体(Agent)作为AI应用开发的核心范式,通过模拟自主决策与任务执行能力,正深刻改变软件交互方式。其工作原理通常基于大语言模型(LLM)进行意图理解、任务规划与工具调用,最终完成复杂工作流。这一技术的核心价值在于将AI能力工程化、模块化,从而赋能企业构建自动化客服、智能助手、业务流程自动化等应用场景。本文聚焦于开源智能体编排框架OpenClaw,深入探讨如何利用其模块化架构,将AI智能体从概念验证快速推进至稳定、可扩展的生产部署。文中结合**Docker Compose部署**与**技能(Skill)

weixin_30693683的博客 332

ChatGPT智能体浏览器:基于大语言模型的网页自动化实践指南

大语言模型(LLM)作为人工智能的核心技术,通过理解自然语言指令,实现了从文本生成到复杂任务规划的跨越。其核心原理在于基于海量数据训练出的深度神经网络,能够对语义进行深度理解和推理。这一技术价值在于将人类的模糊意图转化为可执行的操作序列,从而在自动化领域开辟了新路径。在应用场景上,LLM与浏览器自动化工具(如Playwright)的结合,催生了智能体(Agent)的新形态——能够自主浏览和操作网页的AI助手。这种融合使得数据采集、自动化测试、信息聚合等重复性网络任务得以智能化处理。本文聚焦于ChatGPT作

weixin_33843409的博客 405

基于Cherry Studio的智能体开发:从模型配置到本地API部署实战

智能体(Agent)作为由大语言模型驱动的自主程序实体,正成为AI应用开发的核心。其工作原理在于通过感知、决策与执行,结合工具调用与知识库检索,完成复杂任务。这种技术架构的价值在于将强大的模型能力转化为可执行、可集成的业务解决方案,广泛应用于智能客服、自动化流程与数据分析等场景。本文聚焦于智能体开发平台Cherry Studio,详细拆解了其核心配置流程,包括模型连接、提示词工程与工具定义,并最终指导如何将这些配置整合,构建并部署一个功能完整的本地API服务器,实现智能体能力的快速落地与业务集成。

weixin_26950847的博客 348

AI智能体入门指南:从核心概念到实战开发

在人工智能领域,智能体(Agent)是一个基础而重要的概念,它泛指任何能够感知环境并自主行动以实现目标的系统。其核心原理在于构建一个具备“感知-思考-行动”循环的自主实体,通过与环境持续交互来完成复杂任务。随着大语言模型(LLM)技术的突破,传统的智能体范式被注入了新的活力,催生了以AI技术为核心驱动引擎的AI智能体(AI Agent)。这类智能体能够理解自然语言、进行复杂推理和动态规划,并通过调用外部工具(如搜索引擎、API、代码解释器)来执行具体操作,从而将大模型的“认知”能力转化为实际的“执行”能力,

weixin_30367873的博客 438

【数字图像相关-OpenCorr学习笔记】Epipolar search原理+代码解析

OpenCorr是一个开源C++库,用于研究和开发数字图像相关(DIC)技术它提供了2D和立体声DIC的全功能模块,以及数字体积相关(DVC)。最近正在学习OpenCorr,为了更深层次地理解ICGN,我打算浅浅剖析Opencorr的代码,学习的过程中写下这篇学习笔记,以后忘记了还能回来看看。同时,作为一名在读研究生,希望能得到社区大佬的指点,以及跟同学们一起学习进步。这一期主要讲解Eipipolar search的原理,并且附上部分代码解析。

ywyywyy的博客 1356

USB HID虚拟电池:Windows零驱动电源状态模拟方案

虚拟电池是一种在硬件测试与功耗分析中替代真实电池、实现可控电源状态注入的关键技术。其核心原理是通过标准USB HID协议(特别是UPS设备类)向操作系统上报可编程的AC/DC状态、剩余电量、容量参数等,绕过内核驱动限制,达成毫秒级响应与跨Windows版本兼容。该技术显著提升SoC能效验证、电池健康度校准及低电量行为触发等场景的可重复性与精度。本文基于CH554微控制器实现符合HID UPS规范的物理层虚拟电池设备,支持零驱动安装、USB原生识别与实时参数调控,适用于笔记本平台功耗建模、电源管理策略验证及自

weixin_35755188的博客 354

AI智能体技能仓库:模块化开发与标准化接口实践

在AI应用开发中,大语言模型(LLM)驱动的智能体(Agent)需要调用外部工具和函数来增强其任务执行能力,这催生了技能(Skill)这一核心概念。技能本质上是可复用的功能模块,通过标准化的接口描述和调用机制,将复杂任务拆解为原子化操作单元。其技术价值在于降低了智能体开发的复杂度,提升了功能组件的可维护性和可组合性。在工程实践中,技能仓库(Skill Repository)作为集中化管理这些模块的框架,广泛应用于自动化工作流、AI辅助编程、智能问答增强等场景。本文聚焦的“zhangxuefeng-skill

weixin_34375251的博客 417

Quartus的Signal Tap II的使用技巧

Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。

qq_37624854的博客 5899

AI智能体开发实战指南:从ReAct架构到阿里云竞赛应用

AI智能体(AI Agent)作为能够感知环境、进行决策并执行行动的软件实体,其核心原理在于结合大语言模型(LLM)的推理能力与外部工具调用,实现自主任务规划与执行。主流技术范式如ReAct(Reasoning and Acting)通过“思考-行动-观察”的循环机制,使智能体具备多步复杂问题解决能力。在工程实践中,智能体框架(如LangChain)和低代码平台(如Dify)为开发者提供了高效构建工具,大幅降低了开发门槛。这种技术组合的价值在于将大模型的通用认知与专用工具的执行能力相结合,广泛应用于智能客服

weixin_30522095的博客 373

图形学基础知识:着色(三)Rendering Pipeline与Shader

管线(Pipeline) 什么是管线? 管线我们可以理解为流水线,流水线大家都懂,就是工厂里面生产东西的一整套流程。例如饮料厂要生产饮料,需要洗瓶子,倒饮料,加盖,包装等等,这一整套过程就是流水线。那么我们要把一个三维场景渲染成一幅二维的图像,同样需要一个先干嘛再干嘛然后干嘛最后干嘛的过程,这个过程或流水线,我们就称之为管线。 实时渲染管线(Real-time Rendering Pipeline) 通过前面几篇的学习,我们知道了要把一个三维场景渲染成一幅二维的图像大致分为以下几个步骤: M.

王王王渣渣的博客 2532

【数据库】SQL Server 2008 R2 安装全流程详解与常见问题避坑指南

本文详细解析了SQL Server 2008 R2的完整安装流程与核心配置。从安装前的系统兼容性检查、.NET Framework依赖准备,到图文详解实例配置、混合身份验证模式设置等关键步骤,并提供了安装失败、服务无法启动等高频问题的排查与避坑指南,帮助用户顺利完成部署。

java5的博客 1242

AI智能体实战指南:从零构建自动化编码助手

AI智能体作为能够感知环境、自主决策并执行任务的技术单元,正推动软件开发范式的变革。其核心原理基于“思考-行动-观察”的自主循环,通过大型语言模型理解任务,调用工具执行操作,并根据反馈迭代优化。这种技术价值在于将开发者从重复性编码中解放,转向架构设计与质量监督,实现生产效率的指数级提升。在应用场景上,智能体可自动化完成代码生成、测试、部署等任务,是构建“自驱公司”——即AI驱动、低人力干预的自动化组织的关键。本文以Python和LangChain框架为例,通过构建代码生成与执行智能体的完整实战,演示了如何利

weixin_32597009的博客 305

【unity实战】Unity手搓脚本工具实现合并网格功能

本文介绍了在Unity中优化网格性能的方法,通过合并重复网格减少绘制调用。主要使用Mesh.CombineMeshes方法实现网格合并,支持统一材质和多材质处理。核心内容包括:1)基础合并脚本实现,将子网格合并到父对象并禁用原网格;2)统一材质设置,支持自定义或默认材质;3)多材质合并方案,通过设置mergeSubMeshes=false保留子网格材质索引。文章还提供了完整代码示例和操作演示,适用于实际项目中的网格优化需求。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 560

从零构建AI智能体:基于ReAct框架的实战开发指南

在人工智能领域,大语言模型(LLM)作为核心的推理引擎,赋予了计算机理解和生成自然语言的能力。其工作原理是通过海量数据训练,学习语言的统计规律和语义关联。这项技术的核心价值在于,它能够将非结构化的语言指令转化为结构化的任务执行逻辑,从而为自动化系统提供“大脑”。在实际应用场景中,如何让这个大模型“大脑”具备自主行动能力,去调用外部工具、处理复杂流程,成为了构建智能应用的关键。这正是AI智能体技术要解决的核心问题。AI智能体通过整合规划、记忆、工具调用等模块,形成了“感知-思考-行动”的闭环,是实现复杂任务自

weixin_30781775的博客 311

【差分运放电路加偏置电压

摘要:该电路采用单电源供电运放(A3V3)处理双极性差分信号,通过1V直流偏置解决负半周信号削波问题。关键设计包括:15kΩ/10kΩ电阻分压建立1V基准,对称电阻网络实现2.5倍差分放大,0.1μF电容滤除电源噪声。适用于传感器信号调理(如电流采样、压力传感)和3.3V系统处理±0.5V交流信号,输出0-2.5V适配ADC输入。注意事项强调电阻匹配对共模抑制的重要性,以及电源滤波电容需靠近运放引脚布局。

qq_37999850的博客 563

用 SAML 2.0 Bearer Assertion 配置 ABAP OAuth 2.0 令牌交换

摘要: SAP系统集成中,身份跨系统传递是关键挑战。OAuth 2.0的SAML 2.0 Bearer Assertion grant机制通过SAML断言换取访问令牌,实现安全身份传递。配置核心在ABAP的SOAUTH2事务码,需绑定可信SAML身份提供商(IdP)并指定访问范围。实际应用中,需确保SSL加密传输,正确配置SAML IdP信任关系,并为OAuth客户端分配专用系统用户。常见问题包括证书不匹配、权限配置不当等,需分层控制权限边界以保障安全。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 837

基于OpenClaw框架的AI智能体开发:从定时提醒到自动化技能实践

在软件开发领域,自动化与智能化是提升效率的关键方向。其核心原理在于通过程序化手段,将重复性任务交由系统处理,从而释放人力。从技术价值看,这不仅减少了人为错误,更实现了工作流的无缝衔接。具体到应用场景,日常健康管理如定时喝水提醒,便是一个典型的高频需求。开发者常借助自动化框架来构建此类功能,而OpenClaw作为一个高度可编程的智能体框架,正为此提供了便捷的解决方案。通过自然语言驱动,开发者能快速创建定制技能,例如实现一个轻量级的喝水提醒助手,从而将健康管理融入开发工作流。本文围绕OpenClaw的部署与技能

weixin_34130389的博客 436

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VibeCoding:基于动态工具组合的AI编程智能体实践指南

AI编程正从简单的代码补全向理解开发意图演进,其核心原理在于将大语言模型的规划能力与可执行工具相结合。通过任务分解与工具调度,AI能够模拟开发者工作流,实现从需求描述到可运行代码的自动化生成。这一技术价值在于显著降低重复性编码的认知负荷,提升开发效率,尤其适用于项目脚手架搭建、样板代码生成等场景。本文以VibeCoding项目为例,深入解析其动态工具组合架构,并通过实操演示如何构建具备文件操作、命令执行等能力的智能体,为探索下一代开发工具提供工程实践参考。

weixin_30292745的博客 335

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OpenClaw AI智能体框架:从核心概念到实战部署的完整指南

AI智能体(Agent)是人工智能领域的重要发展方向,它代表了一种能够感知环境、自主规划并执行任务以达成目标的智能系统。其核心原理在于将大型语言模型(LLM)的认知能力与外部工具、API和数据源相连接,通过规划、决策与执行循环来完成复杂工作。这项技术的价值在于突破了传统单次问答式AI工具的局限,能够处理多步骤、需交互的开放式任务,极大地拓展了AI的应用边界。在工程实践中,智能体框架(如OpenClaw)通过封装工具调用、状态管理、错误处理等通用复杂性,为开发者提供了标准化的“组装车间”,显著降低了构建生产级

weixin_34354173的博客 372

扣子智能体平台实战指南:从零构建高效工作流与插件集成

本文提供了一份扣子智能体平台的实战指南,详细介绍了如何从零开始构建高效的工作流与集成插件。通过可视化编排和低代码操作,用户可以快速创建具备专业能力的AI助手,并利用插件生态扩展其功能,实现复杂任务的自动化处理。

weixin_29279153的博客 523

从“等一只鸭子”看智能体技术:自然语言驱动的任务自动化实践

在人工智能领域,智能体(Agent)技术正成为连接自然语言理解与现实世界任务执行的关键桥梁。其核心原理在于,以大语言模型作为规划中枢,通过工具调用(Function Calling)能力,将模糊的用户意图转化为可执行的操作序列。这一技术价值在于实现了从传统“命令式”自动化到“意图驱动”自动化的范式转变,极大地降低了人机交互门槛。在实际应用场景中,无论是企业流程自动化、个人效率助手,还是复杂系统集成,智能体都能通过理解自然语言指令,自主分解任务、调用API、处理异常。本文以“在机场等待特定鸭子”这一生动场景为

weixin_34055787的博客 445
上一篇: 必藏干货!解锁AI“超能力”的4大核心训练模型
下一篇: 收藏必备!一文读懂检索增强生成(RAG)技术:企业级大模型增强利器
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值