从零搭建智能体!接入大模型

AI 智能体本地部署实战

OpenClaw 从环境搭建到避坑全攻略,本地跑通你的 AI 代理

Login - Manus

2025年,Manus 的横空出世引爆了全球互联网,再度掀起 AI Agent 的技术热潮。我想利用周末时间,与大家分享和总结关于智能体的实现。

本文将首先介绍 AI Agent 的核心概念,然后通过一个实际案例,展示如何利用 LangGraph 框架和 ModelScope 上的 Qwen3-30B 模型来构建一个简单的智能体。

什么是 AI Agent?

我们可以借鉴台湾大学李宏毅教授的课程内容来理解 AI Agent 的基本概念。

AI Agent 的本质

  • 与普通 AI 的区别: 传统的 AI 应用遵循“一个口令,一个动作”的模式,而 AI Agent 则是“人类只给目标,AI 自己找路”。例如,对于“研究 AI Agent 的定义”这个任务,普通 AI 可能只会回答其定义,而 AI Agent 则会主动规划并执行一系列动作来完成整个研究任务。

  • 工作循环 (Working Cycle): AI Agent 的工作流程是一个循环,包含以下几个步骤:

    以 AlphaGo 为例,其目标是赢得棋局,它通过观察棋盘状态(Observation),决定下一步的落子位置(Action),对手的回应改变了棋盘状态(Environment Change),AlphaGo 再次观察、行动,如此循环,直至分出胜负。

  1. 目标 (Goal):

     确定最终需要达成的任务。

  2. 观察 (Observation):

     感知当前的环境状态。

  3. 行动 (Action):

     根据观察和目标,决定并执行下一步动作。

  4. 环境变化 (Environment Change):

     行动会改变环境,并产生新的状态。

  5. 循环 (Loop):

     Agent 再次观察新环境,重复上述过程,直到目标达成。

  • 与强化学习的关系: AI Agent 的工作循环与强化学习(Reinforcement Learning)的思路非常相似,都是通过试错来逼近最优解。然而,传统的 AI Agent 高度依赖强化学习,导致一个模型通常只能执行一项特定任务。如今,借助大型语言模型(LLM),AI Agent 的实现方式发生了根本性的变化。

  • LLM 驱动的 AI Agent

    • 工作原理:

       由 LLM 驱动的 Agent 通过自然语言接收任务目标。它将环境信息(如文本、图片)作为输入,以文字形式输出决策和行动,并在循环中不断迭代直至任务完成。与需要专门训练的强化学习模型不同,LLM 凭借其强大的语言理解和生成能力,可以直接“推断”出下一步应该做什么。

    • 优缺点:
      • 优点:

         灵活性极高,能处理各种开放式任务;无需为每个任务定义复杂的奖励函数;行动空间几乎没有限制。

      • 缺点:

         有时可能会做出未经深思熟虑的“猜测”;其决策质量高度依赖于对环境描述的准确理解,模糊或不完整的描述可能导致错误。

    AI Agent 的三大关键能力

    1. 根据经验调整行为: Agent 需要根据外部反馈来调整后续行动。LLM 主要通过“上下文学习”(In-context Learning)来实现这一点,即将历史行动和反馈作为新的输入,从而影响后续的输出。这面临着“记忆爆炸”的挑战——如果将所有历史记录都输入给 LLM,计算成本会急剧增加。解决方案通常包括引入 写入 (Write)读取 (Read) 和 反思 (Reflection) 等记忆模块来高效管理历史信息。

    2. 使用工具 (Tool Using): LLM 自身存在短板(如无法进行实时计算、访问外部网站等),需要借助外部工具来扩展能力。Agent 通过学习如何调用工具(API)来弥补这些不足。当面对复杂任务时,Agent 需要一个“工具选择模块”来决定调用哪个最合适的工具。同时,Agent 也需要具备一定的判断力,以识别并处理工具可能返回的错误信息。

    3. 制定计划 (Planning): 计划能力指的是先思考并规划好所有步骤,再依次执行。LLM 具备一定的规划能力,但往往在细节上表现不佳。提升其规划能力的方法包括 试错法 (Trial and Error)脑内模拟 (Internal Simulation) 和 借助工具辅助规划

    使用 LangGraph 构建 Agent 实战

    了解了核心概念后,我们来看看如何实现一个 Agent。关键步骤有两个:接入一个优秀的大模型 和 为其配置并调用工具。我们选择 LangGraph 作为构建 Agent 的框架。

    GitHub:https://github.com/langchain-ai/langgraph

    1. 环境配置

    首先,安装必要的 Python 库:

    pip install -U langgraph
    pip install langchain-openai

    2. 代码实现

    官方示例通常采用 Claude、GPT 或 Gemini 等模型,对新手可能不太友好。因此,我们这里改用 ModelScope 上的 Qwen3-30B-A3B-Instruct-2507 模型,该模型提供免费调用额度。

    API Key 获取方式:https://www.modelscope.cn/docs/model-service/API-Inference/intro

    代码示例

    下面的代码实现了一个简单的天气查询 Agent。它的核心功能是:理解用户用缩写 "sf" 指代城市 "San Francisco",并调用 get_weather 工具函数来获取天气信息。

    from langchain_openai import ChatOpenAI
    from langgraph.prebuilt import create_react_agent
    
    # 配置 ModelScope 的模型服务
    # 从 ModelScope 官网获取 API Key 和 Base URL
    base_url = 'https://api-inference.modelscope.cn/v1'
    api_key = '在此处填入你从 ModelScope 获取的 API Key'
    model_name = 'Qwen/Qwen3-30B-A3B-Instruct-2507'
    
    # 定义一个工具函数
    def get_weather(city: str) -> str:
        """为一个给定的城市获取天气信息。"""
        returnf"It's always sunny in {city}!"
    
    # 初始化大语言模型
    llm = ChatOpenAI(
        api_key=api_key,
        base_url=base_url,
        model_name=model_name,
        temperature=0,
        max_tokens=None,
        timeout=None,
        max_retries=2,
    )
    
    # 使用 LangGraph 创建一个 ReAct 风格的 Agent
    # ReAct (Reasoning and Acting) 是一种让 LLM 通过思考和行动来解决问题的框架
    agent = create_react_agent(
        model=llm,
        tools=[get_weather],
        prompt="You are a helpful assistant"# 你可以根据需要调整提示词
    )
    
    # 运行 Agent
    # 我们向 Agent 提问 "what is the weather in sf"
    result = agent.invoke(
        {"messages": [{"role": "user", "content": "what is the weather in sf"}]}
    )
    
    # 打印最终的输出结果
    # result 包含了完整的执行流程,我们这里只关心最终的回复内容
    # 通常最终回复在消息列表的最后一条
    print(result['messages'][-1].content)
    输出结果
    It's always sunny in San Francisco! 🌞

    从结果可以看出,Agent 成功地理解了 "sf" 是 "San Francisco" 的缩写,并调用了 get_weather 工具,最终给出了正确的回复。这展示了一个最基本的 LLM Agent 的完整工作流程。

    参考资料

    https://github.com/langchain-ai/langgraph/tree/main

    https://zhuanlan.zhihu.com/p/29123783155

    https://www.modelscope.cn/docs/model-service/API-Inference/intro

    PS:拒绝白嫖,辛苦各位大佬,来个点赞、在看、关注吧。 您的支持是我坚持的最大动力!

    欢迎多多关注公众号「AI算法与图像处理」


AI 智能体本地部署实战

OpenClaw 从环境搭建到避坑全攻略,本地跑通你的 AI 代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值