资讯动态

基于本地LLM与LangChain构建AI Agent:从自动化脚本到智能副驾的实战指南

发布时间:2026/8/7 4:51:13 来源:尧图企业网站定制
1. 从“重复劳动”到“智能副驾”一个AI Agent系统的诞生如果你和我一样每天的工作流里充斥着大量重复、琐碎但又不得不做的“体力活”——比如定时从几十个微信群里爬取特定格式的通知、整理到Excel再手动发邮件或者每天上班第一件事就是打开七八个内部系统把数据抄下来汇总成日报又或者需要时刻盯着某个网页的更新一旦有变化就立刻通知到人——那么你一定能理解“重复劳动”这四个字背后那种日复一日的疲惫与低效。这些任务技术门槛不高但极其消耗时间和注意力让人无法聚焦在更有创造性的核心工作上。过去我们可能会写一些脚本Python、Shell来尝试自动化但很快就会发现现实世界远比脚本复杂网站改版了、接口变了、文件格式调整了、甚至微信封号了……每一个微小的变动都需要人工介入修改代码维护成本居高不下。更别提那些需要一点点“智能判断”的场景比如从一段聊天记录里提取关键信息时间、地点、人物或者根据邮件内容自动分类并回复一个简单的“收到”。这正是AI Agent大显身手的地方。它不是一个简单的定时任务脚本而是一个能感知环境、理解指令、规划步骤、使用工具并自主执行复杂工作流的“智能副驾”。我搭建的这套全天候自动化系统核心目标就是将这些烦人的重复劳动交给一个7x24小时在线、不知疲倦、且具备基础认知能力的AI Agent去处理。它运行在我的本地开发环境基于WSL2中通过模拟操作与API调用相结合的方式打通了从信息采集如微信、数据处理到最终通知的完整闭环。本文将毫无保留地分享从零搭建这套系统的完整思路、核心架构、避坑指南以及可直接运行的代码让你也能拥有自己的“数字员工”。2. 系统核心架构AI Agent如何思考与行动在深入代码之前我们必须先厘清这套系统的“大脑”是如何工作的。一个完整的AI Agent系统通常包含几个核心模块我将其概括为“感知-思考-行动”循环。2.1 感知层环境信息的输入与标准化Agent不是活在真空里的它需要“看到”和“听到”。在我们的场景中感知层负责从各个渠道获取原始信息并将其转化为Agent能够理解的标准化格式。信息源对于个人自动化而言微信群消息、公众号、网页、电子邮件、本地文件如新下载的报表是最常见的信息源。采集方式微信这是最复杂的一环。绝对不建议使用任何破解版或非官方客户端进行自动化风险极高。我采用的是一种合规且稳定的方案通过微信提供的官方网页版接口需要配合特定库模拟登录或者使用经过验证的、基于Windows UI自动化如pyautogui、uiautomation的桌面客户端控制方案。后者虽然效率稍低但更接近真人操作被封控的风险相对较小。在代码中我会提供一个基于UI自动化的基础框架。网页使用requests静态页或selenium/playwright动态页进行抓取。关键在于设置合理的请求头、处理Cookie以及应对反爬策略。文件系统使用Python的watchdog库监控特定文件夹一旦有符合规则的新文件产生就触发处理流程。标准化原始信息可能是文本、图片、链接需要被清洗和结构化。例如一段微信群消息会被提取出发送人、时间、纯文本内容。这一步的输出是一个结构化的字典或JSON对象我们称之为“事件Event”。2.2 思考层大语言模型LLM作为决策中枢这是Agent的“大脑”。它接收来自感知层的标准化“事件”结合预设的“目标”和“记忆”决定下一步该做什么。角色与目标设定你需要用自然语言清晰地告诉LLM“你是一个行政助理负责从群消息中提取会议通知。” 这个设定会被写入系统提示词System Prompt贯穿整个决策过程。规划与决策LLM的核心任务是根据当前“事件”和“目标”生成一个可执行的“计划Plan”。这个计划通常是一系列步骤。例如事件是“群里有人发了一个会议时间‘明天下午3点开会’”LLM的规划可能是1. 解析出确切时间“2024-05-XX 15:00”2. 检查日历是否有冲突3. 若无冲突创建日历事件4. 在群里回复“已安排”。工具使用Tool CallingLLM自己不能操作微信或写文件它需要通过调用“工具Tools”来执行具体操作。我们需要将一系列函数如send_wechat_message,read_calendar,write_to_excel封装成工具并清晰地用自然语言描述它们的功能和参数。LLM在规划时会决定在哪个步骤调用哪个工具并生成正确的调用参数。这是Agent自动化的关键魔法。记忆Memory为了让Agent有上下文需要短期记忆当前对话和长期记忆存储到向量数据库的历史重要事件。例如当群里在讨论一个项目时Agent需要记住之前提到的项目代号和负责人才能在后续对话中正确理解。2.3 行动层工具函数的实际执行思考层决定了“做什么”行动层负责“怎么做”。每个工具函数都是一个具体的Python函数它接收LLM生成的参数去执行真实世界的操作。工具示例get_webpage_content(url: str) - str获取网页正文。analyze_document(file_path: str, query: str) - str解析PDF/Word文档回答特定问题。send_notification_via_email(title: str, content: str, recipient: str)发送邮件通知。update_spreadsheet(sheet_id: str, data: list)向Google Sheets写入数据。执行与反馈工具执行后会返回一个结果成功或失败附带数据。这个结果会被反馈给思考层LLMLLM根据结果决定下一步是继续执行计划还是因为出错而调整计划。这就构成了一个完整的“感知-思考-行动”闭环。我的系统架构图可以简化为以下流程[微信监控/网页爬虫] - (生成标准化事件) - [事件队列] - [主控Agent] - (调用LLM进行规划) - [工具集] - (执行操作) - [结果反馈] - [记忆更新]整个系统以微服务的形式运行在WSL2下的Docker容器中通过消息队列如Redis解耦各个模块确保稳定性和可扩展性。3. 开发环境搭建WSL2、Python与模型本地化工欲善其事必先利其器。一个稳定、隔离且高效的开发环境是基础。我强烈推荐使用WSL2Windows Subsystem for Linux 2作为开发环境它完美融合了Windows的易用性和Linux的开发效率。3.1 WSL2的配置与优化如果你尚未安装WSL2以下是精简步骤启用功能以管理员身份打开PowerShell运行dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart和dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启电脑。安装内核更新包从微软官网下载并安装WSL2 Linux内核更新包。设置默认版本在PowerShell中运行wsl --set-default-version 2。安装Ubuntu打开Microsoft Store搜索并安装Ubuntu 22.04 LTS。安装后启动设置用户名和密码。安装完成后进行关键优化内存与CPU限制在Windows用户目录C:\Users\你的用户名\下创建或编辑.wslconfig文件内容如下防止WSL2占用过多主机资源[wsl2] memory4GB # 限制最大内存根据你的主机调整 processors2 # 限制使用的CPU核心数 localhostForwardingtrue文件系统访问在WSL2中你可以通过/mnt/c/直接访问Windows的C盘数据交换非常方便。3.2 Python环境与关键库在WSL2的Ubuntu终端中我们配置Python环境# 1. 更新包列表并安装Python3和pip sudo apt update sudo apt install python3 python3-pip python3-venv -y # 2. 为项目创建独立的虚拟环境强烈推荐 mkdir ~/ai_agent_project cd ~/ai_agent_project python3 -m venv venv source venv/bin/activate # 激活虚拟环境 # 3. 安装核心依赖 pip install --upgrade pip # 基础框架与LLM交互 pip install langchain langchain-community langchain-core # 可选使用OpenAI API如需本地模型则看下一节 # pip install openai # 计划与执行框架LangGraph或自定义 pip install langgraph # 用于构建有状态的Agent工作流 # 网页抓取与自动化 pip install requests beautifulsoup4 selenium playwright # 微信自动化这是一个示例库实际需谨慎选择 # pip install itchat-uos # 注意此类库稳定性存疑仅用于演示原理 # 消息队列与进程通信 pip install redis celery # 环境变量管理 pip install python-dotenv3.3 LLM模型选择与本地部署使用云端API如OpenAI GPT-4简单快捷但涉及费用和网络延迟。对于全天候运行的自动化系统我倾向于使用本地部署的轻量级开源模型保证隐私、可控和零延迟。模型选型对于自动化任务模型不需要极强的创作能力但需要优秀的指令遵循Instruction Following和工具调用Tool Calling能力。推荐以下几个经过验证的模型Qwen2.5-Coder-7B-Instruct通义千问的代码模型工具调用能力极强非常适合Agent场景。DeepSeek-Coder-V2-Lite-Instruct深度求索的模型在代码和推理上表现均衡。Llama-3.2-3B-InstructMeta最新小模型3B参数在消费级GPU上即可流畅运行指令遵循能力不错。本地部署方案使用Ollama这是最简单的本地模型运行工具。在WSL2中安装curl -fsSL https://ollama.com/install.sh | sh。然后拉取并运行模型ollama run qwen2.5-coder:7b。Ollama提供了类OpenAI的API接口默认在11434端口可以直接被LangChain调用。使用vLLM或LM Studio如果你有GPU且追求极致性能vLLM是生产级选择。LM Studio则提供了图形界面方便在Windows上管理模型但其API同样可在WSL2中调用。在代码中连接本地模型以Ollama为例from langchain_community.llms import Ollama from langchain_core.prompts import ChatPromptTemplate # 连接到本地Ollama服务 llm Ollama(modelqwen2.5-coder:7b, base_urlhttp://localhost:11434) # 测试调用 prompt ChatPromptTemplate.from_template(你好请介绍一下你自己。) chain prompt | llm response chain.invoke({}) print(response)至此一个包含强大本地大脑LLM的AI Agent开发环境就准备就绪了。4. 核心代码拆解构建一个微信信息处理Agent让我们聚焦于一个最实用的场景自动处理微信工作群里的特定消息。假设我们的目标是监控“项目日报群”当有人发送以“【日报】”开头的消息时自动提取其中的项目名称、今日进展和明日计划并整理归档到Notion数据库或Google Sheets。4.1 第一步设计工具集Tools工具是Agent的手和脚。我们先定义几个必备工具。# tools.py import json import requests from datetime import datetime from typing import Dict, Any import logging logging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__) class NotionClient: 一个简化的Notion操作客户端 def __init__(self, api_token: str, database_id: str): self.headers { Authorization: fBearer {api_token}, Content-Type: application/json, Notion-Version: 2022-06-28 } self.database_id database_id def create_page(self, properties: Dict[str, Any]) - bool: 在指定数据库中创建一条记录 url https://api.notion.com/v1/pages data { parent: {database_id: self.database_id}, properties: properties } try: response requests.post(url, headersself.headers, jsondata) response.raise_for_status() logger.info(f成功创建Notion页面: {properties.get(项目名称, {})}) return True except requests.exceptions.RequestException as e: logger.error(f创建Notion页面失败: {e}) return False # 实例化Notion客户端密钥从环境变量读取 import os from dotenv import load_dotenv load_dotenv() NOTION_TOKEN os.getenv(NOTION_TOKEN) NOTION_DB_ID os.getenv(NOTION_DATABASE_ID) notion_client NotionClient(NOTION_TOKEN, NOTION_DB_ID) if NOTION_TOKEN and NOTION_DB_ID else None def tool_save_to_notion(project_name: str, today_progress: str, tomorrow_plan: str, date: str None) - str: 将提取的日报信息保存到Notion数据库。 Args: project_name: 项目名称 today_progress: 今日进展 tomorrow_plan: 明日计划 date: 日期默认为今天 Returns: 执行结果描述 if notion_client is None: return 错误Notion客户端未正确配置请检查环境变量。 if date is None: date datetime.now().strftime(%Y-%m-%d) properties { 项目名称: {title: [{text: {content: project_name}}]}, 日期: {date: {start: date}}, 今日进展: {rich_text: [{text: {content: today_progress}}]}, 明日计划: {rich_text: [{text: {content: tomorrow_plan}}]} } success notion_client.create_page(properties) if success: return f成功将项目{project_name}的日报保存至Notion日期{date}。 else: return f保存项目{project_name}的日报到Notion时失败。 def tool_send_wechat_reply(contact_name: str, reply_content: str) - str: 模拟向微信联系人发送回复消息。 **注意** 实际实现依赖于你选择的微信自动化方案这里仅模拟。 # 此处应替换为真实的微信发送代码例如使用itchat-uos或UI自动化 # 示例 itchat.send(reply_content, toUserNamecontact_name) logger.info(f[模拟] 向 {contact_name} 发送微信回复: {reply_content}) # 模拟一个可能的成功或失败 import random if random.random() 0.1: # 模拟90%成功率 return f消息已成功发送给 {contact_name}。 else: return f消息发送给 {contact_name} 失败可能对方不是好友或网络问题。 def tool_parse_date_from_text(text: str) - str: 从文本中解析出日期。这是一个简单的示例实际可以使用更复杂的NLP或正则。 import re # 简单匹配YYYY-MM-DD或MM-DD格式 date_pattern r(\d{4}-\d{1,2}-\d{1,2})|(\d{1,2}-\d{1,2}) match re.search(date_pattern, text) if match: found match.group() if len(found) 5: # MM-DD格式补上年份 current_year datetime.now().year found f{current_year}-{found} return found return datetime.now().strftime(%Y-%m-%d) # 未找到则返回今天4.2 第二步构建主控Agent与系统提示词我们将使用LangChain的create_react_agent模式来构建一个能使用上述工具的Agent。ReAct模式让Agent能够“思考-行动-观察”循环。# agent_core.py from langchain import hub from langchain.agents import create_react_agent, AgentExecutor from langchain_community.llms import Ollama from langchain_core.tools import Tool from tools import tool_save_to_notion, tool_send_wechat_reply, tool_parse_date_from_text import logging logger logging.getLogger(__name__) def build_wechat_agent(llm): 构建并返回一个配置好的微信信息处理Agent执行器 # 1. 定义工具列表 tools [ Tool( nameSaveToNotion, functool_save_to_notion, description将结构化后的日报信息保存到Notion数据库。输入应为以下格式的JSON字符串 {{ \project_name\: \项目名称\, \today_progress\: \今日进展详情\, \tomorrow_plan\: \明日计划详情\, \date\: \2024-05-XX\ (可选默认为今天) }} 输出为执行结果描述。 ), Tool( nameSendWechatReply, functool_send_wechat_reply, description向指定的微信联系人发送一条文本回复。输入应为以下格式的JSON字符串 {{ \contact_name\: \联系人的备注名或群名\, \reply_content\: \要回复的消息内容\ }} 输出为发送结果描述。 ), Tool( nameParseDate, functool_parse_date_from_text, description从一段文本中尝试解析出日期YYYY-MM-DD格式。如果解析失败则返回今天的日期。 输入包含可能日期的文本字符串。 输出解析出的日期字符串YYYY-MM-DD。 ) ] # 2. 从LangChain Hub拉取一个优化的ReAct提示词模板也可自定义 prompt hub.pull(hwchase17/react) # 3. 自定义系统提示词赋予Agent角色和目标 custom_instructions 你是一个高效的行政助理专门负责处理“项目日报群”中的日报信息。 你的工作流程 1. 当你收到一条以“【日报】”开头的微信消息时开始工作。 2. 从消息中提取以下关键信息项目名称、今日进展、明日计划。消息可能格式松散你需要理解并结构化。 3. 尝试从消息文本中解析出日期使用ParseDate工具如果解析不出则默认为今天。 4. 使用SaveToNotion工具将提取出的信息保存到Notion数据库。 5. 如果保存成功使用SendWechatReply工具在原群聊中回复“日报已收到并归档辛苦了”如果失败则回复“归档失败请稍后重试或联系管理员。” 请严格按照以上步骤执行。在思考过程中请清晰说明你的推理。 当前消息内容 {input} # 将自定义指令与原始提示词结合 prompt.messages[0].prompt.template custom_instructions prompt.messages[0].prompt.template # 4. 创建ReAct Agent agent create_react_agent(llmllm, toolstools, promptprompt) # 5. 创建执行器设置详细输出和错误处理 agent_executor AgentExecutor( agentagent, toolstools, verboseTrue, # 开启详细日志方便调试 handle_parsing_errorsTrue, # 处理LLM输出解析错误 max_iterations5, # 限制最大循环次数防止死循环 early_stopping_methodgenerate # 当Agent认为任务完成时停止 ) return agent_executor if __name__ __main__: # 初始化本地LLM llm Ollama(modelqwen2.5-coder:7b, base_urlhttp://localhost:11434, temperature0.1) # 构建Agent agent_executor build_wechat_agent(llm) # 模拟一条收到的微信消息 test_message 【日报】 项目AI助手开发 日期2024-05-20 今日进展完成了微信消息监控模块的基础框架搭建能够监听群消息并触发事件。解决了时间解析的一个边界bug。 明日计划开始集成Notion API实现日报自动归档功能。另外需要调研一下消息去重策略。 print(Agent开始处理消息...) try: result agent_executor.invoke({input: test_message}) print(\n--- Agent执行结果 ---) print(result[output]) except Exception as e: logger.error(fAgent执行过程中出错: {e})4.3 第三步搭建消息监听与事件驱动引擎Agent核心准备好了还需要一个“触发器”。我们需要一个服务来监听微信消息过滤出目标消息然后投递给Agent处理。这里我们使用一个简单的while循环和模拟监听器来演示架构。# event_listener.py import time import json import threading from queue import Queue from agent_core import build_wechat_agent from langchain_community.llms import Ollama import logging logging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__) class WeChatMessageListener: 模拟微信消息监听器 def __init__(self, agent_executor): self.agent_executor agent_executor self.message_queue Queue() self.is_running False def start_listening(self): 开始监听模拟 self.is_running True logger.info(微信消息监听器已启动模拟模式...) # 这里应该是一个真正的监听循环例如itchat的注册消息回调 # 为了演示我们创建一个线程来模拟定时产生消息 simulator_thread threading.Thread(targetself._message_simulator) simulator_thread.daemon True simulator_thread.start() # 主处理循环 while self.is_running: try: # 从队列获取消息阻塞等待 msg self.message_queue.get(timeout1) self._process_message(msg) except Exception as e: # 主要是队列超时异常忽略 continue def _message_simulator(self): 模拟消息产生的线程函数 sample_messages [ {sender: 张三, content: 大家早上好, is_group: True, group_name: 项目日报群}, {sender: 李四, content: 【日报】\n项目官网改版\n今日进展首页设计稿已通过评审\n明日计划进入前端开发阶段, is_group: True, group_name: 项目日报群}, {sender: 王五, content: 【日报】项目数据中台日期2024-05-21今日进展完成了用户行为数据埋点方案设计。明日计划与后端讨论API口径。, is_group: True, group_name: 项目日报群}, ] for msg in sample_messages: time.sleep(10) # 每10秒模拟一条消息 logger.info(f[模拟] 收到新消息来自 {msg[sender]} {msg[group_name]}: {msg[content][:50]}...) self.message_queue.put(msg) def _process_message(self, msg): 处理单条消息 # 1. 过滤只处理目标群且以【日报】开头的消息 if msg.get(is_group) and msg.get(group_name) 项目日报群: content msg.get(content, ) if content.startswith(【日报】): logger.info(f检测到目标日报消息开始处理。发送者{msg[sender]}) # 2. 将原始消息和上下文包装成Agent的输入 # 可以加入更多上下文比如发送者、时间等 agent_input f 发送者{msg[sender]} 发送时间{time.strftime(%Y-%m-%d %H:%M:%S)} 消息内容 {content} # 3. 调用Agent执行器 try: result self.agent_executor.invoke({input: agent_input}) logger.info(fAgent处理完成。结果{result.get(output, 无输出)}) except Exception as e: logger.error(f调用Agent处理消息时发生错误: {e}) else: logger.debug(f忽略非日报消息: {content[:30]}...) else: logger.debug(f忽略非目标群或个人消息。) def main(): 主函数启动监听服务 logger.info(正在初始化AI Agent系统...) # 初始化LLM llm Ollama(modelqwen2.5-coder:7b, base_urlhttp://localhost:11434, temperature0) # 构建Agent agent_executor build_wechat_agent(llm) # 创建监听器 listener WeChatMessageListener(agent_executor) logger.info(系统初始化完成开始全天候运行...) try: listener.start_listening() except KeyboardInterrupt: logger.info(收到中断信号正在停止服务...) listener.is_running False logger.info(服务已停止。) if __name__ __main__: main()将以上三个代码文件tools.py,agent_core.py,event_listener.py放在同一目录配置好.env文件中的Notion密钥并确保Ollama服务在运行执行python event_listener.py你就拥有了一个能自动处理微信日报的AI Agent系统雏形。5. 避坑指南与实战经验在开发和运行这套系统的过程中我踩过了几乎所有能踩的坑。以下是一些至关重要的经验能帮你节省大量时间。5.1 微信自动化的合规性与稳定性陷阱这是最大的挑战。任何自动化操作微信的行为都有被封号的风险。经验1模拟操作优于协议破解不要使用逆向工程微信通信协议的方案如各种itchat的变种这类方案一旦被微信检测到封号是大概率事件。相对安全的是基于UI自动化如pyautogui、pywinauto模拟真人点击和输入。虽然慢但行为特征更接近真人。经验2控制频率加入随机延迟即使是UI自动化也要避免高频、规律的操作。在发送消息、点击按钮之间加入随机延时如time.sleep(random.uniform(1, 5))模拟人类的不确定性。经验3准备备用方案不要将所有自动化绑定在一个微信号上。可以使用专门的工作小号来运行Agent并且准备好Webhook、邮件、企业微信应用等备用通知通道一旦微信通道失效可以无缝切换。5.2 LLM的幻觉与工具调用错误本地小模型虽然方便但有时会“胡言乱语”或错误调用工具。经验4设计严格的工具描述和输出格式给LLM的工具描述必须极其精确包括输入参数的名称、类型、含义以及输出示例。在提示词中反复强调“你必须使用提供的工具”和“输出必须是有效的JSON”。经验5实现输出解析与重试机制在AgentExecutor中我们已经设置了handle_parsing_errorsTrue。你还可以自定义一个解析器当LLM返回的格式无法解析时不是直接报错而是将错误信息连同原始问题再次抛给LLM让它自我修正。通常最多重试2-3次即可成功。经验6温度Temperature参数调低对于执行确定性任务的Agent将LLM的temperature参数设为0或接近0如0.1以减少其回答的随机性让输出更可控、更符合指令。5.3 系统监控与错误恢复一个需要7x24小时运行的系统必须有完善的监控和自恢复能力。经验7实现心跳与看门狗写一个简单的定时任务Cron Job每分钟检查一次主监听进程是否存活。如果进程挂掉看门狗脚本应能立即重启它。可以使用supervisor或systemd来管理进程。经验8结构化日志是生命线不要用print一定要用logging模块并配置将日志输出到文件如按日期滚动。日志格式要包含时间戳、日志级别、模块名和具体信息。当出现问题时这些日志是唯一的排查依据。经验9为关键操作添加事务性比如保存到Notion和发送回复微信这两步应该作为一个事务。理想情况是都成功。如果Notion保存成功但微信发送失败系统应该记录这个状态并在下次启动时尝试重新发送回复或者至少通知管理员。避免状态不一致。5.4 性能与成本考量经验10异步化与队列解耦在真实场景中消息可能瞬间涌入。不要让Agent同步处理这会导致阻塞。应该使用消息队列如Redis Celery。监听器只负责将事件放入队列然后由多个独立的Worker进程从队列中取出任务调用Agent处理。这样能轻松实现横向扩展。经验11本地模型的资源管理运行一个7B参数的模型在CPU上推理可能很慢一句回复需要数秒。如果对响应速度要求高一块消费级GPU如RTX 4060是必要的。使用vLLM这类高性能推理框架可以极大提升吞吐量。同时要监控GPU内存使用避免溢出。6. 从原型到生产部署与扩展思路当你跑通了上面的原型证明想法可行后下一步就是把它变成一个健壮的生产系统。容器化部署使用Docker将你的Python环境、代码和模型或模型调用配置打包成一个镜像。在WSL2内安装Docker非常方便。编写Dockerfile和docker-compose.yml可以一键部署整个系统包括Redis、Celery Worker和主控服务。配置管理将所有配置如API密钥、数据库连接、模型路径、监听群列表抽离到环境变量或配置文件中不要硬编码在代码里。扩展更多工具与技能你的Agent不应该只会处理日报。你可以为它添加更多工具比如search_web(query): 联网搜索。generate_chart(data, chart_type): 根据数据生成图表。translate_text(text, target_language): 翻译文本。schedule_meeting(participants, time, topic): 调度会议。 每个新工具都让Agent的能力边界扩大一分。构建多Agent协作系统一个复杂的任务可能需要多个特化Agent协作。例如一个“信息收集Agent”负责爬取数据一个“分析Agent”负责总结一个“报告Agent”负责生成PPT大纲。你可以使用LangGraph来清晰地定义多个Agent之间的工作流和状态转移。搭建这样一个系统最大的收获不是代码本身而是思维模式的转变从“我如何手动做这件事”变成“我如何定义规则和工具让AI去完成它”。这个过程充满了挑战但当看到那个小小的智能体开始不知疲倦地替你处理那些琐事并将结果整齐地呈现在你面前时那种解放感和成就感是无与伦比的。我的这套代码只是一个起点希望你能够以此为基础打造出真正属于你自己的、独一无二的自动化智能副驾。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价