Agent 是什么?

1. Agent 是什么?

Agent 有两个主要部分:

  1. 大脑(AI 模型)

所有思考都发生于此。AI 模型处理推理和规划根据情况决定执行哪些行动。

  1. 身体(能力和工具)

该部分代表 Agent 所具备的一切功能。

可执行的行动范围取决于 Agent 所装备的东西。比如人类没有翅膀,因此无法执行“飞”这个行动,但是可以执行诸如“走”、“跑”、“跳”、“抓”之类的行动。

1.1. Agent 的范围

根据该定义,Agent 存在于不断增加的范围上:

等级描述叫什么示例模式
☆☆☆Agent 的输出不影响程序流简单处理器process_llm_output(llm_response)
★☆☆Agent 的输出决定基本控制流Routerif llm_decision(): path_a() else: path_b()
★★☆Agent 的输出决定函数执行工具调用者run_function(llm_chosen_tool, llm_chosen_args)
★★★Agent 的输出控制迭代和程序是否继续多步 Agentwhile llm_should_continue(): execute_next_step()
★★★一个 Agent 工作流可以启动另一个 Agent 工作流Multi-Agentif llm_trigger(): execute_agent()

表格来自 smolagents conceptual guide


2. 为 Agent 使用何种类型的 AI 模型?

在 Agent 中,最常用的 AI 模型是 LLM(Large Language Model),它接受文本作为输入,并且输出文本

比如 OpenAI 的 GPT4,Meta 的 LLama,Google 的 Gemini 等。后面的部分将学习关于 LLM 的更多知识。


3. AI 如何在其环境上执行行动?

LLM 是神奇的模型,但是它们只能生成文本

但知名的聊天应用,比如 HuggingChat、ChatGPT,可以生成图片。它们是如何做到的呢?

答案是 HuggingChat、ChatGPT 以及类似应用的开发者实现额外的功能(被称为工具),LLM 用其创建图片。

后面的部分将学习关于 Tools 的更多知识。


4. Agent 可以执行什么类型的任务?

Agent 可以执行通过工具Tool)实现的任意任务,完成行动Action)。

比如,如果实现担任电脑上的私人助理(像 Siri 一样)的 Agent,并且要求它“向主管发送一封邮件,请求推迟今天的会议”,那么可以给 Agent 发送邮件的代码。当 Agent 需要发送邮件时,可以使用该工具。我们用 Python 编写该工具:

def send_message_to(recipient, message):
    """Useful to send an e-mail message to a recipient"""
    ...

LLM 将在需要时生成运行该工具的代码,从而完成任务。

send_message_to("Manager", "Can we postpone today's meeting?")

工具的设计非常重要,并且对 Agent 的质量影响很大。一些任务需要精心设计的专用工具,而另一些任务可以使用通用工具(比如“web_search”)解决。

允许 Agent 与其环境进行交互,可以使公司和个人在现实生活中使用


5. 总结

Agent 使用 AI 模型(通常是 LLM)作为其核心推理引擎: