【AI Agent系列】智能体创建全攻略:ReAct原理+联网搜索实战,附代码详解,建议收藏

【AI Agent系列】智能体创建全攻略:ReAct原理+联网搜索实战,附代码详解,建议收藏持续更新

本文详细介绍了AI Agent的创建与实现,包括基础Agent概念、ReAct工作原理及联网搜索工具应用。通过代码示例展示了如何使用LangChain创建能自动调用LLM和工具的智能体,实现"推理-行动-观察"的循环流程。文章是系列教程的第10篇,后续将涵盖LangGraph、RAG和MCP等内容,最终目标是完成全栈Agent开发与部署。适合对AI智能体开发感兴趣的读者收藏学习。


AI Agent 系列文章10, 后续会更新 LangGraph、RAG、MCP等内容,最后全栈开发一个 Agent 智能体并部署上线。

本篇主要介绍

1)Agent 创建

2)ReAct Agent

3)调用“联网搜索”工具的Agent

  1. Agent创建

之前的功能都是一次性调用llm返回结果,或者需要多次询问,或者二次加工处理。

如果需要自动多次调用llm,自动调用工具等等,就需要agent智能体。

import { ChatDeepSeek } from '@langchain/deepseek' import { createAgent, tool } from 'langchain' import * as z from 'zod' import 'dotenv/config' const llm = new ChatDeepSeek({ model: 'deepseek-chat', apiKey: process.env.DEEPSEEK_API_KEY }) const getWeather = tool( input => `${input.city}一直天气晴朗`, { name: 'query-weather', description: '查询指定城市的天气情况', schema: z.object({ city: z.string().describe('要查询天气的城市') }) } ) const agent = createAgent({ model: llm, tools: [getWeather] }) const res = await agent.invoke({ messages: [{ role: 'user', content: '广州的天气怎么样?' }] }) console.log(res);

代码中定义了一个查询天气的工具,它是模拟的,不过不影响 agent 的执行流程。

agent 绑定了 llm 和 tools ,它会根据用户输入的提示词,自动判断需要调用什么。

执行结果:

{ messages: [ HumanMessage { "id": "20422a89-da0e-4e6f-9e8d-ed34900df1f0", "content": "广州的天气怎么样?", "additional_kwargs": {}, "response_metadata": {} }, AIMessage { "id": "5246393a-bd50-4cdf-95e4-c89935bfab01", "content": "我来帮您查询广州的天气情况。", "name": "model", "additional_kwargs": { "tool_calls": [ { "index": 0, "id": "call_00_9IfbfrGjSe8XgfXtGwxQE9zq", "type": "function", "function": "[Object]" } ] }, "response_metadata": { "tokenUsage": { "promptTokens": 337, "completionTokens": 52, "totalTokens": 389 }, "finish_reason": "tool_calls", "model_provider": "openai", "model_name": "deepseek-chat", "usage": { "prompt_tokens": 337, "completion_tokens": 52, "total_tokens": 389, "prompt_tokens_details": { "cached_tokens": 0 }, "prompt_cache_hit_tokens": 0, "prompt_cache_miss_tokens": 337 }, "system_fingerprint": "fp_eaab8d114b_prod0820_fp8_kvcache" }, "tool_calls": [ { "name": "query-weather", "args": { "city": "广州" }, "type": "tool_call", "id": "call_00_9IfbfrGjSe8XgfXtGwxQE9zq" } ], "invalid_tool_calls": [], "usage_metadata": { "output_tokens": 52, "input_tokens": 337, "total_tokens": 389, "input_token_details": { "cache_read": 0 }, "output_token_details": {} } }, ToolMessage { "id": "ca6dc481-e79e-4eb1-9635-67d0e660914b", "content": "广州一直天气晴朗", "name": "query-weather", "additional_kwargs": {}, "response_metadata": {}, "tool_call_id": "call_00_9IfbfrGjSe8XgfXtGwxQE9zq" }, AIMessage { "id": "bce04c5b-5edb-4d42-acd6-dc6971132155", "content": "根据查询结果,广州目前天气晴朗。如果您需要更详细的天气信息,比如温度、湿度或未来几天的天气预报,请告诉我,我 可以为您提供更多帮助。", "name": "model", "additional_kwargs": {}, "response_metadata": { "tokenUsage": { "promptTokens": 402, "completionTokens": 35, "totalTokens": 437 }, "finish_reason": "stop", "model_provider": "openai", "model_name": "deepseek-chat", "usage": { "prompt_tokens": 402, "completion_tokens": 35, "total_tokens": 437, "cached_tokens": 320 }, "prompt_cache_hit_tokens": 320, "prompt_cache_miss_tokens": 82 }, "system_fingerprint": "fp_eaab8d114b_prod0820_fp8_kvcache" }, "tool_calls": [], "invalid_tool_calls": [], "usage_metadata": { "output_tokens": 35, "input_tokens": 402, "total_tokens": 437, "input_token_details": { "cache_read": 320 }, "output_token_details": {} } } ] }

上述结果就是 agent 多次调用 llm 和 tool 返回的信息。

第一个是 HumanMessage,用户的提问,然后第二个是 AI 分析后的结果,需要调用 tool,然后是 tool 返回的结果,然后 AI 再根据用户提问和 tool 返回的结果,整合后返回最终的结果。

  1. ReAct Agent

ReAct(Reasoning 推理 + Acting 行动),agent 根据情况自动多次调用 llm 和 tool。

ReAct Agent 的工作流程是一个典型的 “推理-行动-观察”循环,其核心在于让大模型能够通过多轮工具调用来解决复杂问题。

ReAct 可以体现到 agent 中的所有元素,不仅仅是 llm 和 tool,一个 agent 一般也包括:

  • llm
  • tools
  • memory
  • system prompt
  • workflow
  • structured output

它可以自动执行这些元素,来达到解决问题的目的。

  1. 调用“联网搜索”工具的Agent
import { ChatDeepSeek } from '@langchain/deepseek' import { createAgent } from 'langchain' import { TavilySearch } from '@langchain/tavily' import 'dotenv/config' const llm = new ChatDeepSeek({ model: 'deepseek-chat', apiKey: process.env.DEEPSEEK_API_KEY }) // 联网搜索的工具 const tavilyTool = new TavilySearch({ maxResults: 2, topic: 'general', tavilyApiKey: process.env.TAVILY_API_KEY }) const agent = createAgent({ model: llm, tools: [tavilyTool] }) const res = await agent.invoke({ messages: [{ role: 'user', content: '电影《疯狂动物城2》今年什么时间上映的' }] }) console.log(res);

比如问 “电影《疯狂动物城2》今年什么时间上映的”:

最终回答是 2025年11月26日,agent 调用了 tavily_search 工具进行 联网搜索。

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2026最新大模型全套学习资源》,包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

4. 大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1155146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计springboot基于Web的大学生兼职系统 基于SpringBoot的校园灵活用工撮合平台 Web端大学生校园零工智能匹配系统

计算机毕业设计springboot基于Web的大学生兼职系统4z145dd1 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着高校扩招与生活成本上升,课余兼职已成为大学生提升实…

如何利用工业自动化提升汽车制造效率与柔性化生产?

工业自动化正在以前所未有的势头,重新定义现代制造业的基因——尤其是在汽车这样精度至上的行业,它的影响远不止于“机器换人”。我们曾经依赖大量工人完成焊接、喷涂、装配这些重复甚至高危的环节,而如今,自动化早已超越机械替代…

mqtt wireshark解析

解析不了,可能是端口没有配置对,配置为实际的mqtt服务器端口

【必藏】LangGraph多智能体系统:智能体控制权交接的两种实现方式与实战代码

本文探讨了多智能体系统中智能体之间转移控制权的机制,重点介绍了LangGraph框架中的两种交接方式:条件边和Command对象。通过房地产助手示例展示了这两种机制的实现原理和代码差异。条件边基于静态路由,而Command对象允许节点在运行时动态决定…

GLM-4.6V-Flash-WEB部署全流程:从镜像拉取到结果查看

GLM-4.6V-Flash-WEB部署全流程:从镜像拉取到结果查看 智谱最新开源,视觉大模型。 1. 背景与技术价值 1.1 视觉大模型的演进趋势 近年来,多模态大模型在图文理解、视觉问答(VQA)、图像描述生成等任务中展现出强大能力…

如何选择适合汽车制造的数字化服务商实现提质增效?

当制造业的智能化转型从口号变为必答题,像广域铭岛这样的数字化服务商,正悄然从“技术支持”走向“生态共建”。尤其在汽车制造——这个堪称工业体系中最复杂、最考验协同的领域,他们不再只提供工具,而是逐渐成为推动整个产业提质…

获取intent传过来的值!

当你点击“切换语言”按钮时,代码创建了一个新的 Intent 来重启 Activity,但是没有把旧 Intent 里的参数(包括 is_from_entry)传给这个新的 Intent。因此,重启后的 Framework 拿不到 is_from_entry true,…

【收藏】AI产品经理避坑指南:为什么你的AI产品评审时惊艳,上线后翻车?

AI产品经理需将概率性AI输出转化为可控体验,核心是通过评测、护栏、监控和回滚机制管理不确定性。与传统产品经理不同,AI产品经理需交付"四件套"(任务说明书、评测集、风险用例库、监控预案),并对质量、成本…

Nodejs和vue框架的旅游民宿营销系统

文章目录旅游民宿营销系统摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!旅游民宿营销系统摘要 该系统基于Node.js与Vue.js框架开发,旨在为旅游民宿行业提供高效的数字化营销解决方案。通过前后端…

宏智树 AI:期刊论文 “投稿加速器”!教育博主拆解,新手也能精准踩中审稿偏好

作为深耕论文写作科普的博主,后台每天都被粉丝追问:“期刊论文怎么写才能快速见刊?”“审稿人最看重什么?”“格式不对真的会直接退稿吗?” 其实,期刊论文投稿的核心逻辑并非 “写得越多越好”,…

Nodejs和vue框架的林业资源开发管理系统设计与实现_-- 项目源码

文章目录林业资源开发管理系统设计与实现(Node.js Vue)技术架构核心功能创新点应用价值--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!林业资源开发管理系统设计与实现(Node.js…

Nodejs和vue框架的个人物品管理系统

文章目录个人物品管理系统摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!个人物品管理系统摘要 基于Node.js和Vue框架的个人物品管理系统旨在为用户提供高效、直观的物品管理解决方案。系统采用前后端分离架构…

IT68352:USB-C(DP替代模式)及电源传输控制器,内置4通道DP 1.4和HDMI 2.0转HDMI 2.0转换器

该IT68352是一个高度集成的USB Type-C/PD控制器,支持DisplayPort和HDMI 2.0转HDMI 2.0转换器。IT68352集成了C型DFP/UFP/DRP电阻和控制逻辑,支持电池没电。对于 USB PD 应用,IT68352 完全支持 PD 2.0,以及完整的分块模式 PD 3.0。…

如何利用汽车制造系统实现生产效率与质量双提升?

当工业4.0的浪潮不断拍打现实,汽车制造业——这个向来以精密、复杂著称的领域,正悄然经历一场由数据智能重构的深度变革。 冲压、焊接、涂装、总装,四大环节环环相扣,却也曾经长期陷入信息隔阂、响应滞后、质量追溯难、供应链协同…

储能电池组生产线:从电芯到系统的精密制造全链路解析

储能电池组作为可再生能源存储与智能电网的核心组件,其生产线的构建与运行直接决定了产品的性能、安全性及市场竞争力。当前,储能电池组生产线已形成涵盖材料处理、电芯制造、模块集成、系统测试的完整技术体系,通过精密工艺控制与自动化设备…

Nodejs和vue框架的企业采购管理系统的设计与实现__

文章目录企业采购管理系统设计与实现摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!企业采购管理系统设计与实现摘要 该系统基于Node.js与Vue.js框架构建,采用前后端分离架构,实现高效…

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置 前言 Vue Vben Admin 是一个功能强大的 Vue3 + TypeScript 后台管理系统模板,但对于很多开发者来说,如何改造登录页并将其对接到自己的后端系统是一个常见的需求。本文将结合实际仓库代码,详细介绍如…

BLoC vs Riverpod:命令式系统 与 声明式系统的两条架构路线

很多人把 BLoC 和 Riverpod 当成“两个 Flutter 状态管理框架”来选。 但当项目复杂到一定程度,你会发现:👉 这根本不是“库选型问题”,而是系统建模路线选择问题。更准确地说: BLoC 和 Riverpod,代表了两种…

IT6508:4通道DisplayPort1.2转双总线TTL转换器

IT6508 是一款高性能单芯片 DisplayPort 转 TTL 输出转换器。内置的DisplayPort接收器完全兼容DisplayPort 1.2a和HDCP 1.3/2.3规范。采用4通道HBR2(高比特率2)配置时,DP接收机可支持最高VESA分辨率至WUXGA(1920 x 1200120 Hz&…

Nodejs和vue框架的基于.的社区服务平台__没 项目源码

文章目录社区服务平台项目摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!社区服务平台项目摘要 该项目基于Node.js后端与Vue.js前端构建,旨在为社区居民提供信息交互、资源共享及活动组织的数字化…