基于MinimaxH3与DeepSeek构建AI Agent自动化流程实战指南

📅 2026/8/24 2:33:59
基于MinimaxH3与DeepSeek构建AI Agent自动化流程实战指南
最近在尝试将大语言模型LLM与自动化流程结合时发现网上关于具体落地的教程要么过于零散要么只停留在概念层面。特别是想利用像 DeepSeek 这样的开源模型结合 MinimaxH3 这类推理框架来构建一个能自主执行任务的 AI Agent整个过程从环境搭建到流程编排每一步都可能遇到版本兼容、API调用、提示词设计等“拦路虎”。本文将以一个生动有趣的“王大爷的棋”小故事为背景手把手带你走通一个完整的 AI Agent 自动化流程。我们将使用 MinimaxH3 作为本地推理引擎调用 DeepSeek 模型并构建一个能理解任务、规划步骤、执行动作的智能体。无论你是想了解 AI Agent 开发流程的初学者还是希望将开源模型集成到现有系统的开发者这篇从零到一的实战指南都能提供可直接复用的代码和清晰的排错思路。1. 背景与核心概念从故事到技术栈在深入代码之前我们有必要厘清几个核心概念并理解我们即将构建的“王大爷的棋”Agent 究竟要做什么。1.1 故事背景与需求分析“王大爷的棋”是一个虚构的趣味场景社区里的王大爷每天下午喜欢在公园下棋但他的棋友李大爷有时会爽约。王大爷希望有一个“智能助手”能帮他完成以下自动化流程信息获取每天下午2点自动检查天气预报判断是否下雨。决策与沟通如果天气好则自动给李大爷发送一条提醒短信模拟如果天气不好则自动在王大爷的家庭群里发一条消息说明今天不适合下棋。总结报告无论是否成行最后生成一份简单的日志记录今天的决策和操作。这个流程虽然简单但涵盖了 AI Agent 的典型环节感知获取天气、规划决定发什么消息、执行调用短信/群聊接口、反思生成日志。1.2 技术组件拆解为了实现这个故事我们需要组合以下几项技术DeepSeek 这里指的是 DeepSeek 公司发布的开源大语言模型例如 DeepSeek-Coder, DeepSeek-LLM 等。它是我们 Agent 的“大脑”负责理解我们的指令、分析天气信息、并生成合理的决策和消息文本。我们将通过其 API 来调用它。MinimaxH3 这是一个高性能的推理框架或 API 服务专门用于部署和高效运行各类大语言模型。你可以把它想象成一个强大的“模型服务器”或“推理引擎”。我们的程序将通过调用 MinimaxH3 提供的接口来访问其背后搭载的 DeepSeek 模型从而获得模型的响应。它解决了本地直接部署大型模型带来的硬件和复杂度问题。AI Agent 智能体。它不是某个具体的软件而是一种设计模式或系统。在我们的上下文中Agent 是一个自动化程序它利用 DeepSeek 模型通过 MinimaxH3作为核心决策器并按照预定的工作流获取天气 - 决策 - 执行动作 - 记录来完成任务。Agent 框架如 LangChain, AutoGen 等可以简化这一过程但本文为了清晰我们将从基础原理开始构建。1.3 为什么是 MinimaxH3 DeepSeek 的组合灵活性MinimaxH3 支持多种模型方便我们切换或测试不同的 DeepSeek 版本或其他开源模型。本地/私有化部署MinimaxH3 可以部署在本地服务器保障数据隐私避免将敏感信息如联系人、模拟消息内容发送到公有云。成本与性能使用开源模型 DeepSeek 可能比商用 API 成本更低结合 MinimaxH3 的优化能在有限资源下获得不错的响应速度。学习价值这个组合涉及了模型服务化、API 调用、提示工程、工作流编排等多个现代 AI 应用开发的关键技能点。2. 环境准备与版本说明在开始编写故事之前我们需要搭建好舞台。以下环境配置是完成本教程的基础。2.1 基础软件环境操作系统 Ubuntu 20.04 LTS 或更高版本 / Windows 10/11 with WSL2 / macOS Monterey 及以上。本文命令以 Linux/WSL 环境为例。Python 版本 3.8 - 3.10。推荐使用 3.9这是多数深度学习框架兼容性较好的版本。确保已安装pip。python3 --version pip3 --version代码编辑器 VS Code, PyCharm 或任何你熟悉的 IDE。2.2 MinimaxH3 推理服务部署MinimaxH3 的部署方式是本项目的关键。根据网络热词它有一键懒人包也支持标准部署。这里我们介绍两种常见思路思路A使用预构建的整合包/懒人包适合快速启动如果你搜索到了minimaxh3本地一键懒人包通常意味着社区提供了打包好的可执行文件或 Docker 镜像。请遵循其特定说明一般步骤可能如下从可靠来源下载整合包。解压后阅读README.md或启动说明.txt。运行其中的启动脚本如./start.sh或docker-compose up。验证服务是否在本地特定端口如http://localhost:8000启动成功。思路B从源码或标准方式部署适合自定义如果没有懒人包你可能需要参考其官方或社区文档进行部署。这通常涉及克隆仓库或下载发布版本。安装依赖可能包括 PyTorch, transformers 等。下载 DeepSeek 模型权重文件如从 Hugging Face。配置模型路径和服务器参数。启动推理服务。无论采用哪种方式我们的目标都是在本地启动一个 MinimaxH3 服务它加载了 DeepSeek 模型并提供了一个我们可以通过 HTTP 请求访问的 API 端点。假设最终的服务地址为http://localhost:8000/v1。2.3 Python 项目环境搭建在我们编写 Agent 的目录下创建独立的虚拟环境并安装必要的库。创建项目目录并进入mkdir grandpa_chess_agent cd grandpa_chess_agent创建虚拟环境python3 -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows安装核心依赖我们需要requests来调用 APIschedule或apscheduler来定时任务python-dotenv管理配置。pip install requests python-dotenv apscheduler如果你的 MinimaxH3 服务需要特定的客户端库请一并安装。2.4 项目结构预览在开始编码前先规划好我们的项目结构这有助于代码管理。grandpa_chess_agent/ ├── .env # 配置文件存放API地址、密钥等不上传git ├── config.py # 配置加载模块 ├── minimax_client.py # 封装与MinimaxH3服务通信的客户端 ├── weather_client.py # 模拟或真实获取天气的客户端 ├── message_sender.py # 模拟发送短信和群消息的模块 ├── agent_core.py # Agent的核心逻辑与工作流 ├── main.py # 程序主入口调度定时任务 └── requirements.txt # 项目依赖列表3. 核心原理与组件封装一个健壮的 Agent 需要将不同功能模块化。我们先逐一实现这些“积木”。3.1 配置管理 (config.py)使用环境变量来管理配置避免将敏感信息硬编码在代码中。# config.py import os from dotenv import load_dotenv load_dotenv() # 加载 .env 文件中的变量 class Config: # MinimaxH3 服务配置 MINIMAX_BASE_URL os.getenv(MINIMAX_BASE_URL, http://localhost:8000/v1) # 如果服务需要API Key在此配置 MINIMAX_API_KEY os.getenv(MINIMAX_API_KEY, your-minimax-api-key-if-any) # 模拟的天气API配置此处我们用模拟数据真实情况可替换为和风、OpenWeatherMap等 WEATHER_API_KEY os.getenv(WEATHER_API_KEY, simulated) WEATHER_CITY os.getenv(WEATHER_CITY, Beijing) # 模拟的消息发送配置 LI_GRANDPA_PHONE os.getenv(LI_GRANDPA_PHONE, 13800138000) FAMILY_GROUP_ID os.getenv(FAMILY_GROUP_ID, family_chat_001) # Agent 行为配置 CHECK_TIME os.getenv(CHECK_TIME, 14:00) # 每天检查时间 # 创建全局配置实例 config Config()在项目根目录创建.env文件并填写你的实际配置示例# .env MINIMAX_BASE_URLhttp://localhost:8000/v1 MINIMAX_API_KEYsk-xxxxxxxxxxxx WEATHER_CITYBeijing CHECK_TIME14:003.2 MinimaxH3 客户端 (minimax_client.py)这个模块负责与部署好的 MinimaxH3DeepSeek 服务进行对话。我们需要构造符合其 API 格式的请求。# minimax_client.py import requests import json from config import config class MinimaxClient: def __init__(self): self.base_url config.MINIMAX_BASE_URL self.api_key config.MINIMAX_API_KEY self.headers { Content-Type: application/json, # 如果服务需要认证添加认证头例如 # Authorization: fBearer {self.api_key} } # 假设MinimaxH3服务兼容OpenAI API格式这是常见做法。 # 具体端点请根据MinimaxH3的实际API文档调整。 self.chat_completion_url f{self.base_url}/chat/completions def chat_completion(self, messages, modeldeepseek-chat, temperature0.7, max_tokens500): 向MinimaxH3服务发送聊天补全请求。 Args: messages (list): 消息列表格式如 [{role: user, content: 你好}] model (str): 模型名称根据部署的模型修改。 temperature (float): 采样温度控制随机性。 max_tokens (int): 生成的最大token数。 Returns: str: 模型返回的文本内容。 payload { model: model, messages: messages, temperature: temperature, max_tokens: max_tokens } try: response requests.post( self.chat_completion_url, headersself.headers, datajson.dumps(payload), timeout30 # 设置超时 ) response.raise_for_status() # 如果状态码不是200抛出异常 result response.json() # 解析响应结构可能因API而异这里是一个通用示例 if choices in result and len(result[choices]) 0: return result[choices][0][message][content].strip() else: print(fUnexpected API response: {result}) return None except requests.exceptions.RequestException as e: print(fError calling MinimaxH3 API: {e}) if hasattr(e, response) and e.response is not None: print(fResponse text: {e.response.text}) return None except (KeyError, json.JSONDecodeError) as e: print(fError parsing API response: {e}) return None # 创建一个全局客户端实例方便使用 minimax_client MinimaxClient()3.3 天气客户端 (weather_client.py)为了简化我们模拟一个天气查询。在实际应用中你可以替换为真正的天气 API 调用。# weather_client.py import random from datetime import datetime # 如果使用真实API例如和风天气 # import requests # from config import config class WeatherClient: 模拟天气客户端返回随机的天气情况。 staticmethod def get_weather(cityBeijing): 模拟获取天气信息。 真实场景下这里应调用如 https://dev.qweather.com/ 的API。 Returns: dict: 包含天气描述的字典。 # 模拟数据 weather_conditions [晴, 多云, 阴, 小雨, 中雨, 大雨, 雷阵雨] condition random.choice(weather_conditions) temperature random.randint(15, 35) # 简单逻辑如果天气包含“雨”则认为不适合下棋 is_good_weather 雨 not in condition weather_info { city: city, condition: condition, temperature: temperature, is_good_weather: is_good_weather, update_time: datetime.now().strftime(%Y-%m-%d %H:%M:%S) } print(f[WeatherClient] 获取到{city}的天气: {condition}, {temperature}°C, 适合下棋: {is_good_weather}) return weather_info # 真实API调用示例注释 class RealWeatherClient: def __init__(self): self.api_key config.WEATHER_API_KEY self.base_url https://devapi.qweather.com/v7/weather/now def get_weather(self, city): params { location: city, # 需要城市ID key: self.api_key } resp requests.get(self.base_url, paramsparams) data resp.json() condition data[now][text] is_good_weather 雨 not in condition return { condition: condition, is_good_weather: is_good_weather, ... # 其他字段 } 3.4 消息发送器 (message_sender.py)同样我们模拟短信和群消息的发送。真实集成可能需要调用运营商 API 或即时通讯工具的机器人接口。# message_sender.py import time from config import config class MessageSender: 模拟消息发送器。 staticmethod def send_sms(to_phone, content): 模拟发送短信给李大爷。 print(f[MessageSender] 正在发送短信至 {to_phone}...) time.sleep(0.5) # 模拟网络延迟 print(f[MessageSender] ✅ 短信发送成功) print(f └─ 内容: {content}) # 真实情况下这里可能是 requests.post(短信网关URL, data{...}) return True staticmethod def send_group_message(group_id, content): 模拟在家庭群发送消息。 print(f[MessageSender] 正在向群【{group_id}】发送消息...) time.sleep(0.5) print(f[MessageSender] ✅ 群消息发送成功) print(f └─ 内容: {content}) # 真实情况下这里可能是调用钉钉/飞书/微信机器人Webhook return True4. Agent 核心逻辑与工作流编排现在我们将上述“积木”组装起来构建 Agent 的大脑和决策流程。4.1 提示词Prompt设计与 LLM 交互的核心是提示词。我们需要设计清晰的提示词来引导 DeepSeek 模型做出合理决策并生成得体的消息。# agent_core.py 中的提示词模板 WEATHER_DECISION_PROMPT_TEMPLATE 你是一个帮助王大爷管理日常下棋事务的智能助手。 当前情况如下 - 时间{current_time} - 地点{city} - 当前天气{weather_condition}温度 {temperature} 摄氏度。 请根据以上信息严格遵循以下规则做出决策并生成相应内容 1. **决策**如果天气适合户外下棋即天气晴朗、多云等且没有下雨请决定“邀请李大爷”否则如下雨请决定“取消活动通知家人”。 2. **生成消息** a) 如果决定“邀请李大爷”请生成一条发给李大爷的**短信**语气亲切、简短提醒他下午来下棋。 b) 如果决定“取消活动通知家人”请生成一条发到“王氏家庭群”的**群消息**说明因天气原因取消今日棋局让大家勿念。 3. **生成日志摘要**用一句话简要总结今天的决策和行动。 请以以下JSON格式输出不要有任何其他解释 {{ decision: 你的决策只能是【邀请李大爷】或【取消活动通知家人】, message: 根据决策生成的具体消息文本, log_summary: 一句话日志摘要 }} 4.2 Agent 工作流实现agent_core.py包含了整个自动化流程的核心逻辑。# agent_core.py import json import traceback from datetime import datetime from config import config from minimax_client import minimax_client from weather_client import WeatherClient from message_sender import MessageSender class GrandpaChessAgent: def __init__(self): self.weather_client WeatherClient() self.message_sender MessageSender() self.client minimax_client def run_daily_check(self): 执行每日检查的完整工作流。 print(f\n{*50}) print(f[Agent] 开始执行王大爷的棋局检查任务 ({datetime.now().strftime(%Y-%m-%d %H:%M:%S)})) print(f{*50}) try: # 步骤 1: 感知 - 获取天气信息 weather_info self.weather_client.get_weather(config.WEATHER_CITY) if not weather_info: print([Agent] ❌ 获取天气信息失败任务终止。) return # 步骤 2: 规划与决策 - 调用 LLM 分析并生成决策和消息 llm_response self._call_llm_for_decision(weather_info) if not llm_response: print([Agent] ❌ LLM 决策失败任务终止。) return # 解析 LLM 返回的 JSON try: action_plan json.loads(llm_response) decision action_plan.get(decision) message_to_send action_plan.get(message) log_summary action_plan.get(log_summary) if not all([decision, message_to_send, log_summary]): raise ValueError(LLM 返回的 JSON 缺少必要字段) except (json.JSONDecodeError, ValueError) as e: print(f[Agent] ❌ 解析 LLM 响应失败: {e}) print(f原始响应: {llm_response}) return print(f[Agent] LLM 决策结果: {decision}) print(f[Agent] 生成消息: {message_to_send}) # 步骤 3: 执行 - 根据决策发送消息 success False if decision 邀请李大爷: success self.message_sender.send_sms(config.LI_GRANDPA_PHONE, message_to_send) elif decision 取消活动通知家人: success self.message_sender.send_group_message(config.FAMILY_GROUP_ID, message_to_send) else: print(f[Agent] ❌ 无法识别的决策: {decision}) return # 步骤 4: 反思与记录 - 生成并保存日志 if success: self._record_log(weather_info, decision, log_summary) print(f[Agent] ✅ 今日任务执行完毕) else: print(f[Agent] ❌ 消息发送失败任务未完成。) except Exception as e: print(f[Agent] 任务执行过程中发生未预期错误: {e}) traceback.print_exc() def _call_llm_for_decision(self, weather_info): 构造提示词并调用 MinimaxH3 服务。 prompt WEATHER_DECISION_PROMPT_TEMPLATE.format( current_timedatetime.now().strftime(%Y-%m-%d %H:%M), cityweather_info[city], weather_conditionweather_info[condition], temperatureweather_info[temperature] ) messages [ {role: system, content: 你是一个严谨的决策助手必须严格按照用户指令输出JSON格式的结果。}, {role: user, content: prompt} ] print(f[Agent] 向 LLM 发送请求...) response self.client.chat_completion(messages, temperature0.2) # 低温度保证输出稳定 return response def _record_log(self, weather_info, decision, summary): 将本次任务执行结果记录到本地文件。 log_entry { timestamp: datetime.now().isoformat(), weather: weather_info, decision: decision, summary: summary } try: with open(agent_execution.log, a, encodingutf-8) as f: f.write(json.dumps(log_entry, ensure_asciiFalse) \n) print(f[Agent] 日志已记录。) except IOError as e: print(f[Agent] ⚠️ 日志记录失败: {e}) # 创建全局 Agent 实例 agent GrandpaChessAgent()5. 主程序与定时调度最后我们需要一个入口点来触发 Agent 的执行。这里我们使用APScheduler来实现每天定时运行。# main.py import sys import os sys.path.append(os.path.dirname(os.path.abspath(__file__))) from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.triggers.cron import CronTrigger from datetime import datetime from config import config from agent_core import agent def job_function(): 定时任务要执行的函数 print(f\n⏰ 定时任务触发于 {datetime.now()}) agent.run_daily_check() def main(): print(王大爷的棋 - AI Agent 自动化服务启动...) print(f配置检查: MinimaxH3服务端: {config.MINIMAX_BASE_URL}) print(f 每日检查时间: {config.CHECK_TIME}) # 创建调度器 scheduler BlockingScheduler() # 解析配置中的时间格式为 HH:MM try: hour, minute map(int, config.CHECK_TIME.split(:)) except ValueError: print(时间格式错误请使用 HH:MM 格式例如 14:00。将使用默认时间 14:00。) hour, minute 14, 0 # 添加每日定时任务 trigger CronTrigger(hourhour, minuteminute) scheduler.add_job(job_function, trigger, iddaily_chess_check) print(f✅ 已安排每日任务于 {hour:02d}:{minute:02d} 执行。) print(服务正在运行按 CtrlC 退出。) # 可选立即运行一次进行测试 # print(\n【测试执行】) # agent.run_daily_check() try: scheduler.start() except (KeyboardInterrupt, SystemExit): print(\n服务已停止。) if __name__ __main__: main()6. 运行与验证现在让我们把整个项目跑起来看看“王大爷的智能助手”是如何工作的。6.1 启动服务与运行 Agent确保 MinimaxH3 服务已启动在你的终端中确保 MinimaxH3 服务正在运行例如在http://localhost:8000。# 假设你在MinimaxH3服务目录下 # ./start.sh 或 docker-compose up -d # 使用 curl 测试服务是否健康 curl http://localhost:8000/v1/models # 期望返回类似 {object:list,data:[{id:deepseek-chat,...}]} 的响应运行我们的 Agent 程序在项目根目录下激活虚拟环境并运行主程序。cd /path/to/grandpa_chess_agent source venv/bin/activate # 激活虚拟环境 python main.py你会看到类似以下的输出表示调度器已启动王大爷的棋 - AI Agent 自动化服务启动... 配置检查: MinimaxH3服务端: http://localhost:8000/v1 每日检查时间: 14:00 ✅ 已安排每日任务于 14:00 执行。 服务正在运行按 CtrlC 退出。手动触发测试可选为了立即测试你可以在main.py中取消注释测试部分或者直接运行python -c from agent_core import agent; agent.run_daily_check()6.2 预期输出与结果分析一次成功的运行控制台输出可能如下 [Agent] 开始执行王大爷的棋局检查任务 (2023-10-27 14:00:00) [WeatherClient] 获取到Beijing的天气: 晴, 28°C, 适合下棋: True [Agent] 向 LLM 发送请求... [Agent] LLM 决策结果: 邀请李大爷 [Agent] 生成消息: 李大爷下午天气不错公园老地方棋局约起 [MessageSender] 正在发送短信至 13800138000... [MessageSender] ✅ 短信发送成功 └─ 内容: 李大爷下午天气不错公园老地方棋局约起 [Agent] 日志已记录。 [Agent] ✅ 今日任务执行完毕同时项目根目录下会生成一个agent_execution.log文件里面以 JSON 格式记录了每次执行的详细情况。6.3 关键环节验证MinimaxH3 API 调用成功看到[Agent] 向 LLM 发送请求...后没有立即报错且收到了决策结果。LLM 决策符合预期决策“邀请”或“取消”与模拟的天气情况逻辑一致。消息生成自然生成的消息文本通顺、符合场景。执行流程完整整个感知-规划-执行-记录的闭环顺利完成。7. 常见问题与排查思路在实际部署和运行中你可能会遇到以下问题。这里提供一份排查清单。问题现象可能原因排查步骤与解决方案启动main.py时报ModuleNotFoundError依赖未安装或虚拟环境未激活。1. 确认已激活虚拟环境 (source venv/bin/activate)。2. 运行pip install -r requirements.txt安装所有依赖。调用 MinimaxH3 API 失败连接被拒绝MinimaxH3 服务未启动或地址/端口错误。1. 检查 MinimaxH3 服务进程是否运行 (ps auxAPI 调用返回 401/403 错误API 密钥错误或缺失。1. 检查 MinimaxH3 服务是否需要认证。2. 查看其文档确认正确的认证方式如 Bearer Token。3. 在.env文件中正确设置MINIMAX_API_KEY并在minimax_client.py的headers中添加。API 调用返回 404 错误API 端点路径不正确。1. 查阅 MinimaxH3 的 API 文档确认聊天补全的正确端点路径可能是/chat/completions,/v1/chat/completions等。2. 修改minimax_client.py中的self.chat_completion_url。LLM 返回内容不是 JSON 格式提示词设计不佳或模型未遵循指令。1. 在agent_core.py中打印出原始的llm_response检查模型返回了什么。2.优化提示词在system消息中强调“必须输出 JSON”在user提示中明确 JSON 结构降低temperature参数如设为 0.2减少随机性。3. 在提示词末尾加上“确保你的输出是有效的 JSON可以直接被json.loads()解析。”json.loads()解析失败LLM 返回的文本包含额外标记或解释。1. 在解析前尝试清洗响应文本cleaned_response llm_response.strip().replace(json, ).replace(, )。2. 实现一个更健壮的解析函数尝试提取 JSON 部分。定时任务不执行系统时区问题或调度器配置错误。1. 检查系统时区。APScheduler默认使用服务器时区。2. 在main.py的CronTrigger中显式指定时区CronTrigger(hourhour, minuteminute, timezoneAsia/Shanghai)。3. 先测试立即执行的任务是否能跑通。程序运行一次后退出BlockingScheduler可能因异常退出。1. 在job_function和agent.run_daily_check()内部用try...except捕获所有异常避免异常抛出导致调度器停止。2. 查看日志文件或控制台输出的错误信息。8. 最佳实践与扩展建议这个简单的故事项目已经搭建了一个 AI Agent 的骨架。要将其用于更严肃的场景需要考虑以下工程化实践和扩展方向。8.1 工程化最佳实践配置中心化我们已经使用了.env文件在生产环境中可以考虑使用 Apollo、Nacos 等配置中心实现动态配置更新。日志标准化使用logging模块替代print可以设置不同日志级别INFO, ERROR, DEBUG并输出到文件和控制台方便排查问题。异常处理与重试网络请求如调用天气 API、LLM API可能失败。应添加重试机制如使用tenacity库和优雅降级策略如使用缓存的上一次天气数据。任务队列与异步对于耗时任务或需要高并发的场景可以将任务放入 Redis 或 RabbitMQ 队列由后台 Worker 异步执行避免阻塞主调度线程。监控与告警为 Agent 添加健康检查端点并集成监控系统如 Prometheus。当连续多次任务失败或 LLM 服务不可用时发送告警通知邮件、钉钉、Slack。8.2 功能扩展方向集成真实 API天气替换WeatherClient接入中国天气网、和风天气等提供的免费或商业 API。消息推送替换MessageSender集成云短信服务如阿里云、腾讯云 SMS或即时通讯工具机器人企业微信、钉钉、飞书 Webhook。增强 Agent 能力记忆为 Agent 添加简单的记忆功能例如记录李大爷上次是否赴约本次提醒时提及“上次您没来这次可别忘了”。工具调用让 Agent 不仅能生成文本还能直接调用工具函数。例如直接调用send_sms函数而不仅仅是返回消息文本。这需要更复杂的 Agent 框架如 LangChain、AutoGen支持。多步骤规划任务可能更复杂例如“先查天气再查李大爷的日历最后结合两者决策”。这需要 LLM 具备更强的规划能力或使用 Chain-of-Thought 提示技术。模型与框架升级切换模型MinimaxH3 可能支持多个模型。你可以尝试切换不同的 DeepSeek 版本如 DeepSeek-Coder 用于生成代码日志或其他开源模型观察效果和成本。使用成熟 Agent 框架对于复杂 Agent建议基于 LangChain 或 LlamaIndex 进行开发。它们提供了现成的 LLM 封装、工具调用模板、记忆管理和链式工作流能极大提升开发效率。# LangChain 示例思路 from langchain.agents import initialize_agent, Tool from langchain.chains import LLMChain # ... 定义获取天气、发送消息的工具函数 # 将工具和 LLM 封装成 Agent通过“王大爷的棋”这个趣味项目我们完整实践了从本地模型服务部署MinimaxH3DeepSeek、提示词工程、模块化编程到工作流编排的 AI Agent 开发全流程。这个项目麻雀虽小五脏俱全涵盖了构建实用 AI 智能体所需的核心概念和常见技术挑战。你可以以此为基础将其思想应用到更复杂的自动化场景中例如智能客服、数据分析报告生成、自动化运维等真正释放 AI 代理的潜力。