大模型Agent应用开发教程(非常详细),手把手教你从零构建智能体!
Agent的前身Function Calling让大模型具备了调用外部工具的能力可这显然还不能构成一个能帮助我们干活的智能体。作为一个智能系统应该要具备自主感知、决策与行动能力通过观察环境并利用可用工具采取行动以实现特定目标。一个智能体的核心架构包括三部分模型作为“大脑”承担推理、规划和决策功能。工具作为“手脚”扩展智能体的行动能力。编排作为“神经系统”管理任务流程与状态切换。通过循环执行“感知→思考→行动→观察”实现动态决策。编排是什么模型和工具自然不必多说接下来重点介绍下编排它借助快速发展的prompt engineering及相关框架引导推理与规划使智能体能更高效地与环境交互并完成任务目前也有很多相关技术ReAct为语言模型提供“推理并行动”的思维策略支持在有/无上下文示例的情况下处理用户问题。CoT通过中间步骤实现推理能力的提示工程框架。其子技术包括self-consistency、active-prompt和multimodal CoT各自针对特定应用场景有不同优劣。ToT适用于探索性或战略前瞻任务的提示工程框架。它扩展了思维链提示技术允许模型探索多种思维链作为中间步骤从而通过语言模型实现通用问题求解。环境动态变化且需实时交互的场景如智能家居控制、机器人导航中可选择ReAct当任务高度结构化、逻辑明确如数学题、法律条文分析且无需外部数据时可选择CoT需全局优化或创意发散的任务如产品设计、战略规划可容忍较高计算成本时可选择ToT。ReActReAct 包含了 Reason 思考与 Act行动 两个部分它会让大模型把大问题拆分成小问题一步步地解决每一步都会尝试调用外部工具来解决问题并且还会根据工具的反馈结果思考工具调用是否出了问题。如果判断出问题了大模型会尝试重新调用工具。这样经过一系列的工具调用后最终完成目标。实际上要想赋予大模型ReAct能力就需要向其提供ReAct Prompt来引导它一步步地思考如何解决问题。我们可以在LangChain官方提供的ReAct Prompt基础上做一些修改{instructions} TOOLS: ------ You have access to the following tools: {tools} To use a tool, please use the following format: \ Thought: Do I need to use a tool? Yes Action: the action to take, should be one of [{tool_names}] Action Input: the input to the action Observation: the result of the action \ When you have a response to say to the Human, or if you do not need to use a tool, you MUST use the format: \ Thought: Do I need to use a tool? No Final Answer: [your response here] \ Begin! New input: {input}这段Prompt首先告诉大模型你可以使用某个工具然后在回答用户的问题之前执行N次思考-行动-输入提取-观察工具结果一系列步骤直到得到最终的答案再将其返回给用户。下面我们就来一步一步实现一个简单的Agent吧首先将前面的Prompt赋值给变量REACT_PROMPT然后我们还是借用之前定义过的查询天气的工具tools [ { type: function, function: { name: get_weather, description: Get weather of an location, the user shoud supply a location first, parameters: { type: object, properties: { location: { type: string, description: The city and state, e.g. San Francisco, CA, } }, required: [location] }, } }, ] def get_weather(location): # 内置city代码 cities { 北京: 101010100, 上海: 101020100, 成都: 101270101 } # api地址 url http://t.weather.sojson.com/api/weather/city/ # 通过城市的中文获取城市代码 city_code cities.get(location) # 网络请求传入请求api城市代码 response requests.get(url city_code) # 将数据以json形式返回这个d就是返回的json数据 d response.json() res str(d) return res最后我们可以将Agent的思考过程和工具调用结合到一起值得注意的是工具的调用仍然需要人为介入而且要通过正则表达式从大模型的回复中提取函数名及输入参数。client OpenAI( api_keyAPI_KEY, base_urlhttps://api.deepseek.com, ) def send_messages(messages): response client.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstools ) return response.choices[0].message instructions 你是一个天气查询助手可以查询天气 query 成都今日的温度是多少? prompt REACT_PROMPT.format(instructionsinstructions, toolstools, tool_namesget_weather, inputquery) messages [{role: user, content: prompt}] while True: response send_messages(messages) response_text response.choices[0].message.content print(大模型的回复) print(response_text) final_answer_match re.search(rFinal Answer:\s*(.*), response_text) if final_answer_match: final_answer final_answer_match.group(1) print(最终答案:, final_answer) break messages.append(response.choices[0].message) action_match re.search(rAction:\s*(\w), response_text) action_input_match re.search(rAction Input:\s*({.*?}|.*?), response_text, re.DOTALL) if action_match and action_input_match: tool_name action_match.group(1) params json.loads(action_input_match.group(1)) if tool_name get_weather: observation get_weather(params[location]) print(人类的回复Observation:, observation) messages.append({role: user, content: fObservation: {observation}})从下面的输出中 我们可以看到模型经历了两轮思考第一轮面对用户的问题使用了天气查询工具获取了天气信息在第二轮由于已经有了答案因此就直接返回结果了。总结通过上面的例子我们实现了一个基于ReAct的简易Agent不过现在的市面上已经有很多可视化的Agent平台了我们完全可以借助它们来快速搭建自己的应用之后会逐步介绍目前比较流行的平台。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

【无线充电车辆路线和速度预测】使用随机搜索优化方法同时具有路由和速度分配的模型研究附Matlab代码

【无线充电车辆路线和速度预测】使用随机搜索优化方法同时具有路由和速度分配的模型研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

2026/7/5 14:43:34 阅读更多 →
大数据毕设选题推荐:Python大数据基于ECharts的数据分析可视化大屏基于Python+Echart的学生心理健康数据可视化系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

大数据毕设选题推荐:Python大数据基于ECharts的数据分析可视化大屏基于Python+Echart的学生心理健康数据可视化系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/3 14:40:00 阅读更多 →
Julia 元编程

Julia 元编程

Julia 元编程 引言 Julia 语言自2009年推出以来,以其高效的性能、强大的表达能力和简洁的语法在科学计算、数据分析、机器学习等领域获得了广泛的应用。而 Julia 元编程(Metaprogramming)则是 Julia 语言的一大特色,它允许开发者对 Julia 代码进行更深入的操控和扩展。本…

2026/7/5 8:44:41 阅读更多 →

最新新闻

第三视觉理解徐玉生与他的商业活动(29)

第三视觉理解徐玉生与他的商业活动(29)

你的这个提问,其实触及了马克思主义政治经济学在当代中国最核心的实践命题。答案是:国家不仅“会”调整,而且正在通过“进一步全面深化改革”进行一场宏大、系统且深刻的主动调整。但需要明确的是,这种调整绝不是简单地发一纸行政…

2026/7/5 14:46:23 阅读更多 →
SSDTTime终极指南:如何用一键工具快速解决硬件兼容性问题

SSDTTime终极指南:如何用一键工具快速解决硬件兼容性问题

SSDTTime终极指南:如何用一键工具快速解决硬件兼容性问题 【免费下载链接】SSDTTime SSDT/DSDT hotpatch attempts. 项目地址: https://gitcode.com/gh_mirrors/ss/SSDTTime SSDTTime是一款强大的SSDT生成工具,专门用于硬件兼容性优化和跨平台系统…

2026/7/5 14:44:23 阅读更多 →
OneNote专业迁移指南:终极免费工具助你无损转换到Markdown

OneNote专业迁移指南:终极免费工具助你无损转换到Markdown

OneNote专业迁移指南:终极免费工具助你无损转换到Markdown 【免费下载链接】onenote-md-exporter ConsoleApp to export OneNote notebooks to Markdown formats 项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter 你是否厌倦了微软OneNote的…

2026/7/5 14:42:23 阅读更多 →
Text-to-CAD革命:用自然语言重构机械设计工作流

Text-to-CAD革命:用自然语言重构机械设计工作流

Text-to-CAD革命:用自然语言重构机械设计工作流 【免费下载链接】text-to-cad-ui A lightweight UI for interacting with the Zoo Text-to-CAD API. 项目地址: https://gitcode.com/gh_mirrors/te/text-to-cad-ui 传统机械设计流程中,工程师需要…

2026/7/5 14:38:22 阅读更多 →
GIF图像使用的压缩算法是LZW(Lempel-Ziv-Welch)算法

GIF图像使用的压缩算法是LZW(Lempel-Ziv-Welch)算法

GIF图像使用的压缩算法是LZW(Lempel-Ziv-Welch)算法。这是一种无损数据压缩算法,专为重复模式较多的图像(如图形、图标、文字等)设计,适用于GIF格式的8位调色板图像。LZW在GIF规范(GIF87a和GIF8…

2026/7/5 14:38:22 阅读更多 →
Realtek RTL8125 2.5GbE网卡驱动:DKMS安装与优化完整指南

Realtek RTL8125 2.5GbE网卡驱动:DKMS安装与优化完整指南

Realtek RTL8125 2.5GbE网卡驱动:DKMS安装与优化完整指南 【免费下载链接】realtek-r8125-dkms A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE. 项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms Realtek R…

2026/7/5 14:38:22 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻