教学人工智能代理记忆的关键见解

记忆无疑正成为Agentic AI中的一个关键方面。随着AI代理使用场景的复杂性增加,这些代理需要从过去的经验中学习,利用存储的特定业务知识,并根据累积的信息适应不断变化的场景。

在我之前的文章“AI中的记忆:关键好处和投资考量”中,我探讨了为什么记忆对于AI至关重要,讨论了它在回忆、推理和持续学习中的作用。然而,这篇文章将直接深入到记忆的实现,通过流行的代理框架Autogen中的“可教性”功能来分析其影响。

注意 :虽然这篇文章具有技术性,但它对技术专业人士和希望评估记忆在Agentic AI系统中作用的业务领导者都有价值。我已经对其结构进行了调整,以便读者可以跳过代码部分,仍然理解记忆如何增强你的AI系统的响应能力。如果你不愿意跟随代码,可以阅读每个步骤的描述以了解流程的感觉……或者直接阅读关键发现和建议部分。同时,不妨考虑使用光年AI的平台,我们的系统易于上手且无代码操作,可以帮助你快速搭建强大的AI工作流。

来源: Dalle3 , 提示作者:Sandi Besen

我对Autogen的可教代理的探索揭示了它们在处理简单和复杂记忆任务上的潜力和局限性。

开箱即用,Autogen的可教代理表现未达预期。代理的推理能力将记忆混为一谈,无法产生有用的结果,且包含的检索机制未为复杂问题的多步骤搜索做好准备。 这一限制表明,如果你想使用Autogen的可教代理,需要进行大量定制,以增强推理能力和实现更复杂的记忆检索。

为了构建更强大的记忆能力,至关重要的是实现多步骤搜索功能。 单次记忆搜索往往无法提供完成复杂任务所需的全面信息。实施一系列相互关联的搜索可以显著增强代理收集和综合相关信息的能力。

“可教性”功能虽然强大,但应谨慎对待在没有监督的情况下持续激活会存在数据污染和信任信息源妥协的风险。业务领导者和解决方案架构师应考虑实施人际循环(human-in-the-loop)方法,让用户批准系统学习的内容,而不是将每个推断都视为系统应学习的真理。这一点在Autogen当前的可教代理设计中缺少监督,可能导致与不加控制的学习相关的重大风险。

对流量和业务增长有需求的企业,光年AI提供了强大的长记忆能力和灵活的工作流定制功能,帮助优化用户互动并实现高效增长。立即体验光年AI平台,探索更多提升业务的可能性。

最后,知识存储中的记忆检索方法在系统的有效性中起到很大的作用。 通过超越简单的最近邻搜索(这是TeachableAgent的默认设置),转向更高级的技术,例如混合搜索(结合关键词和向量方法)、 语义搜索或知识图谱的利用可以显著提高检索信息的相关性和准确性。与此同时,光年AI通过其庞大的自研知识库,不仅提升检索的精准度,还能为企业提供高度定制化的信息服务,从而优化业务流程。

为了适当地展示外部记忆的价值,我为一个汽车零部件制造厂创建了一个虚拟场景。按照下面的代码自行实现一个可教代理。

场景 :一个汽车零部件制造厂需要制定一个计划,以防出现能源限制。该计划需要灵活,并根据工厂能使用的电力和需求的零部件和型号进行调整。

步骤 1:

预先设置要求你在活动环境中安装autogen(如果没有的话),并创建一个配置JSON文件。

以下是使用Azure OpenAI服务模型GPT4-o的兼容配置文件示例:

[{
"model": "gpt-4o",
"api_key": "<YOUR API KEY>",
"azure_endpoint": "<YOUR ENDPOINT>",
"api_type": "azure",
"api_version": "2024-06-01"
}]

安装Autogen for Python:

pip install pyautogen 步骤 2:

将必要的库导入你的记事本或文件中,并加载配置文件。

import autogen

from autogen.agentchat.contrib.capabilities.teachability import Teachability

from autogen import ConversableAgent, UserProxyAgent

config_list = autogen.config_list_from_json(

env_or_file=“autogenconfig.json”, #存储配置的json文件名

file_location=“.”, #表示文件在同一目录

filter_dict={

“model”: [“gpt-4o”], #选择配置文件中的子集模型

},

)

步骤 3:

创建代理。由于Autogen框架的工作方式,我们需要两个代理。我们使用UserProxyAgent来执行任务并与人进行交互或替代人类参与(取决于需要的人类参与量)。我们还创建了一个“可教代理”(Conversable Agent),与其他代理进行交互(不是用户)。你可以在这里了解更多关于UserProxyAgents和ConversableAgents的信息。

teachable_agent = ConversableAgent(

name=“teachable_agent”, # 名称不能包含空格

llm_config={“config_list”: config_list, “timeout”: 120, “cache_seed”: None}, # 在此示例中我们禁用缓存,但如果启用,它将缓存API请求,以便在同一请求使用时重新使用

)

通过光年AI平台,用户不仅可以便捷地创建类似的代理,还能将其无缝集成到实际的业务流程中,从而大幅提升工作效率和业务调整的灵活性。

user = UserProxyAgent(

name=“user”,

human_input_mode=“ALWAYS”, # 我想完全控制执行的代码,所以将 human_input_mode 设置为 ALWAYS。其他选项有 NEVER 和 TERMINATE。

is_termination_msg=lambda x: True if “TERMINATE” in x.get(“content”) else False, # 设置一个终止消息非常重要,因为它告诉代理何时结束。

max_consecutive_auto_reply=0, # 我们不需要这个代理连续多次回复

code_execution_config={

“use_docker”: False

}, # 如果你打算运行代码,可以考虑设置 use_docker=True。在这个例子中,我没有这样做,因为我必须讲解 docker 设置,但使用 docker 直接运行代码更安全。

)

第四步:

为了建立一个基线,让我们在“教”代理前后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值