使用Workbench AI Agent模式进行智能云上运维

更新时间:
复制 MD 格式

针对复杂的ECS命令行运维场景,为简化软件安装与异常问题诊断等任务,可使用Workbench AI Agent模式通过自然语言指令规划并执行操作,提升运维效率。

功能介绍

Workbench AI Agent模式是内嵌于阿里云Workbench中的一个智能助手。该模式允许您通过自然语言直接与终端进行交互,将原本需要记忆和手动执行的复杂命令行操作,转变为简单、流畅的对话式任务。

核心能力

  • 自动识别Shell命令与自然语言指令:例如输入ls时,会识别为Shell命令,不会触发对话。

  • 智能任务拆解:当接收到安装Docker检查CPU这类宏观需求时,Agent能自动将其分解为一系列具体的、可执行的命令行步骤。

  • 动态流程调整:Agent并非机械地执行预设脚本。它会根据上一步命令的执行结果(成功、失败或具体输出),实时调整后续的操作计划。

  • 自主决策与规划:在清晰的指令下,Agent能够自主规划完成任务所需的流程,例如安装软件时自动处理依赖关系。

  • 上下文感知:Agent能够理解当前终端所处的目录、之前的操作历史等上下文信息,从而提供更精准、更贴合当前场景的操作建议。

  • OpenAPI调用:Agent可根据实际需求,调用OpenAPI获取实例相关信息。

    目前仅支持DescribeInstanceAttributeDescribeSecurityGroupAttributeDescribeDisks三个API。

使用场景

场景一:问题诊断

场景二:软件安装

场景三:系统运维

例如在服务器响应变慢时。

输入:我的实例有点慢,帮我分析并解决

例如在需要安装Docker时。

输入:请帮我安装Docker

例如在需要禁用SSH密码登录时。

输入:帮我禁用SSH密码登录

适用范围

在开始使用Workbench AI Agent模式前,请确保已满足以下条件:

  • 阿里云账号或RAM用户拥有通过Workbench登录目标ECS实例的权限

  • (可选)如果任务涉及从互联网下载软件(例如安装Nginx、WordPress等),请确保ECS实例具备公网访问能力(已配置公网IPNAT网关)。

使用AI Agent模式

  1. 通过Workbench登录Linux实例

    登录ECS控制台-实例,找到目标实例,点击操作列下的远程连接,选择通过Workbench远程连接对应的立即登录

  2. 进入AI Agent模式

    登录进入实例后,可通过以下任一方式进入Agent模式:

    • 方式一(点击按钮):在终端界面的顶部,单击Agent

      仅限新版Workbench

      Agent 按钮上同时显示快捷键 ⌘ I

    • 方式二(快捷键):在终端界面中,按下快捷键 Command + I(macOS)或 Ctrl + Shift + I(Windows)。

    • 方式三(右键菜单):在终端界面中,右键选择AI 终端模式

  3. 下达指令

    进入该模式后,会看到输入提示符变为Agent模式的专属样式。输入一个简单的自然语言指令,然后按回车,例如:

    我的实例有点慢,帮我分析并解决
    可按Shift + Enter强制触发AI Agent交互,输入的内容会被强制识别为自然语言。
  4. 审查与执行

    Agent会理解您的意图,规划出相应的Shell命令,您需要在点击执行前,审查该命令,确保它符合预期。确认无误后,点击执行

    重要

    AI生成内容为操作建议,仅供参考。最终操作需您自主确认,相关风险及后果需自行承担。

    [root@iZbp000000000000 ~]# 我的实例有点慢,帮我分析并解决
    
    ● 好的,我来帮你分析实例变慢的原因。首先,我们需要检查CPU的使用情况,看看是否有进程占用了过多的CPU资源。
    
    是否同意执行以下命令并查看输出?
    
      top -b -n 1 | head -n 20
    
    这条命令会显示当前CPU使用情况的快照,帮助我们识别可能占用过多资源的进程。
    
    [root@iZbp000000000000 ~]#
    
    [root@iZbpoooooooooooo ~]# top -b -n 1 | head -n 20
    top - 15:30:54 up 5 days, 23:08,  2 users,  load average: 4.94, 3.58, 2.71
    Tasks: 113 total,   7 running, 106 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 96.8 us,  3.2 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  7589.5 total,  5603.6 free,   682.5 used,  1562.0 buff/cache
    MiB Swap:    0.0 total,    0.0 free,    0.0 used.  6907.0 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    44580 root      20   0  236580   9352   2760 R  93.3   0.1   0:47.32 python
    44581 root      20   0  236580   9492   2900 R  86.7   0.1   0:47.40 python
        1 root      20   0  103576  11480   8580 S   0.0   0.1   0:04.15 systemd
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.04 kthreadd
        3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
        8 root       0 -20       0      0      0 I   0.0   0.0   0:00.31 kworker/0:1H-events_highpri
        9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
       11 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_rude_
       12 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tasks_trace
       13 root      20   0       0      0      0 S   0.0   0.0   0:01.20 ksoftirqd/0
       14 root      20   0       0      0      0 R   0.0   0.0   0:21.35 rcu_sched
    [root@iZbpoooooooooooo ~]#
    

    执行高风险命令前,例如通过kill命令结束进程等高风险命令,命令框会通过红色样式展示,在执行前需进行二次确认。请确认无误后执行,确保操作安全。

    AI回复时,可通过单击AI输出右侧的image图标(或按快捷键Ctrl/Command + C终止输出

    [root@iZbp1oooooooooooooooo ~]# 我的实例有点慢,帮我分析并解决
    ○ 好的,我来帮你分析实例变慢的原因。首先,我们检查CPU的使用情况,看看是否有高负载的进程。
    

    如需修改AI回复中的命令,可单击命令上方修改(或按快捷键Ctrl/Command + E),完成后单击保存(或按快捷键ESC)。

  5. 开启新会话(清除对话历史)

    任务执行完毕后,可单击AI输出内容下方的开启新会话,清除当前对话历史。

更多用法

上传/下载文件

Agent模式下,可通过自然语言指令完成文件上传/下载操作。

  • 文件上传

    示例输入:上传文件到当前目录

  • 文件下载

    示例输入:下载test.md到本地

调用OpenAPI获取实例信息

Agent可在有需要时,调用OpenAPI获取实例相关信息(例如获取实例安全组信息)。目前仅支持DescribeInstanceAttributeDescribeSecurityGroupAttributeDescribeDisks三个API。

示例输入:检查这台实例的安全组是否允许来自192.168.2.10的访问

常见问题

使用Workbench AI Agent模式会额外收费吗?

不收取额外费用。