智能体开发从0到1操作指南

从场景设计开始

什么是 Agent

在当今火热的人工智能领域(AI),Agent,即智能体是一个核心概念。Agent 是指一种能够感知所处环境,并依据所感知到的信息自主作出决策并执行相应行动,以实现特定目标的实体。

智能小 Q 的 Agent 定义为,基于数据围绕特定业务场景完成数据解决方案实体,如基于销售订单明细结合销售拜访记录做成销售周报,针对销售异常增长下跌进行销售动作归因分析的 Agent 等。

Agent 能解决我的哪些问题

在智能小 Q 产品中,我们聚焦数据 Agent 领域,主要是基于数据+企业知识库,能结合大模型,智能地生成企业洞察。具体化为能够基于用户问题或者指令,结合企业、用户的数据、知识库进行智能回答,并执行相应行动的实体。如根据用户问题智能获取数据,根据用户分析需求智能生成分析报告,主动帮助用户定期监测数据生成洞察归因报告推送给用户等。

用户可以基于自己的需求,设计和开发自己的智能体。

如何定义我的场景和问题

  1. 首先确定要解决的具体问题及目标用户:如企业电销质量管理团队需要基于拜访小记数据进行电销质量跟踪,以评价每个销售人员的拜访是否符合销售规范。这里的目标用户就是电销质量管理团队,解决的目标问题就是通过拜访数据评价拜访质量。

  2. 其次明确输入输出和相关标准

    1. Agent 输入:即数据来源,可以是结构化数据或非结构化数据,或者两者兼有。

      类型 1: 结构化数据:拜访明细表,客户明细表;数据库或者 Excel 等。

      类型 2:非结构化数据:产品及分模块介绍文档;拜访质量标准文档。

    2. Agent 输出:

      每次拜访记录的质量评价(优秀、合格、不合格)。

      销售人员的拜访质量评价(各层级占比)。

      销分团队拜访质量评价。

    3. 评价质量标准:

      示例:如优质为销售动作有进展有结果且记录内容质量佳;符合为销售进展、结果、记录内容质量三者符合其一;不达标为内容质量差、基本信息缺乏、客户无进展。

素材准备

大模型提示词即 Prompt

根据业务需求设计大模型解读数据的提示词,即 Prompt。如前示例,可以根据评判拜访记录质量的标准作为原型进行 Prompt 编写。一个较为完善、能够提供更好更稳定的输出的 Prompt 编写建议:

image.png

Agent 开发与调试

获取数据集 ID

image.png

获取用户 ID

image

使用 Dify 开发智能体

  1. 在工作室入口下新增【创建空白应用】,选择进阶用户适用下的【chatflow】。

  2. 在【应用名称&图标】中定义 Agent 名称,然后按需添加描述后点击创建,进入编排页面。

  3. 在 LLM 节点输入需要大模型解读的 Prompt,Prompt 如何编写可以自学,互联网上有较多材料,搜索即可获得。

  4. 在 LLM 之前需要获取相应的 s 数据,则可以在 LLM 节点之前,新增代码(code)节点,代码节点通过 Python 方式访问 OpenAPI 取数方法如下:

    image.png

  5. 内容配置方式:

image.png

  1. 代码:

    from alibabacloud_quickbi_public20220101.client import Client as quickbi_public20220101Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_quickbi_public20220101 import models as quickbi_public_20220101_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    import urllib3
    import json
    
    def main(userQuestion: str, userId: str, cubeId: str) -> dict:
        urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
        config = open_api_models.Config(
                access_key_id='your_key',
                access_key_secret='your_secret'
            )
        config.endpoint = f'quickbi-public.cn-hangzhou.aliyuncs.com'
        client = quickbi_public20220101Client(config)
        smartq_query_ability_request = quickbi_public_20220101_models.SmartqQueryAbilityRequest(
                user_question=userQuestion,
                cube_id=cubeId,
                user_id=userId
                )
        runtime = util_models.RuntimeOptions()
        runtime.ignore_ssl = True
        response = client.smartq_query_ability_with_options(smartq_query_ability_request, runtime)
        ret_json = json.dumps(response.body.to_map(),ensure_ascii=False)
        if len(ret_json) >= 80000:
            return {
            "result": "超过80000字符限制"
        }
    
        return {
            "result": ret_json
        }

相关内容获取来源:

从开放平台获取 OpenAPI 范围的密钥相关信息。

access_key_id='your_key',

access_key_secret='your_secret'

image.png

调试阶段可以试用 OpenAPI-UserId ,调试结束后使用系统的 sys.user_id

OpenAPI-Userid 获取方式:

image

image.png

Agent 发布

找到入口:系统配置->智能问数->智能体管理

image.png

创建智能体工坊,用于存放和组织自定义智能体的空间。

image.png

在智能体工坊下创建智能体。按设计要求配置智能体内容。

image.png

用户使用

找到入口,智能小 Q->我的智能体

image.png

发起提问进行分析:选择快捷提问或自行输入要分析的问题。

image.png