当前位置:首页 > 资讯列表 >Agent究竟是何物?

Agent究竟是何物?

发布时间:2026-06-18 11:37:27 分类:营销学堂

背景:Agent 为什么突然火了?

1. 从“聊天机器人”到“智能体”的跃迁

2023年之前,大众对AI的认知停留在ChatGPT式的一问一答——你提问,它回答,对话结束。这种模式的核心局限在于:模型被“锁”在自己的知识库里,无法主动行动、无法获取实时信息、无法调用外部工具。

2024年开始,Agent(智能体)成为AI领域最热门的概念之一。如果说大模型是“大脑”,那么 Agent 就是给这个大脑装上了手和脚——它不仅能思考,还能主动采取行动来完成目标。

2. 核心驱动力


Agent 到底是什么?

一句话定义

Agent 是一个能够自主理解目标、规划步骤、调用工具、执行动作并迭代优化的智能程序。

与传统AI的核心区别

维度传统聊天机器人Agent(智能体)
能力边界只“说”不“做”能“做”事(查天气、发邮件、订票)
交互模式被动响应主动规划与执行
记忆能力单轮/短上下文可保持长期记忆
工具使用可调用任意API/工具
自主决策可拆解任务、试错、调整策略


简单实现示例

import os
import sys

from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain_core.messages import AIMessage, HumanMessage
from langchain_core.tools import tool

# 从项目目录的 .env 文件加载环境变量(如 OPENAI_API_KEY)
load_dotenv()

# 可通过 .env 覆盖,便于切换模型或测试不同问题
DEFAULT_MODEL = os.getenv("OPENAI_MODEL", "openai:gpt-5.4-mini")
DEFAULT_QUERY = os.getenv("AGENT_QUERY", "帮我查一下明天杭州的天气")


@tool
def search_web(query: str) -> str:
    """搜索互联网,用于查询实时信息(天气、新闻等)。"""
    # TODO: 接入真实搜索 API(如 Tavily、SerpAPI)后再返回真实结果
    return f"搜索结果是:关于 {query} 的信息..."


def require_openai_api_key() -> str:
    """检查 OPENAI_API_KEY 是否已配置,未配置则提示并退出。"""
    api_key = os.getenv("OPENAI_API_KEY", "").strip()
    if api_key:
        return api_key

    print(
        "未找到 OpenAI API Key。\n\n"
        "在项目目录创建 .env 文件,写入:\n"
        "   OPENAI_API_KEY=sk-你的密钥\n\n"
        "可选配置:\n"
        "   OPENAI_MODEL=openai:gpt-4o-mini\n"
        "   AGENT_QUERY=你的问题",
        file=sys.stderr,
    )
    sys.exit(1)


def build_agent(model: str = DEFAULT_MODEL, *, debug: bool = False):
    """创建带工具的 ReAct Agent,model 格式为 'openai:模型名'。"""
    return create_agent(
        model,
        tools=[search_web],
        system_prompt="你是助手,需要实时信息时请先调用 search_web 工具。",
        debug=debug,
    )


def extract_reply(result: dict) -> str:
    """从 Agent 返回结果中取出最后一条 AI 回复。"""
    for message in reversed(result["messages"]):
        if isinstance(message, AIMessage) and message.content:
            return message.content
    return "未获取到有效回复。"


def main() -> None:
    require_openai_api_key()

    agent = build_agent(debug=True)
    result = agent.invoke({"messages": [HumanMessage(content=DEFAULT_QUERY)]})
    print(extract_reply(result))


if __name__ == "__main__":
    main()


配置文件(.env)

OPENAI_API_KEY=sk-xxx          # 必填

OPENAI_MODEL=openai:gpt-4o-mini # 可选,默认gpt-5.4-mini

AGENT_QUERY=帮我查一下明天杭州的天气 # 可选,默认查询


注:有些模型需要梯子


Agent 有什么用?(应用场景)

1. 数据分析和报表生成

2. 自动化工作流

3. 软件开发(Devin 类)

4. 多Agent协作