news 2026/4/16 16:14:13

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:45:26

15种常见的 Web 安全攻击类型以及防御手段

前言 随着互联网的发展,Web 应用变得越来越普及,随之而来的安全威胁也越来越多样化。作为一个高级计算机工程师,我今天将通俗易懂地为大家介绍几种常见的 Web 安全威胁与攻击类型。通过了解这些威胁,大家可以更好地保护自己的 We…

作者头像 李华
网站建设 2026/4/7 10:34:32

利于SEO优化的CMS系统都有哪些特点?

在网站运营中,你是否也面临这样的困境?辛苦创作的内容,发布后却在搜索引擎中石沉大海。问题往往不在于内容质量,而在于承载内容的系统本身。一个利于SEO的CMS,是确保网站能被搜索引擎高效收录、理解并排名的技术基石。…

作者头像 李华
网站建设 2026/4/16 11:04:54

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

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

作者头像 李华
网站建设 2026/4/16 10:44:55

Debug:mlx-omni-server服务器用qwen3模型出错

背景:AI回答出错,开始以为是代码问题使得之前的对话出现在上下文,没想到是mlx-omni-server的问题 debug过程: 最开始比较好运地在github论坛找到同样的问题,大概率确认服务器出错。 之后用copilot写了一个简单的go代码…

作者头像 李华
网站建设 2026/4/16 12:47:16

导师严选2026 TOP9 AI论文写作软件:专科生毕业论文必备测评

导师严选2026 TOP9 AI论文写作软件:专科生毕业论文必备测评 2026年AI论文写作软件测评:为何值得专科生关注 随着人工智能技术的不断进步,AI论文写作工具逐渐成为学术研究中不可或缺的辅助工具。对于专科生而言,撰写毕业论文不仅是…

作者头像 李华
网站建设 2026/4/16 11:01:47

计算机毕业设计springboot基于前后端分离技术的未成年人心理健康咨询系统 基于 SpringBoot 与 Vue 的青少年心理支持平台的设计与实现 前后端分离架构下校园儿童心理援助服务系统

计算机毕业设计springboot基于前后端分离技术的未成年人心理健康咨询系统0614u0m8 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。在“双减”与疫情后时代,未成年人焦…

作者头像 李华