六位一线AI工程师总结Agent构建经验,天工SkyAgents的Agent构建实战。
作者: AI进修生 来源: AI进修生
Aitrainee | 公众号:AI进修生
🌟我们给人类新手明确的目标和具体的计划,而不是模糊的开放式指示,对Agent也应该这样做。
最成功的Agent开发者可能也是工程师团队的管理者,因为给AI制定计划的过程和管理初级员工的方式类似 。
▲ 六位一线AI工程师分享自身总结,公开大模型应用一年心得
我们给人类新手明确的目标和具体的计划,而不是模糊的开放式指示,对Agent也应该这样做,详细展开的话,总的来说有下面两点 :
1. 优先考虑确定性工作流程
Agent被期待动态对用户请求做反应,但随着执行步数增加,失败的可能性指数增加,并且从错误中恢复的机会很小。一种有前途的方法是使用Agent系统来生成确定性计划,然后以结构化、可重复的方式执行这些计划,带来的好处包括:
-
• 生成的计划可以作为提示词中的少数样本,或微调数据。
-
• 使系统更加容易测试和调试,失败可以追溯到计划中的具体步骤。
-
• 生成的计划可以表示为有向无环图 (DAG),相对于静态提示词,它更容易理解和适应新情况。
我们如果用具体的事例 来说的话,可能是这样的:
假设我们有一个AI助手,它的任务是帮用户在线购买一件商品 。这个任务涉及很多步骤,比如搜索商品、比较价格、选择合适的选项、添加到购物车、填写支付信息等。随着步骤的增加,出错的可能性也增加。
生成确定性计划的好处
- 1.生成的计划可以作为少数样本或微调数据 比如,AI助手生成了一个购物计划:这个具体的计划可以用来教AI助手如何完成类似的任务,也可以作为训练数据来微调AI模型,让它在类似任务中表现得更好。
-
• 第一步:在搜索栏输入商品名称。
-
• 第二步:筛选出最低价的商品。
-
• 第三步:选择合适的颜色和尺寸。
-
• 第四步:添加到购物车。
-
• 第五步:填写支付信息并确认订单。
-
2.让系统更容易测试和调试 如果AI助手在购买过程中出错了,比如没有正确选择颜色,我们可以回溯到“第三步:选择合适的颜色和尺寸”,找到问题所在并进行修正。这比在一个没有明确步骤的任务中找问题要容易得多。
-
3.生成的计划可以表示为有向无环图 (DAG) 我们可以把这个购物计划画成一个图表,每个步骤都是一个节点,节点之间有箭头连接,表示步骤的顺序:
搜索商品 -> 筛选价格 -> 选择颜色和尺寸 -> 添加到购物车 -> 填写支付信息
这个图表让每个步骤和顺序一目了然,比文字描述更直观。如果我们需要修改计划,比如在筛选价格之前先检查商品评价,我们只需要在图表上添加一个新节点,并调整箭头连接即可。
通过这种确定性工作流程,我们可以让AI助手在执行任务时更稳定、更可预测、更容易调试和改进,同时也能更好地适应新情况。
你可能会问“生成的计划可以作为少数样本或微调数据 ”?具体又是如何操作呢,没关系,我这里也准备了:
以下是一个具体的示例,展示如何生成确定性计划并将其用作训练数据或微调数据,以提高AI助手在完成类似任务中的表现。
向上滑动
2. 增加输出多样性的经验总结
在任务中需要提供多样化的输出,比如根据用户之前购买过的产品推荐新产品时,仅仅通过提高模型的温度参数可能并不足够,甚至会带来一些问题。以下是一些具体的方法和经验:
- 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.按照信息流转的顺序进行模块排布 :一个 Agents 的顺利运行,与合理的排布密不可分。在真正着手设计前,先进行一个整体规划,列出编排的目的和希望实现的效果,思考需要哪些模块进行组合,做好提前的规划。
-
2.持续进行调试优化以满足目标需求 :Agent的搭建往往需要多次调试才能满足需求,尤其在复杂的逻辑编排中,更需要仔细进行连线设计与参数设计。持续调整优化节点排布,将提升Agent的体验质量。
-
3.注意模块的必填信息与核心配置 :在使用模块时,注意每个模块都有必填信息与选填信息。在设计画布时,将必填信息设置好,选填信息也进行合理排布规划,有助于理清思路,确保编排顺畅。
-
4.灵活运营信息处理的三大模块 :信息分类、信息提取、信息加工是更多用户使用体验的核心。通过这三个模块,可以实现更复杂的信息处理任务,提升整体系统的效能。
初级:知识库 Agent
在开始知识库Agent的创建之前,你可以速览一下这个新手入门:搭建第一个 Agent**(向上滑动)**
知识库 Agent 是当前受欢迎的一类工具,它将个人或企业的专有数据与大型模型相结合,进一步扩展了大模型的知识库范围,使其与业务更紧密地结合。
配置与规划
在 Agent 的配置过程中,如果在 Agent 设置页面中选择关联了“知识库”,我们就能够在规划页面中看到新增加的“知识库搜索”模块。本次案例将着重介绍“知识库搜索”模块的功能设计。
基础配置
本案例中,我们将创建一个名为“大预言模型助手”的 Agent,将整理好的大语言模型相关资料作为知识库。这个 Agent 将充当大语言模型方面的专家,回答关于大语言模型方面的提问。
画布规划
在 Agent 的画布规划中,新增了一个“知识库搜索”模块,借助“知识库”中上传的资料,辅助 AI 完成大模型相关问题的回复。它的具体逻辑如下:
-
• 通过“用户提问”模块获取用户输入信息,并通过“用户提问”输出。
-
• “知识库搜索”模块通过“信息输入”输入用户的问题,然后执行以下步骤:
-
- 将用户提问进行向量化,并与“大语言模型”的知识库中已有的内容切片进行向量检索。
-
- 将搜索结果进行相似度排序,返回相似度排名靠前的切片。
-
• 连线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