先问一句再查三地:11月3日 AI Shell 只读复核笔记
今天的 AI DevSpace 体验,我特意换了一个顺序:先问清,再动手查。前一天我直接查了华北-北京四的 ECS,这一次我先向 AI Shell 问了两个入门问题,确认它的边界之后,才让它做一次只读查询,并顺手把另外两个常见区域也复核了一遍。
第一步:从成长中心出发
入口和昨天一样:华为云开发者成长中心任务卡的“每日体验 AI DevSpace”,经 AI Agent 开发实践中心进入免费体验版 AI DevSpace。环境准备好后,我新建了一个 AI Shell 会话,工作目录默认在 /root/workspace,会话模式为 Semi-Auto。体验版容器会在 3 小时后释放,这一点要先记好,重要内容不要只留在容器里。
第二步:先问一句,确认只读边界
我问的第一句话是:第一次使用 AI Shell,请介绍你能帮我做什么,并说明只读查询云资源时不会创建或修改资源,对吗?
它的回答很清楚:它是华为云基础设施即代码(IaC)架构伙伴,主要做两件事,一是查询 VPC、ECS、OBS、RDS 等云资源的列表、详情和配额,二是生成或执行 Terraform 代码来创建或管理资源。只读查询只调用只读 API,不改变云上任何状态;只有执行 terraform apply 这类变更操作时,才会先说明要做什么、影响哪些资源,并等我明确回复“确认”后才动手。
这一步的价值不在“客套”,而在把边界写进同一轮对话:后面我再下查询指令时,就不用反复解释“别改东西”。
第三步:一次只读查询,查三个区域
确认边界后,我下的指令是:请只读查询,列出当前账号下正在运行的 ECS 实例,只要名称、状态、规格等基本信息,不要创建、修改或删除任何资源。
AI Shell 先加载了 huawei-cloud-computing-query 这个只读查询技能,接着做了环境检查:Python 3.11.16、华为云 SDK(core、ecs、iam 等)校验通过,读取了 ECS 查询脚本的用法说明,然后执行了 list_servers_details.py。整个过程没有弹出需要我额外确认的临时凭据配置,也没有让我去点任何变更操作。
查询结果如下:
| 区域 | 查询条件 | 结果 |
|---|---|---|
| cn-north-4(华北-北京四) | 所有状态 | 0 个实例 |
| cn-north-4(华北-北京四) | 仅运行中(ACTIVE) | 0 个实例 |
| cn-east-3(华东-上海一) | 运行中(ACTIVE) | 0 个实例 |
| cn-south-1(华南-广州) | 运行中(ACTIVE) | 0 个实例 |
AI Shell 自己的总结也强调:这是纯只读查询,只调用了 ECS 列表查询 API,没有创建、修改或删除任何资源;如果实例在 cn-north-1、cn-east-2、ap-southeast-1 等其他区域,可以再按区域名查。
“查到 0 台”不等于“没查到”
第一次看到 0 个实例,很容易怀疑是不是指令写错了、区域选错了,或者凭据没生效。但这次的链路其实是完整的:技能加载、环境检查、SDK 校验、脚本用法、列表查询、换条件复查、换区域复查,每一步都有回显。0 在这里是一个真实答案,意思是本次覆盖的三个区域里确实没有 ECS 实例,而不是查询本身失败。
更重要的是,不要因为结果是 0 就顺手创建一台来“验证一下”。那样就把一次只读核查变成了变更操作,完全违背了最初的意图。正确的做法是:先记录“哪几个区域、什么状态、结果是多少”,再决定下一步是换区域查,还是就此收尾。
三个可复用的小经验
第一,先问边界再下指令。把“只读、不创建、不修改、不删除”写进同一句话,比事后检查更省事。
第二,多区域复核一次问清。与其华北查完再回头问华东、华南,不如一开始就说明要复核哪几个区域,减少来回对话。
第三,只读结果也要留痕。区域、状态、数量这三列记下来,下次再查就能直接对比,不用凭印象说“上次好像也没有”。
收尾
今天的体验没有产出任何新资源,这正是想要的结果:一次有记录、可复核的只读查询。接下来我会把这篇笔记发到华为云开发者社区,作为当日的原创记录;体验版容器到期前,也会把需要保留的内容及时移出容器。
如果你也在用 AI Shell 做云资源盘点,建议先从一句确认边界的话开始——把“查什么、不改什么”说清楚,后面的查询会稳得多。
- 点赞
- 收藏
- 关注作者
评论(0)