AI智能体框架Doraemon:从自然语言指令到自动化任务执行

AI智能体框架Doraemon:从自然语言指令到自动化任务执行
30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度最近在AI圈里一个名为“哆啦A梦”的项目突然火了。别误会这不是那个蓝胖子而是一个能让你用自然语言“指挥”电脑完成复杂任务的AI智能体框架。想象一下你只需要说一句“帮我整理上周的会议纪要提取关键行动项并生成一份PPT大纲”电脑就能自动打开文档、分析内容、调用工具、生成文件——这正是“哆啦A梦”项目试图实现的愿景。然而在众多AI智能体项目中为什么“哆啦A梦”值得开发者特别关注它解决的远不止是“又一个对话机器人”的问题。其核心价值在于它试图将天马行空的自然语言指令精准拆解、规划并落地为一连串可执行、可验证的计算机操作。这背后涉及任务分解、工具调用、状态管理、错误处理等一系列工程挑战。很多项目止步于Demo演示而“哆啦A梦”在架构设计上体现出对生产环境可用性的深度思考。本文将深入解析“哆啦A梦”智能体框架。我不会只复述官方文档而是会结合一个生动的场景——好比“静香陪大雄在胖虎家学习房子机器人把胖虎赶出了家门”——来拆解其任务编排与执行的底层逻辑。你会看到它如何理解复杂意图、如何协调多个工具、如何处理执行中的意外。更重要的是我将提供从环境搭建、核心概念理解到亲手实现一个自定义智能体的完整指南并指出在实践过程中最容易踩的“坑”。无论你是想将AI能力集成到现有产品中还是探索智能体开发的前沿这篇文章都将提供可直接落地的参考。1. 智能体框架的核心从“描述目标”到“执行任务”的鸿沟如何跨越“哆啦A梦”项目之所以引人注目是因为它瞄准了当前AI应用的一个关键瓶颈大语言模型LLM很擅长理解问题和生成文本但让它直接、可靠地操作真实世界的软件系统如文件系统、数据库、浏览器、API却异常困难。这中间的鸿沟就是智能体框架要填补的。你可以把传统的聊天机器人看作“静香”——她可以陪伴响应、解答问题生成文本但无法主动改变环境。而一个真正的智能体应该是“房子机器人”它能感知环境读取文件、监听事件理解复杂指令“把捣乱的胖虎请出去”并规划、执行一系列物理操作锁定门、启动扫地模式、播放安抚音乐。“哆啦A梦”框架的核心任务就是构建这个“房子机器人”的大脑和四肢。它需要解决几个核心问题任务规划与分解如何把“整理项目报告”这样模糊的指令变成“遍历./docs目录、筛选.md文件、提取摘要、调用GPT汇总、保存到./summary.docx”这样的具体步骤工具调用与集成如何安全、稳定地让AI调用Python函数、系统命令、HTTP API状态管理与记忆如何让智能体记住之前的操作和结果并在多轮交互中保持上下文错误处理与回滚当某一步骤失败如文件不存在智能体应该重试、跳过还是上报很多开发者尝试用简单的LLM Function Calling来构建智能体但很快会遇到规划能力弱、工具调用混乱、状态难以追踪等问题。“哆啦A梦”通过引入更结构化的智能体Agent、技能Skill、工作流Workflow等概念并提供一套完整的运行时Runtime和编排引擎Orchestrator试图系统性地解决这些问题。接下来我们就从基础概念开始逐步拆解。2. 基础概念与核心架构Agent, Skill, Runtime 分别是什么理解“哆啦A梦”首先要厘清它的几个核心抽象。这些概念是构建一切复杂能力的基础。概念类比职责关键点Agent (智能体)“房子机器人”的总控中心接收用户指令进行任务规划与决策协调各个Skill执行。拥有“大脑”LLM和“记忆”上下文是任务的发起者和调度者。Skill (技能)机器人的“手”和“工具”封装一个具体的可执行能力如读写文件、发送邮件、查询数据库。一个Skill通常对应一个Python函数或一个外部工具接口是动作的执行单元。Runtime (运行时)机器人的“身体”与“舞台”提供Skill运行所需的环境、资源隔离、生命周期管理和安全沙箱。确保Skill执行安全、可控是连接Agent决策和Skill执行的桥梁。Orchestrator (编排器)指挥家根据Agent的规划决定Skill的执行顺序、处理分支和循环逻辑。将线性的任务列表转化为可能并行、有条件判断的复杂工作流。Memory (记忆)工作日志与经验簿存储对话历史、任务执行结果、环境状态等信息。使Agent具备上下文感知能力实现多轮对话和持续任务。它们如何协同工作用户对Agent说“帮我分析一下/data目录下的销售数据并给我总结。”Agent利用LLM分析指令将其分解为规划a) 列出目录文件b) 识别CSV文件c) 读取并分析数据d) 生成总结报告。Orchestrator接收规划按顺序调度Skill先调用list_filesSkill再调用read_csvSkill最后调用generate_summarySkill。Runtime为每个Skill的执行提供安全的Python环境并监控其资源使用。每个Skill被调用时执行其封装的代码如pandas.read_csv并将结果返回。Memory记录每一步的输入输出供Agent在后续步骤或未来对话中参考。最终Agent将汇总的结果呈现给用户。这个流程完美对应了我们的场景比喻用户大雄提出需求学习Agent房子机器人的“大脑”制定计划维持学习环境Orchestrator协调Runtime提供安全执行环境房子具体的Skill门锁控制、扫地机将“打扰学习的胖虎”请出去。接下来我们动手搭建环境让这个“房子机器人”跑起来。3. 环境准备与快速开始“哆啦A梦”是一个Python项目建议使用Python 3.9或更高版本。我们将通过pip安装并快速验证核心功能。3.1 创建虚拟环境与安装强烈建议使用虚拟环境来管理依赖避免污染系统环境。# 1. 创建并进入一个新的目录 mkdir doraemon-agent-demo cd doraemon-agent-demo # 2. 创建Python虚拟环境以venv为例 python -m venv venv # 3. 激活虚拟环境 # Linux/macOS source venv/bin/activate # Windows venv\Scripts\activate # 4. 安装“哆啦A梦”核心包 # 请注意包名可能为 doraemon-agent 或 doraemon-ai请以官方仓库为准此处使用假设名称。 pip install doraemon-agent安装过程会同时安装其核心依赖如openai或其他LLM SDK、pydantic、httpx等。3.2 配置LLM API密钥智能体的“大脑”需要一个大语言模型。通常“哆啦A梦”支持OpenAI GPT系列或开源模型。这里以OpenAI为例。你需要准备一个有效的OpenAI API密钥。然后可以通过环境变量进行配置# Linux/macOS export OPENAI_API_KEY你的-api-key-here # Windows (PowerShell) $env:OPENAI_API_KEY你的-api-key-here或者在代码中直接设置import os os.environ[OPENAI_API_KEY] 你的-api-key-here3.3 验证安装运行第一个智能体创建一个简单的Python脚本first_agent.py来测试最基本的对话功能。# first_agent.py from doraemon import Agent, Skill, Runtime # 注意以上导入路径为示例实际模块名请参考官方文档 # 1. 定义一个最简单的Skill回声 Skill(nameecho, description重复用户说的话) def echo_skill(text: str) - str: 一个简单的回声技能用于测试。 return f你说了: {text} # 2. 创建运行时并注册Skill runtime Runtime() runtime.register_skill(echo_skill) # 3. 创建一个使用GPT-4的Agent并为其装备运行时 agent Agent( llm_modelgpt-4, # 指定使用的LLM runtimeruntime, name测试助手 ) # 4. 与Agent对话 if __name__ __main__: response agent.run(请用echo技能重复一下你好世界) print(Agent回复:, response)运行这个脚本python first_agent.py如果一切正常你应该能看到Agent的回复它会理解你的指令调用echo技能并返回结果。这证明你的环境、API密钥和基础框架都已就绪。这个简单的“回声”技能就像是“房子机器人”学会了第一个动作——“复述”。接下来我们要为它装备更实用的“技能”。4. 核心流程拆解实现一个“文件整理”智能体现在我们来实现一个更贴近实际需求的智能体一个能自动整理指定目录下文件的“文件管家”。这个例子将完整展示从Skill定义、Agent规划到任务执行的闭环。4.1 定义核心Skill一个文件整理智能体至少需要以下技能列出目录文件(list_files)识别文件类型(classify_file)移动文件(move_file)我们在file_organizer.py中定义这些Skill# file_organizer.py import os import shutil from pathlib import Path from typing import List, Dict from doraemon import Skill, Runtime # Skill 1: 列出目录下所有文件 Skill(namelist_files, description列出指定目录下的所有文件和文件夹) def list_files(directory_path: str) - List[Dict]: 返回一个包含文件信息的字典列表。 path Path(directory_path) if not path.exists() or not path.is_dir(): return [{error: f路径不存在或不是一个目录: {directory_path}}] files [] for item in path.iterdir(): files.append({ name: item.name, path: str(item.absolute()), type: directory if item.is_dir() else file, size: item.stat().st_size if item.is_file() else 0 }) return files # Skill 2: 根据扩展名分类文件 Skill(nameclassify_file, description根据文件扩展名判断其类型) def classify_file(file_path: str) - str: 返回文件类型如图片、文档、代码等。 path Path(file_path) suffix path.suffix.lower() type_mapping { .jpg: 图片, .jpeg: 图片, .png: 图片, .gif: 图片, .pdf: 文档, .doc: 文档, .docx: 文档, .txt: 文档, .py: 代码, .js: 代码, .java: 代码, .cpp: 代码, .zip: 压缩包, .tar: 压缩包, .gz: 压缩包, .mp3: 音频, .wav: 音频, .mp4: 视频, .avi: 视频 } return type_mapping.get(suffix, 其他) # Skill 3: 移动文件到目标文件夹 Skill(namemove_file, description将文件移动到指定目录) def move_file(source_path: str, target_dir: str) - Dict: 移动文件并返回操作结果。 src Path(source_path) dst_dir Path(target_dir) if not src.exists(): return {status: error, message: f源文件不存在: {source_path}} if not dst_dir.exists(): dst_dir.mkdir(parentsTrue, exist_okTrue) target_path dst_dir / src.name try: shutil.move(str(src), str(target_path)) return {status: success, message: f文件已移动到: {target_path}} except Exception as e: return {status: error, message: f移动失败: {str(e)}} # 创建运行时并注册所有Skill def create_runtime(): runtime Runtime() runtime.register_skill(list_files) runtime.register_skill(classify_file) runtime.register_skill(move_file) return runtime关键点解析每个Skill都用Skill装饰器明确其名称和描述这有助于LLM理解何时调用它。Skill的函数签名参数和返回类型是强类型的框架会据此生成调用规范。Skill内部包含完整的错误处理返回结构化的结果字典或列表便于后续步骤解析。4.2 构建智能体与工作流现在我们创建一个Agent它将利用上述Skill理解用户“整理桌面”的指令并自动执行。# file_organizer.py (续) from doraemon import Agent, Orchestrator def create_file_organizer_agent(): # 1. 创建带有技能的运行时 runtime create_runtime() # 2. 创建编排器使用默认即可 orchestrator Orchestrator() # 3. 创建智能体并注入“大脑”LLM和“身体”Runtime agent Agent( name文件整理助手, llm_modelgpt-4, runtimeruntime, orchestratororchestrator, system_prompt你是一个专业的文件整理助手。你的任务是根据用户要求整理指定目录的文件。 你可以使用的技能有 1. list_files: 列出目录内容。 2. classify_file: 判断文件类型。 3. move_file: 移动文件到指定文件夹。 当用户提出整理需求时你应该按照以下逻辑执行 a. 首先使用 list_files 查看目标目录有哪些文件。 b. 然后对每个文件使用 classify_file 判断其类型。 c. 最后根据类型使用 move_file 将文件移动到对应的分类文件夹如图片、文档等。 如果某个文件夹不存在move_file 技能会创建它。 请一步步执行并向我报告进度和结果。 ) return agent if __name__ __main__: # 初始化智能体 organizer create_file_organizer_agent() # 用户指令整理当前目录下的 test_desktop 文件夹 user_command 请帮我整理一下 ./test_desktop 这个文件夹把不同类型的文件放到不同的子文件夹里。 print(用户指令:, user_command) print(开始执行...\n) # 运行智能体 final_result organizer.run(user_command) print(\n--- 执行完成 ---) print(最终回复:, final_result)4.3 准备测试环境与运行在运行脚本前我们需要创建一个混乱的测试目录。# 在项目根目录执行 mkdir -p test_desktop cd test_desktop touch report.pdf notes.txt script.py image.jpg data.zip song.mp3 video.mp4 random.unknown cd ..现在运行我们的智能体python file_organizer.py5. 运行结果与效果验证执行上述脚本后你应该能在控制台看到类似以下的输出具体内容因LLM响应而异用户指令: 请帮我整理一下 ./test_desktop 这个文件夹把不同类型的文件放到不同的子文件夹里。 开始执行... [Agent思考] 我将开始整理 ./test_desktop 目录。 [调用Skill] list_files(directory_path./test_desktop) [Skill返回] 列出了8个文件信息。 [Agent思考] 现在我对每个文件进行分类。 [调用Skill] classify_file(file_path./test_desktop/report.pdf) - 文档 [调用Skill] classify_file(file_path./test_desktop/notes.txt) - 文档 ... [Agent思考] 根据分类我将创建对应的文件夹并移动文件。 [调用Skill] move_file(source_path./test_desktop/report.pdf, target_dir./test_desktop/文档) - {status: success, ...} [调用Skill] move_file(source_path./test_desktop/image.jpg, target_dir./test_desktop/图片) - {status: success, ...} ... --- 执行完成 --- 最终回复: 已完成对 ./test_desktop 文件夹的整理。共处理8个文件已按类型文档、图片、代码、压缩包、音频、视频、其他分别移动到对应的子文件夹中。所有操作均成功。验证结果 你可以直接查看test_desktop目录的结构验证智能体是否按预期工作ls -la test_desktop/你应该能看到类似这样的结构test_desktop/ ├── 文档/ │ ├── report.pdf │ └── notes.txt ├── 图片/ │ └── image.jpg ├── 代码/ │ └── script.py ├── 压缩包/ │ └── data.zip ├── 音频/ │ └── song.mp3 ├── 视频/ │ └── video.mp4 └── 其他/ └── random.unknown成功的关键标志Agent正确解析了指令它理解了“整理”意味着“分类并移动”。Agent制定了合理规划先列出文件再分类最后移动。这个规划是动态生成的而非硬编码。Skill被正确调用每个Skill都收到了正确的参数并返回了有效结果。任务被完整执行最终目录结构符合预期所有文件都被归类。这个例子展示了“哆啦A梦”框架如何将一句自然语言指令转化为一系列具体的、可验证的文件系统操作。这比单纯写一个固定规则的整理脚本要强大得多因为智能体可以根据不同的指令如“只整理图片”、“按日期归档”动态调整其行为。6. 深入核心Agent的规划与决策机制剖析仅仅让智能体运行起来还不够理解其内部的规划与决策机制才能更好地驾驭和定制它。让我们回到“静香、大雄和胖虎”的场景深入看看“房子机器人”的大脑是如何工作的。6.1 规划生成从目标到步骤列表当Agent收到指令时它的核心LLM如GPT-4会进行“任务分解”。这个过程不是随机的而是基于以下因素系统提示词System Prompt我们之前定义的system_prompt设定了Agent的角色、可用技能和基础逻辑。对话历史Memory之前的交互内容。技能描述Skill Descriptions每个Skill装饰器中的name和descriptionLLM据此知道能调用什么。框架内部会将上述信息构造成一个给LLM的“规划请求”大致如下你是一个文件整理助手。你有这些技能 - list_files(目录路径): 列出文件... - classify_file(文件路径): 分类文件... - move_file(源路径, 目标目录): 移动文件... 用户说“请帮我整理一下 ./test_desktop 文件夹...” 请生成一个分步计划来满足用户请求。输出格式为 1. 第一步调用技能X参数是... 2. 第二步根据第一步结果调用技能Y... ...LLM生成的规划可能如下1. 调用 list_files参数 directory_path./test_desktop获取文件列表。 2. 对于列表中的每个文件调用 classify_file 确定其类型。 3. 根据分类结果为每种类型创建目标文件夹路径如./test_desktop/文档。 4. 对于每个文件调用 move_file将其移动到对应的目标文件夹。6.2 动态执行与状态管理Orchestrator编排器负责执行这个规划。但它不是机械地按列表执行而是动态的顺序执行执行第一步拿到结果。结果注入将第一步的结果文件列表作为上下文传递给LLM请求生成第二步的具体调用指令。这确保了后续步骤能基于实际数据执行而不是凭空想象。循环与条件判断对于“每个文件”这类循环逻辑Orchestrator会和LLM交互决定何时开始循环、何时结束。在我们的例子中LLM可能会生成一个“对每个文件执行分类”的抽象步骤Orchestrator会将其展开为多个具体的classify_file调用。这种“规划-执行-观察-再规划”的循环被称为ReAct (Reasoning Acting)模式是当前AI智能体的主流范式。“哆啦A梦”框架封装了这一复杂过程让开发者无需手动处理每一步的LLM调用和结果解析。6.3 代码示例窥视规划过程为了更好地理解我们可以通过一个简单的调试示例来观察Agent的思考过程。修改Agent的创建启用更详细的日志# debug_agent.py import logging # 设置日志级别为DEBUG可以看到框架内部的详细决策过程 logging.basicConfig(levellogging.DEBUG) from doraemon import Agent, Runtime, Skill Skill(nameget_weather, description获取指定城市的天气) def get_weather(city: str) - str: # 模拟一个简单的技能 weather_data { 北京: 晴15°C, 上海: 多云18°C, 深圳: 阵雨22°C } return weather_data.get(city, 未知城市) runtime Runtime() runtime.register_skill(get_weather) agent Agent( llm_modelgpt-4, runtimeruntime, system_prompt你是一个天气助手。当用户询问天气时调用 get_weather 技能。, verboseTrue # 开启详细输出模式如果框架支持该参数 ) response agent.run(深圳的天气怎么样) print(最终答案:, response)运行此脚本你可能会在日志中看到类似这样的信息具体格式取决于框架实现[DEBUG] Agent收到用户输入: “深圳的天气怎么样” [DEBUG] 生成规划: 用户询问深圳天气我需要调用 get_weather 技能。 [DEBUG] 调用技能: get_weather(city深圳) [DEBUG] 技能返回: “阵雨22°C” [DEBUG] 生成最终回复: 深圳的天气是阵雨22°C。这清晰地展示了从理解问题、规划、执行到生成回答的完整链条。7. 常见问题与排查思路在实际开发和使用“哆啦A梦”框架时你可能会遇到一些典型问题。下表列出了常见问题及其解决方法。问题现象可能原因排查方式解决方案导入错误ModuleNotFoundError: No module named doraemon1. 未正确安装包。2. 虚拟环境未激活。3. 包名不正确。1. 运行pip list | grep doraemon。2. 检查终端提示符是否在虚拟环境中。1. 确认官方包名使用pip install 正确包名。2. 激活虚拟环境。3. 在PyPI或项目GitHub页面查找准确名称。运行时报错API key not provided未设置LLM如OpenAI的API密钥。检查环境变量OPENAI_API_KEY是否设置。1. 通过export或set命令设置环境变量。2. 或在代码开头使用os.environ[OPENAI_API_KEY] key设置。Agent不理解指令不调用Skill1. 系统提示词不清晰。2. Skill描述不准确。3. LLM模型能力不足。1. 查看Agent的system_prompt。2. 检查Skill中的description是否明确。3. 尝试更详细的指令。1. 优化system_prompt明确角色、目标和步骤示例。2. 完善Skill描述说明输入、输出和用途。3. 升级到更强的LLM如从gpt-3.5-turbo到gpt-4。Skill被调用但参数错误1. LLM未能正确解析上下文以生成参数。2. Skill函数参数类型不匹配。1. 开启调试日志查看调用时的具体参数。2. 检查Skill函数签名类型注解。1. 在系统提示词中明确参数格式。2. 确保Skill参数使用基础类型str,int,List等避免复杂对象。3. 在Skill内部增加参数验证和转换。执行进入死循环或步骤混乱1. 规划逻辑有歧义。2. Orchestrator与LLM交互出现循环。观察日志看是否在重复调用同一Skill或规划步骤。1. 在系统提示词中限制步骤数量如“最多执行5步”。2. 为Agent设置max_steps或max_iterations参数如果框架支持。3. 优化规划逻辑避免递归或开放式目标。处理大量文件或数据时速度慢1. 每个文件都单独调用LLM进行分类成本高、速度慢。2. Skill本身是同步阻塞的。分析耗时是在LLM调用还是Skill执行。1.批处理让LLM一次规划处理多个文件而不是一个文件规划一次。2.优化Skill将文件分类逻辑改为本地规则如后缀判断而非每次都问LLM。3.异步执行如果框架支持使用异步Skill。权限错误如移动文件失败Skill执行的操作缺乏系统权限。查看Skill返回的错误信息。1. 确保程序对目标目录有读写权限。2. 在Skill内部使用try...except捕获权限异常并返回友好错误信息。依赖缺失Skill中使用了未安装的第三方库如pandas,requests。运行时报错会提示缺少哪个模块。1. 在项目requirements.txt或pyproject.toml中声明所有依赖。2. 使用pip install安装缺失的包。8. 最佳实践与工程建议要将“哆啦A梦”智能体从Demo推向实际应用需要遵循一些工程最佳实践。8.1 Skill设计原则单一职责一个Skill只做一件事。read_file和write_file应该分开而不是合并成一个handle_file。明确描述Skill装饰器中的description至关重要。用自然语言清晰描述功能、输入和输出例如“根据文件路径读取文本内容并以字符串形式返回”这能极大提升LLM调用的准确性。强类型与验证充分利用Python类型注解Type Hints。在函数内部对输入参数进行有效性验证并返回结构化的数据如字典、Pydantic模型。幂等性与安全确保Skill可以安全地重复执行幂等。对于写操作考虑增加确认机制或备份。永远不要在Skill中执行rm -rf /这样的危险命令。8.2 Agent提示词工程角色设定清晰在system_prompt开头明确Agent的专家身份如“你是一个资深的数据分析助手”。约束条件具体明确告诉Agent什么不能做例如“未经用户确认不得删除任何文件”、“如果遇到无法处理的错误立即停止并报告”。规划格式示例在提示词中给出一个理想的规划示例引导LLM生成结构化的步骤。上下文管理对于长对话注意提示词的长度限制。可以设计让Agent主动总结或清理过旧的记忆。8.3 项目结构与配置管理不要把所有代码写在一个文件里。推荐的项目结构如下doraemon_project/ ├── skills/ # 存放所有Skill定义 │ ├── file_ops.py # 文件操作技能 │ ├── web_tools.py # 网络请求技能 │ └── __init__.py ├── agents/ # 存放不同功能的Agent定义 │ ├── organizer_agent.py │ └── research_agent.py ├── config/ # 配置文件 │ └── settings.py # API密钥、模型选择等配置 ├── runtime/ # 运行时和编排器配置 │ └── setup.py ├── tests/ # 单元测试 ├── main.py # 主程序入口 └── requirements.txt使用配置文件管理敏感信息和变量# config/settings.py import os from dotenv import load_dotenv load_dotenv() # 从 .env 文件加载环境变量 class Settings: OPENAI_API_KEY os.getenv(OPENAI_API_KEY) LLM_MODEL os.getenv(LLM_MODEL, gpt-4) MAX_ITERATIONS int(os.getenv(MAX_ITERATIONS, 10)) settings Settings()8.4 测试与监控单元测试Skill为每个Skill编写测试模拟各种输入确保其行为符合预期。集成测试Agent模拟用户输入测试整个Agent工作流验证其规划能力和最终输出。日志记录为框架和应用添加详细的日志记录记录每一步的决策、Skill调用和结果便于问题回溯。性能监控关注Token消耗成本和任务执行时间对耗时长的Skill进行优化。8.5 安全边界这是最重要的一条。智能体能够执行代码和系统命令带来了巨大的能力也伴随着风险。沙箱环境尽可能在容器或沙箱中运行Skill限制其网络和文件系统访问权限。用户确认对于高风险操作删除、覆盖、修改系统设置设计“二次确认”机制可以是一个需要用户输入的Skill或在Agent层面进行拦截。输入净化对所有来自用户或外部输入的参数进行严格的验证和净化防止注入攻击。权限最小化运行Agent的进程应使用最低必要的系统权限。遵循这些实践你构建的智能体将更健壮、更安全、更易于维护从而真正成为你或你团队得力的“数字助手”。通过以上八个部分的拆解我们从概念、实践到进阶完整地探索了“哆啦A梦”AI智能体框架。它不仅仅是一个工具更是一种构建下一代人机交互应用的新范式。理解其核心原理掌握其开发模式你就能将那些曾经需要复杂编程才能实现的任务自动化让AI真正成为你延伸的“手”和“脑”。 30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度