最近在AI开发圈里,一个消息引起了不小的讨论:Inkling 宣布免费开放其基于 OpenRouter 的智能体测试平台。如果你正在关注“智能体开发”、“OpenRouter国内能用吗”或者“如何搭建自己的AI智能体”,那么这件事可能比你想象中更重要。
这不仅仅是多了一个免费工具那么简单。它背后折射出的,是AI应用开发领域一个正在发生的深刻变化:大模型API的“聚合”与“编排”能力,正在成为新一代AI应用开发的基础设施。过去,开发者想调用不同模型,需要在多个平台注册、管理多个API密钥、处理不同的计费方式。而现在,像OpenRouter这样的聚合平台,加上Inkling这样的智能体开发工具,正在试图将这个过程标准化、流程化。
对于开发者而言,这意味着什么?简单说,试错成本大幅降低,创意验证速度大幅提升。你可以用同一个平台、同一套接口,快速对比GPT-4、Claude、Gemini乃至众多开源模型的输出效果,并基于此构建具备复杂逻辑的智能体(Agent),而无需在基础设施上耗费过多精力。
本文将带你深入拆解Inkling开放测试这一事件,并以此为契机,为你提供一个从零开始理解并上手“智能体+模型聚合平台”的实战指南。你将了解到:
- Inkling + OpenRouter 组合到底解决了什么核心痛点?
- 智能体(Agent)开发的核心概念与主流框架。
- 如何利用OpenRouter作为统一模型层,快速搭建你的第一个智能体。
- 一个从零开始的、可运行的智能体项目实例(附完整代码)。
- 开发过程中常见的“坑”与最佳实践。
无论你是想探索AI应用可能性的产品经理,还是希望将AI能力集成到业务中的开发者,这篇文章都将为你提供一条清晰的实践路径。
1. 这篇文章真正要解决的问题:降低AI智能体的开发与试错门槛
在深入代码之前,我们必须先厘清一个根本问题:为什么“Inkling免费开放OpenRouter智能体测试”值得关注?它到底解决了什么?
核心痛点:AI应用开发的“碎片化”与“高成本”
假设你接到一个需求:开发一个能自动分析用户反馈、并生成产品优化周报的AI助手。传统的开发路径可能是:
- 选模型:GPT-4效果最好但贵,Claude长文本强但API难申请,开源模型便宜但部署麻烦。你需要反复对比、测试。
- 接API:为每个选中的模型去对应平台注册账号、申请API Key、理解各自的计费规则和速率限制。
- 写逻辑:智能体不是简单调用一次API。它需要拆解任务(分析情感、提取主题、总结建议)、可能调用工具(查数据库、搜网页)、并管理多轮对话状态。你需要自己设计这套流程。
- 处理异常:某个模型API调用失败怎么办?如何优雅降级?如何保证最终输出的稳定性?
这个过程充满了不确定性,大量时间花在了“选择”和“对接”上,而不是核心的业务逻辑。
Inkling + OpenRouter 提供的解决方案
- OpenRouter:扮演了“模型聚合层”的角色。它统一了上百个主流大模型的API接口和计费方式。你只需要一个OpenRouter的API Key,就可以在代码中通过切换
model参数,轻松调用GPT-4o、Claude-3.5-Sonnet、Llama 3.1等模型。它解决了“碎片化”问题。 - Inkling:扮演了“智能体编排层”的角色。它提供了一个可视化的界面或框架,让你可以通过拖拽、配置的方式,定义智能体的工作流(Workflow)、工具(Tools)和记忆(Memory),而无需从零开始编写复杂的状态管理代码。它解决了“高成本”问题。
两者结合,相当于为开发者提供了一套“标准化AI智能体开发套件”。Inkling开放免费测试,意味着你可以无成本地体验这套高级工作流的开发模式,验证你的AI应用想法。
对于国内开发者,另一个现实问题是:“OpenRouter国内能用吗?”从技术上讲,OpenRouter的API服务是可以访问的,其支付方式也支持国际信用卡,对开发者相对友好。它成为了一个连接全球主流模型的便捷桥梁。
接下来,我们将暂时抛开对Inkling平台的依赖,深入到技术底层,教你如何用代码实现类似“Inkling + OpenRouter”的核心能力,让你真正掌握智能体开发的主动权。
2. 基础概念与核心原理:智能体、工作流与模型聚合
在动手之前,我们需要统一几个关键术语的理解,这些概念是构建所有复杂AI应用的基础。
2.1 智能体(Agent) vs. 大模型(LLM)
这是最容易混淆的一对概念。
- 大模型(LLM):如GPT-4,是一个强大的“文本预测引擎”。你给它一段输入(提示词),它返回一段最可能的输出。它本质上是被动的、无状态的。
- 智能体(Agent):是一个主动的、有状态的系统。它以大模型为“大脑”,但增加了:
- 规划(Planning):将复杂目标拆解为步骤。
- 工具使用(Tool Use):可以调用外部函数或API(如计算器、搜索引擎、数据库)。
- 记忆(Memory):能记住之前的对话和操作结果,保持上下文连贯。
一个类比:大模型像是一个知识渊博但只能动口的顾问。智能体则是这个顾问配上了一个秘书团队(工具)和一个记事本(记忆),这个团队可以主动执行任务、查阅资料、并记录过程。
2.2 工作流(Workflow)与编排(Orchestration)
当智能体的任务变得复杂,单一线性步骤无法完成时,就需要工作流。工作流定义了任务执行的顺序、条件和循环。
- 顺序流:步骤A → 步骤B → 步骤C。
- 条件分支:如果模型输出包含“是”,则执行路径X,否则执行路径Y。
- 循环:重复执行某个步骤,直到满足条件(如“生成满意答案”)。
编排则是驱动整个工作流运转的引擎。像LangGraph、微软Autogen、CrewAI等框架,就是专门为编排多智能体或复杂智能体工作流而设计的。
2.3 模型聚合平台(如OpenRouter)
模型聚合平台的核心价值是抽象与统一。
| 特性 | 传统方式(对接单个模型) | 使用模型聚合平台(如OpenRouter) |
|---|---|---|
| 接入点 | N个(每个模型一个) | 1个 |
| API格式 | N种(各有差异) | 1种(统一为OpenAI兼容格式) |
| 计费管理 | N个后台 | 1个后台,统一结算 |
| 模型切换 | 修改代码、配置、密钥 | 仅修改model参数名 |
| 成本优化 | 手动对比 | 平台可能提供按token成本自动路由 |
OpenRouter的另一个关键优势是:它提供了OpenAI兼容的API接口。这意味着所有为ChatGPT API写的代码,几乎可以无缝迁移到OpenRouter,只需替换base_url和api_key。这极大地降低了开发者的迁移成本。
理解了这些概念,我们就可以开始搭建开发环境了。
3. 环境准备与前置条件
我们将使用Python作为开发语言,因为它拥有最丰富的AI开发生态。本项目将模拟一个“智能体核心引擎”,它使用OpenRouter作为模型层,并实现简单的智能体逻辑。
3.1 基础环境
- 操作系统:Windows 10/11, macOS, 或 Linux (Ubuntu 20.04+)。本文以macOS/Linux命令行示例为主,Windows用户可在PowerShell或WSL中操作。
- Python版本:>= 3.8。推荐使用3.9或3.10以获得最佳兼容性。
- 包管理工具:
pip(Python自带)。
3.2 创建项目与虚拟环境
强烈建议使用虚拟环境来隔离项目依赖。
# 1. 创建项目目录并进入 mkdir ai-agent-demo && cd ai-agent-demo # 2. 创建Python虚拟环境 (venv) python3 -m venv venv # 3. 激活虚拟环境 # macOS/Linux: source venv/bin/activate # Windows: # venv\Scripts\activate # 激活后,命令行提示符前通常会出现 (venv) 标识3.3 安装核心依赖
我们将安装以下库:
openai:OpenAI官方库,因其与OpenRouter API兼容,我们将用它来调用OpenRouter。langchain:一个强大的LLM应用开发框架,它提供了构建智能体所需的大量组件(如工具、记忆、链)。我们将用它来快速构建智能体原型。python-dotenv:用于管理环境变量,安全地存储API密钥。
# 在激活的虚拟环境中执行 pip install openai langchain python-dotenv安装完成后,可以通过pip list检查。
3.4 获取OpenRouter API密钥
- 访问 OpenRouter 官网 。
- 使用邮箱或GitHub账号注册。
- 登录后,在页面右上角找到并点击“Keys”。
- 点击“Create Key”生成一个新的API密钥。你可以为其设置名称(如
my-test-key)和额度限制。 - 重要:复制生成的密钥(形如
sk-or-xxxxx),它只会显示一次,请妥善保存。
4. 核心流程拆解:构建一个基于OpenRouter的智能体
我们的目标是构建一个具备“思考-行动”能力的智能体。以“查询天气并给出穿衣建议”为例,其核心流程如下:
- 初始化与配置:设置OpenRouter API连接。
- 定义工具:赋予智能体“手臂”,例如一个查询天气的函数。
- 创建智能体:将大模型(通过OpenRouter)与工具绑定,并设定其行为逻辑。
- 运行与迭代:向智能体提问,观察其规划、调用工具、最终回答的过程。
这个流程是绝大多数智能体应用的基础范式。接下来,我们通过代码将其实现。
5. 完整示例与代码实现
我们将创建一个简单的命令行智能体,它可以根据用户输入的城市,调用模拟的天气查询工具,并给出穿衣建议。
5.1 项目结构
ai-agent-demo/ ├── .env # 存储敏感信息(API密钥) ├── .gitignore # Git忽略文件 ├── requirements.txt # 项目依赖列表 ├── config.py # 配置文件 ├── tools.py # 自定义工具定义 └── main.py # 主程序入口5.2 配置文件与环境变量
首先,安全地配置你的OpenRouter API密钥。
创建.env文件:
# 在项目根目录下 touch .env在.env文件中填入你的密钥:
# .env OPENROUTER_API_KEY=sk-or-xxxxx # 替换为你的真实密钥 OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # 你可以指定一个默认模型,例如 `openai/gpt-3.5-turbo` 或 `meta-llama/llama-3.1-70b-instruct` DEFAULT_MODEL=openai/gpt-3.5-turbo创建config.py来加载配置:
# config.py import os from dotenv import load_dotenv # 加载 .env 文件中的环境变量 load_dotenv() class Config: OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY") OPENROUTER_BASE_URL = os.getenv("OPENROUTER_BASE_URL", "https://openrouter.ai/api/v1") DEFAULT_MODEL = os.getenv("DEFAULT_MODEL", "openai/gpt-3.5-turbo") @classmethod def validate(cls): """验证必要配置是否存在""" if not cls.OPENROUTER_API_KEY: raise ValueError("OPENROUTER_API_KEY 未在 .env 文件中设置。请前往 https://openrouter.ai/ 获取密钥。") print(f"配置加载成功,默认模型: {cls.DEFAULT_MODEL}") # 初始化时验证 Config.validate()5.3 定义自定义工具(Tools)
工具是智能体与外界交互的桥梁。这里我们创建一个模拟的天气查询工具。
# tools.py from langchain.tools import tool from typing import Optional @tool def get_weather(city: str, country_code: Optional[str] = "CN") -> str: """ 根据城市名称和国家代码查询模拟的天气信息。 Args: city: 城市名,例如 "Beijing", "Shanghai"。 country_code: 国家代码,默认 "CN"。 Returns: 返回该城市的模拟天气情况字符串。 """ # 注意:这是一个模拟函数,真实场景应调用如 OpenWeatherMap 的 API weather_data = { ("Beijing", "CN"): "北京:晴,气温 5~15°C,西北风3-4级。建议穿夹克或风衣。", ("Shanghai", "CN"): "上海:多云,气温 12~18°C,东南风2级。建议穿长袖衬衫或薄外套。", ("New York", "US"): "纽约:小雨,气温 8~12°C,东北风4级。建议穿防水外套并带伞。", ("London", "UK"): "伦敦:阴,气温 6~10°C,西风3级。建议穿毛衣和外套。", } key = (city.title(), country_code.upper()) result = weather_data.get(key, f"未找到{city}({country_code})的天气信息,请输入常见城市名。") print(f"[工具调用] get_weather: city={city}, country={country_code} -> {result[:50]}...") # 日志 return result # 将工具放入列表,方便后续使用 available_tools = [get_weather]5.4 主程序:构建并运行智能体
现在,我们将使用 LangChain 的create_openai_tools_agent来组装智能体。
# main.py import asyncio from config import Config from tools import available_tools from langchain_openai import ChatOpenAI from langchain.agents import AgentExecutor, create_openai_tools_agent from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder async def main(): """主函数:初始化并运行智能体""" # 1. 初始化连接到 OpenRouter 的 LLM # 注意:我们使用 `ChatOpenAI`,但通过参数指向 OpenRouter llm = ChatOpenAI( model=Config.DEFAULT_MODEL, openai_api_key=Config.OPENROUTER_API_KEY, openai_api_base=Config.OPENROUTER_BASE_URL, temperature=0.1, # 降低随机性,让输出更稳定 streaming=False, # 非流式响应 ) print(f"LLM 初始化完成,使用模型: {Config.DEFAULT_MODEL}") # 2. 定义智能体的提示词模板 # 提示词是指导智能体行为的关键 prompt = ChatPromptTemplate.from_messages([ ("system", """你是一个乐于助人的天气助手。你的任务是: 1. 理解用户想查询哪个城市的天气。 2. 如果需要,调用天气查询工具获取信息。 3. 根据天气信息,给出简洁、实用的穿衣或出行建议。 4. 如果工具没有返回信息,请礼貌地告知用户。 请用中文与用户交流。"""), MessagesPlaceholder(variable_name="chat_history"), # 预留对话历史的位置 ("human", "{input}"), # 用户当前输入 MessagesPlaceholder(variable_name="agent_scratchpad"), # 智能体思考过程 ]) # 3. 创建智能体 agent = create_openai_tools_agent( llm=llm, tools=available_tools, prompt=prompt ) # 4. 创建智能体执行器,它负责运行智能体并管理对话状态 agent_executor = AgentExecutor( agent=agent, tools=available_tools, verbose=True, # 设置为 True 可以看到智能体的详细思考过程! handle_parsing_errors=True, # 优雅处理解析错误 max_iterations=3, # 限制最大迭代次数,防止死循环 ) print("\n=== 智能体已启动 ===") print("你可以询问例如:‘北京天气怎么样?’ 或 ‘上海和伦敦的天气分别如何?’") print("输入 'quit' 或 'exit' 退出程序。\n") # 5. 简单的交互循环 chat_history = [] # 用于存储对话历史,实现多轮对话 while True: try: user_input = input("\n你: ").strip() if user_input.lower() in ['quit', 'exit', 'q']: print("再见!") break if not user_input: continue # 执行智能体 response = await agent_executor.ainvoke({ "input": user_input, "chat_history": chat_history }) output = response.get("output", "抱歉,我没有得到有效回复。") print(f"\n助手: {output}") # 更新对话历史 (简化处理) chat_history.append(("human", user_input)) chat_history.append(("ai", output)) except KeyboardInterrupt: print("\n\n程序被中断。") break except Exception as e: print(f"\n发生错误: {e}") # 可以选择继续运行 if __name__ == "__main__": asyncio.run(main())5.5 依赖管理文件
创建requirements.txt文件,记录项目依赖。
# requirements.txt openai>=1.0.0 langchain>=0.1.0 langchain-openai>=0.0.5 python-dotenv>=1.0.06. 运行结果与效果验证
现在,让我们运行这个智能体,看看它如何工作。
6.1 启动程序
在项目根目录下,确保虚拟环境已激活,然后运行:
python main.py如果一切配置正确,你会看到类似以下的输出:
配置加载成功,默认模型: openai/gpt-3.5-turbo LLM 初始化完成,使用模型: openai/gpt-3.5-turbo === 智能体已启动 === 你可以询问例如:‘北京天气怎么样?’ 或 ‘上海和伦敦的天气分别如何?’ 输入 'quit' 或 'exit' 退出程序。6.2 测试交互
在提示符后输入问题,观察智能体的思考过程(因为我们在AgentExecutor中设置了verbose=True)。
示例对话 1:简单查询
你: 北京今天天气如何? [日志输出,展示智能体思考链] > 进入新的AgentExecutor链... 我是否需要使用工具?是的,用户询问北京的天气,我需要调用天气查询工具。 动作:get_weather 动作输入:{"city": "Beijing", "country_code": "CN"} [工具调用] get_weather: city=Beijing, country=CN -> 北京:晴,气温 5~15°C,西北风3-4级。建议穿夹克或风衣。... 观察:北京:晴,气温 5~15°C,西北风3-4级。建议穿夹克或风衣。 思考:我已经获得了北京的天气信息,现在可以给出回答。 最终答案:北京今天天气晴朗,气温在5到15摄氏度之间,有西北风3-4级。建议您穿夹克或风衣出行。 助手: 北京今天天气晴朗,气温在5到15摄氏度之间,有西北风3-4级。建议您穿夹克或风衣出行。示例对话 2:需要推理的查询
你: 我要去上海出差,应该带什么衣服? [日志输出] > 进入新的AgentExecutor链... 用户问去上海出差该带什么衣服,这取决于上海的天气。我需要先查询上海的天气。 动作:get_weather 动作输入:{"city": "Shanghai", "country_code": "CN"} [工具调用] get_weather: city=Shanghai, country=CN -> 上海:多云,气温 12~18°C,东南风2级。建议穿长袖衬衫或薄外套。... 观察:上海:多云,气温 12~18°C,东南风2级。建议穿长袖衬衫或薄外套。 思考:上海天气多云,气温12-18度,风力不大。根据工具返回的建议,可以推荐用户带长袖衬衫或薄外套。 最终答案:根据上海的天气情况(多云,气温12~18°C),建议您携带长袖衬衫或薄外套。这样的衣物适合日间的气温,较为舒适。 助手: 根据上海的天气情况(多云,气温12~18°C),建议您携带长袖衬衫或薄外套。这样的衣物适合日间的气温,较为舒适。6.3 验证成功的关键点
- 模型调用成功:程序没有报错,且能返回连贯的答案,说明OpenRouter API调用成功。
- 工具调用成功:在
verbose日志中,能看到动作:get_weather和[工具调用]的日志,说明智能体正确识别了需要使用工具,并成功调用了它。 - 逻辑正确:智能体能够根据用户问题(“该带什么衣服”)自主决定先查询天气,再基于结果给出建议,体现了“规划-行动”的智能体特性。
- 多轮对话(基础):虽然我们实现的历史管理很简单,但程序能记住上一轮对话的上下文(在
chat_history中),你可以继续问“那北京呢?”,它应该能理解“北京”指代上一轮提到的地点。
7. 常见问题与排查思路
在开发过程中,你可能会遇到以下问题:
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
启动时报错OPENROUTER_API_KEY 未设置 | .env文件不存在、路径错误或密钥未填写。 | 1. 检查项目根目录下是否有.env文件。2. 检查 .env文件中OPENROUTER_API_KEY的赋值是否正确,前后无空格。 | 1. 创建或修正.env文件。2. 确保在 config.py中正确调用了load_dotenv()。 |
调用API时返回401或Invalid API Key | API密钥错误、过期或额度不足。 | 1. 登录OpenRouter官网,在“Keys”页面确认密钥状态和剩余额度。 2. 检查代码中传入的密钥是否与官网一致。 | 1. 在OpenRouter上创建新的API Key并更新.env文件。2. 检查是否有免费额度,部分模型可能需要充值。 |
| 程序卡住或无响应 | 网络连接问题,或OpenRouter服务暂时不可用;模型响应慢。 | 1. 尝试在浏览器中访问https://openrouter.ai/api/v1/models看是否能获取模型列表。2. 在代码中为 ChatOpenAI设置timeout参数(如timeout=30)。 | 1. 检查网络代理设置(如需)。 2. 更换为响应更快的模型(如 openai/gpt-3.5-turbo)。3. 增加超时设置并添加重试逻辑。 |
| 智能体不调用工具,直接回答 | 1. 提示词(system)未明确指示使用工具。2. 模型能力不足,无法理解指令。 3. 工具描述不够清晰。 | 1. 检查verbose=True的日志,看模型思考过程。2. 简化提示词,明确写出“请使用天气查询工具”。 | 1. 优化系统提示词,强调工具的使用条件和方式。 2. 升级到更强的模型(如 openai/gpt-4)。3. 完善工具函数的 docstring,使其描述更精准。 |
ModuleNotFoundError: No module named 'langchain' | 依赖未安装或虚拟环境未激活。 | 在终端执行pip list,检查langchain,openai等包是否存在。 | 1. 激活虚拟环境:source venv/bin/activate。2. 重新安装依赖: pip install -r requirements.txt。 |
| 智能体陷入循环,多次调用同一工具 | max_iterations设置过高,或任务无法完成。 | 观察verbose日志,看智能体是否在重复无效动作。 | 1. 降低max_iterations(如设为3)。2. 在提示词中增加约束,如“如果工具无法提供信息,请直接告知用户”。 |
8. 最佳实践与工程建议
当你掌握了基础搭建后,以下建议能帮助你构建更健壮、可维护的智能体应用。
8.1 提示词工程
提示词是智能体的“宪法”,质量直接决定表现。
- 角色清晰:在
system提示中明确智能体的身份、目标和边界。 - 指令具体:明确告诉智能体何时及如何使用工具。例如:“你必须先调用
get_weather工具获取天气数据,再回答问题。” - 输出格式化:要求智能体以特定格式(如JSON、Markdown)输出,便于后续解析。
- 迭代优化:根据测试结果不断调整提示词,这是一个持续的过程。
8.2 工具设计
- 单一职责:每个工具只做一件事。不要设计一个“查询天气并翻译”的工具。
- 健壮性:工具函数内部要有完善的错误处理(try-catch),返回明确的错误信息,而不是抛出异常导致智能体崩溃。
- 类型注解:使用Python类型注解(如
city: str),这能帮助LangChain等框架更好地生成工具调用参数。 - 模拟与真实:开发初期可用模拟工具快速验证逻辑,后期逐步替换为真实的API调用。
8.3 模型选择与成本控制
- 分层使用:对创意生成类任务使用强模型(如GPT-4),对简单的分类、格式化任务使用便宜/快模型(如GPT-3.5-Turbo)。
- 设置预算:在OpenRouter后台为API Key设置使用预算和速率限制,防止意外消耗。
- 缓存机制:对相同输入(如“北京天气”)的模型响应进行缓存,可以显著降低成本和延迟。
- 评估与对比:定期用一批标准问题测试不同模型的性能/成本比,选择最优方案。
8.4 项目结构优化
对于正式项目,建议采用更清晰的结构:
my-ai-agent/ ├── app/ │ ├── agents/ # 存放不同智能体的定义 │ │ └── weather_agent.py │ ├── tools/ # 存放所有工具 │ │ ├── weather.py │ │ └── calculator.py │ ├── chains/ # 存放复杂的工作流链 │ ├── config.py │ └── main.py ├── tests/ # 单元测试 ├── .env.example # 环境变量示例文件 ├── requirements.txt └── README.md8.5 向更复杂的智能体演进
本文示例是一个单智能体单工具的简单场景。要构建更强大的应用,你可以探索:
- 多工具智能体:为智能体装备搜索引擎、数据库查询、代码执行等多种工具。
- 多智能体协作:使用LangGraph或CrewAI创建多个各司其职的智能体(如“研究员”、“写手”、“评审员”)协同完成复杂项目。
- 长期记忆:集成向量数据库(如Chroma、Pinecone),让智能体记住长期的对话历史和知识。
- 前端交互:将智能体后端封装成API,并为其开发Web(如Gradio、Streamlit)或聊天软件(如集成到Slack、钉钉)界面。
9. 总结
回到开头的新闻,Inkling免费开放其平台,本质上是将我们上面用代码实现的这套“智能体编排”能力,通过可视化、低代码的方式提供出来。这对于快速原型验证和特定场景的搭建无疑是有帮助的。
然而,通过本文的实战,我们揭示了其背后的核心原理:一个智能体系统 = 模型聚合层(OpenRouter) + 智能编排层(逻辑代码/框架) + 工具层(自定义函数)。掌握了这个公式和具体的实现方法,你就拥有了不依赖任何特定平台的、自主构建AI应用的能力。
本文带你完成了从概念理解、环境搭建、代码实现到问题排查的完整闭环。你学到的不仅仅是调用一个API,而是如何设计一个具备“思考-行动”能力的AI系统。下一步,你可以:
- 将模拟的天气工具替换为真实的天气API。
- 尝试为智能体增加更多工具,如
search_web(网络搜索)或query_database(数据库查询)。 - 探索LangChain的
AgentType,尝试ZERO_SHOT_REACT_DESCRIPTION、OPENAI_FUNCTIONS等不同结构的智能体。 - 研究LangGraph,构建具有循环和条件分支的复杂工作流。
AI智能体的世界刚刚打开,真正的创新在于你如何将这套能力与具体的业务场景相结合。现在,你已经拿到了入场券。