开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

自定义Agent

DevKit AI支持在config.yaml文件中填写Agent名称和功能,来自定义子Agent。

操作步骤

  1. 使用SSH远程登录工具,登录DevKit AI的安装节点。
  2. 进入DevKit AI基础包解压后目录。
    cd DevKit-AI-x.x.x-Linux-Kunpeng
  3. 打开config.yaml文件新增子agent,以新增文件内容总结子agent为例。
    vi config/config.yaml
  4. 按“i”进入编辑模式,新增如下内容。
    subagents:
      - name: 文件内容总结
        description: 可以通过读取文件内容并进行总结。
        system_prompt: 文件内容总结工具。通过读取目标文件内容,对文本进行解析,精准提炼核心观点和关键信息,为您生成简洁明了的内容摘要,大幅度提升信息获取与处理效率。
        skills:
          - "summary"
        inherit_skills: true
        interrupt_on: #中断配置,参考主agent的配置。如果不需要中断,可以不配置该参数。
          enable: true
        # 工具配置
        tools:
          # 工具名称(如 execute, write_file 等)
          "execute":
            # 支持的操作决策列表:approve(批准)/ edit(编辑参数后执行)/ reject(拒绝)
            allowed_decisions:
              - approve
              - reject
              - edit
            # 中断描述信息
            description: "请确认是否执行该命令"
    表1 subagents参数说明

    参数

    参数说明

    name

    Agent名称,当主agent的task工具触发agent执行时,会显示在CLI的启动界面。

    description

    Agent功能描述,task工具基于name和描述信息决定执行哪个子agent,务必清晰定义,内容无歧义。

    system_prompt

    agent的上下文提示信息。

    skills

    子agent可用的工具列表。

    inherit_skills

    是否继承主agent的技能:

    • true:继承。
    • false:不继承。

    interrupt_on

    enable

    子agent中断配置,请参见主agent的中断配置,建议与主agent中断配置保持一致。如果不需要中断,可以不配置该参数。

    表2 tools参数说明

    参数

    参数选项

    参数说明

    工具名称

    allowed_decisions

    approve/reject/edit

    支持的操作决策列表:approve(批准)/edit(编辑参数后执行)/reject(拒绝)。

    description

    -

    中断描述信息。

  5. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
  6. 执行命令行工具。
    ./devkitai

    返回信息如下:

    [新会话ID] 20260818_022247_1021
    
    >>>
  7. 询问工具支持的能力。
    >>> 你有什么子agent

    返回信息如下,可以看到新增的工具:

    DevKit AI: 
    
    [主Agent] > 你好!我有以下两种子 agent(subagent):
    
    1. **general-purpose(通用型)**
       - 用途:研究复杂问题、搜索文件和内容、执行多步骤任务
       - 能力:拥有与主 agent 相同的所有工具访问权限
       - 适用场景:当需要搜索关键词或文件但不确定能否一次找到时,或需要独立完成复杂多步骤任务时使用
    
    2. **文件内容总结**
       - 用途:读取文件内容并进行总结
       - 适用场景:当需要对文件内容进行概括提炼时使用
    
    这些子 agent 是短暂存在的,它们会在任务完成后自动结束并返回结果。我可以并行启动多个子 agent 来同时处理独立的任务,提高效率。
    
    请问有什么我可以帮助你的吗?