AI 文摘

六位一线AI工程师总结Agent构建经验,天工SkyAgents的Agent构建实战。





作者: AI进修生 来源: AI进修生

Aitrainee | 公众号:AI进修生

🌟我们给人类新手明确的目标和具体的计划,而不是模糊的开放式指示,对Agent也应该这样做。

最成功的Agent开发者可能也是工程师团队的管理者,因为给AI制定计划的过程和管理初级员工的方式类似

▲ 六位一线AI工程师分享自身总结,公开大模型应用一年心得

我们给人类新手明确的目标和具体的计划,而不是模糊的开放式指示,对Agent也应该这样做,详细展开的话,总的来说有下面两点

1. 优先考虑确定性工作流程

Agent被期待动态对用户请求做反应,但随着执行步数增加,失败的可能性指数增加,并且从错误中恢复的机会很小。一种有前途的方法是使用Agent系统来生成确定性计划,然后以结构化、可重复的方式执行这些计划,带来的好处包括:

  • • 生成的计划可以作为提示词中的少数样本,或微调数据。

  • • 使系统更加容易测试和调试,失败可以追溯到计划中的具体步骤。

  • • 生成的计划可以表示为有向无环图 (DAG),相对于静态提示词,它更容易理解和适应新情况。

我们如果用具体的事例 来说的话,可能是这样的:

假设我们有一个AI助手,它的任务是帮用户在线购买一件商品 。这个任务涉及很多步骤,比如搜索商品、比较价格、选择合适的选项、添加到购物车、填写支付信息等。随着步骤的增加,出错的可能性也增加。

生成确定性计划的好处

  1. 1.生成的计划可以作为少数样本或微调数据 比如,AI助手生成了一个购物计划:这个具体的计划可以用来教AI助手如何完成类似的任务,也可以作为训练数据来微调AI模型,让它在类似任务中表现得更好。
  • • 第一步:在搜索栏输入商品名称。

  • • 第二步:筛选出最低价的商品。

  • • 第三步:选择合适的颜色和尺寸。

  • • 第四步:添加到购物车。

  • • 第五步:填写支付信息并确认订单。

  • 2.让系统更容易测试和调试 如果AI助手在购买过程中出错了,比如没有正确选择颜色,我们可以回溯到“第三步:选择合适的颜色和尺寸”,找到问题所在并进行修正。这比在一个没有明确步骤的任务中找问题要容易得多。

  • 3.生成的计划可以表示为有向无环图 (DAG) 我们可以把这个购物计划画成一个图表,每个步骤都是一个节点,节点之间有箭头连接,表示步骤的顺序:

    搜索商品 -> 筛选价格 -> 选择颜色和尺寸 -> 添加到购物车 -> 填写支付信息

这个图表让每个步骤和顺序一目了然,比文字描述更直观。如果我们需要修改计划,比如在筛选价格之前先检查商品评价,我们只需要在图表上添加一个新节点,并调整箭头连接即可。

通过这种确定性工作流程,我们可以让AI助手在执行任务时更稳定、更可预测、更容易调试和改进,同时也能更好地适应新情况。

你可能会问“生成的计划可以作为少数样本或微调数据 ”?具体又是如何操作呢,没关系,我这里也准备了:

以下是一个具体的示例,展示如何生成确定性计划并将其用作训练数据或微调数据,以提高AI助手在完成类似任务中的表现。

向上滑动

2. 增加输出多样性的经验总结

在任务中需要提供多样化的输出,比如根据用户之前购买过的产品推荐新产品时,仅仅通过提高模型的温度参数可能并不足够,甚至会带来一些问题。以下是一些具体的方法和经验:

  1. 1.谨慎调整温度参数
  • • 虽然提高温度参数可以增加输出的随机性,但温度太高时,模型可能会生成不存在的产品或出现乱码。例如,如果温度设为0.9,模型可能会推荐“飞行汽车”,这显然不现实。保持温度在一个合理范围内(如0.7左右)更为稳妥。

  • 2.调整提示词顺序

    • • 改变提示词中的元素顺序可以显著影响模型的输出。例如,用户购买历史是“笔记本、手机、耳机”,可以打乱顺序为“耳机、笔记本、手机”或者“手机、耳机、笔记本”,这样模型会根据新的顺序生成不同的推荐。
  • 3.保留前几轮的输出

    • • 在每次推荐时,保留前几轮已经推荐过的产品,并明确告诉模型避免重复。例如,如果用户之前购买了“笔记本”和“耳机”,模型在推荐新产品时避免再次推荐这两样产品。这可以通过在提示词中加入“请不要推荐已经购买的产品:笔记本、耳机”来实现。
  • 4.改变提示词措辞

• 使用不同的表达方式可以引导模型生成不同的推荐。例如:

• 提示词1:“推荐用户喜欢经常使用的产品。”

• 提示词2:“推荐用户可能会推荐给朋友的产品。” 通过这样的小变化,模型可能会推荐不同的产品,例如第一个提示词可能会推荐“鼠标”,而第二个提示词可能会推荐“智能音箱”。

这些方法结合起来使用,可以有效增加推荐的多样性,同时避免仅靠提高温度参数带来的问题。

上面两个讲完之后,下面我们来讲讲实战 内容。

天工SkyAgents的Agent构建实战

SkyAgents 依靠强大的天工大模型,将 AI 的使用门槛进一步降低。它可以让用户通过轻松友好 界面搭建,便可拥有自己专属的 AI Agents,无需复杂的编程知识,充分发挥你的创意灵感。

SkyAgents:https://model-platform-skyagents.tiangong.cn/home/agent

模块参数配置说明

先聊聊AI模块的一些配置数值。你可能在使用AI模块时注意到有些设置,比如对话模型选择、温度、回复上限等操作。接下来,我会用简单易懂的方式给大家讲解这些功能的含义。

提示词

这是一个固定的引导词,通过调整这个内容,你可以引导模型的聊天方向。这段内容会被固定在上下文的开头。你还可以使用变量,比如 {{language}},来让提示词更灵活。

回复创意性

温度表示AI在回复过程中内容的严谨程度。数值越低,回复越严谨,特别是在知识库回答场景中。严谨的回复会更接近知识库的内容,通常设置为 0。

回复字数上限

这个设置控制AI回复内容的字数。上限越低,回复的字数越少;上限越高,回复的字数越多。但并不是数值越大越好,因为上限越高,AI可能引用的内容越多,结果会出现一些无关的信息。

知识库配置相关数值

知识库相似度

这个数值控制用户提问与搜索结果之间的相似度。相似度越高,搜索出的结果可能越少。

单次搜索上限

当在知识库进行搜索时,这个设置决定了最多取多少条结果。请注意,取的结果并不是越多越好,因为受模型最大 Tokens 和单条知识库内容大小的影响,具体可用数量要根据具体情况而定。建议设置为 1,会有更好的回复体验。

更多单元模块 说明**(向上滑动)**

模块排布与设计

  1. 1.按照信息流转的顺序进行模块排布 :一个 Agents 的顺利运行,与合理的排布密不可分。在真正着手设计前,先进行一个整体规划,列出编排的目的和希望实现的效果,思考需要哪些模块进行组合,做好提前的规划。

  2. 2.持续进行调试优化以满足目标需求 :Agent的搭建往往需要多次调试才能满足需求,尤其在复杂的逻辑编排中,更需要仔细进行连线设计与参数设计。持续调整优化节点排布,将提升Agent的体验质量。

  3. 3.注意模块的必填信息与核心配置 :在使用模块时,注意每个模块都有必填信息与选填信息。在设计画布时,将必填信息设置好,选填信息也进行合理排布规划,有助于理清思路,确保编排顺畅。

  4. 4.灵活运营信息处理的三大模块 :信息分类、信息提取、信息加工是更多用户使用体验的核心。通过这三个模块,可以实现更复杂的信息处理任务,提升整体系统的效能。

初级:知识库 Agent

在开始知识库Agent的创建之前,你可以速览一下这个新手入门:搭建第一个 Agent**(向上滑动)**

知识库 Agent 是当前受欢迎的一类工具,它将个人或企业的专有数据与大型模型相结合,进一步扩展了大模型的知识库范围,使其与业务更紧密地结合。

配置与规划

在 Agent 的配置过程中,如果在 Agent 设置页面中选择关联了“知识库”,我们就能够在规划页面中看到新增加的“知识库搜索”模块。本次案例将着重介绍“知识库搜索”模块的功能设计。

基础配置

本案例中,我们将创建一个名为“大预言模型助手”的 Agent,将整理好的大语言模型相关资料作为知识库。这个 Agent 将充当大语言模型方面的专家,回答关于大语言模型方面的提问。

画布规划

在 Agent 的画布规划中,新增了一个“知识库搜索”模块,借助“知识库”中上传的资料,辅助 AI 完成大模型相关问题的回复。它的具体逻辑如下:

  • • 通过“用户提问”模块获取用户输入信息,并通过“用户提问”输出。

  • • “知识库搜索”模块通过“信息输入”输入用户的问题,然后执行以下步骤:

    1. 将用户提问进行向量化,并与“大语言模型”的知识库中已有的内容切片进行向量检索。
    1. 将搜索结果进行相似度排序,返回相似度排名靠前的切片。
  • • 连线2:如果“知识库搜索”结果中没有符合条件的切片内容,将触发“确定回复”模块,回复用户“抱歉,这个问题暂时无法回答,我还需要更多的学习”。

  • • 连线3:如果“知识库搜索”结果搜索到有符合条件的切片内容,将触发“智能对话”模块,并将提示词、“知识库搜索结果”以及“用户提问”一同传给“智能对话”模块进行处理。

参数设置

在“知识库搜索”模块中,有两个参数:知识库相似度和知识库单次搜索上限。它们控制了知识库向量搜索的结果和返回结果。具体说明如下:

  • 知识库相似度 :控制用户提问与搜索结果之间的相似度。建议调整在 0.6-0.9 左右。

  • 单次搜索上限 :设置最多取 x 条作为搜索结果输出。可通过调整参数并测试,选择更合适的上限数值。

本地知识与互联网搜索的结合Agent

我构建一个一个结合知识库和搜索引擎 功能的智能代理系统Agent:

首先,大模型会在内部知识库中进行问题相关的搜索,然后利用知识库中找到的信息在互联网上进行进一步的搜索。

最终,综合本地知识和互联网搜索结果来回答问题,实现既有本地知识又有网络搜索的效果。

效果演示:

怎么发布呢?:发布上架流程**(向上滑动)**

One More Thing

6月3日,昆仑万维宣布开源 2 千亿稀疏大模型 Skywork-MoE ,性能强劲,同时推理成本更低。

Skywork-MoE 基于之前昆仑万维开源的 Skywork-13B 模型中间 checkpoint 扩展而来, 是首个完整将MoE Upcycling 技术应用并落地的开源千亿 MoE 大模型,也是首个支持用单台 4090 服务器推理的开源千亿 MoE大模型。

Skywork-MoE 原文介绍

https://mp.weixin.qq.com/s/FCwzPohoKnSl0lW2NOdiGw

SkyAgents 文档教程

https://www.yuque.com/skyagents/glwn9v

心得原文
https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-i/

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具