Amazon Q Developer CLI 实测:终端里的 AI 助手能干多少活
Amazon Q Developer CLI 实测:终端里的 AI 助手能干多少活
折腾了一上午终端命令想不起来参数,突然想起来 Amazon Q Developer 有个 CLI 模式——直接在终端里问它。
试了一下发现比想象中好用。它不是那种"帮你搜 man page"的工具,而是真能理解上下文、执行多步操作、甚至帮你写完整 Shell 脚本的 AI 终端助手。
记录一下安装到实际干活的全过程。
安装
macOS:
brew install amazon-q
Linux(x86_64 / arm64):
# 下载安装包
curl -Lo q.deb https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/Amazon%20Q.deb
sudo dpkg -i q.deb
# 或者用 snap
sudo snap install amazon-q
装完后初始化:
q login
# 会打开浏览器让你用 Builder ID 或 IAM Identity Center 登录
基本用法
直接在终端里输入 q chat 进入对话模式:
q chat
或者用行内模式(不进入对话,直接执行):
q "列出所有 us-east-1 的 EC2 实例,按创建时间倒序"
它会生成对应的 AWS CLI 命令:
aws ec2 describe-instances \
--region us-east-1 \
--query 'Reservations[].Instances[].{ID:InstanceId,Type:InstanceType,State:State.Name,LaunchTime:LaunchTime}' \
--output table \
| sort -k4 -r
实战场景
场景一:排查 Lambda 超时问题
q "我的 Lambda 函数 data-processor 最近频繁超时,帮我排查"
Q Developer 会自动执行:
- 获取函数配置(检查 timeout 设置)
- 拉最近的 CloudWatch Logs(找到超时堆栈)
- 分析日志内容,给出根因判断
输出类似:
分析结果:
- 函数超时设置为 30 秒
- 最近 1 小时有 47 次超时
- 根因:DynamoDB BatchWriteItem 在高负载时延迟从 200ms 飙到 12s
- 建议:
1. 增加函数超时到 60s(短期)
2. 对 DynamoDB 表开启按需容量模式(根本解决)
3. 实现指数退避重试逻辑
需要我帮你执行这些修复吗?
场景二:快速创建 S3 生命周期策略
q "帮我给 s3://my-data-lake/raw/ 设置生命周期:30天转IA,90天转Glacier,365天删除"
它直接生成并执行:
aws s3api put-bucket-lifecycle-configuration \
--bucket my-data-lake \
--lifecycle-configuration '{
"Rules": [
{
"ID": "raw-data-lifecycle",
"Filter": {"Prefix": "raw/"},
"Status": "Enabled",
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER"}
],
"Expiration": {"Days": 365}
}
]
}'
场景三:写一个部署脚本
q "写一个 Bash 脚本:构建 Docker 镜像 → 推到 ECR → 更新 ECS 服务,支持回滚"
输出完整的部署脚本(300+ 行),包含:
- 参数解析(
--cluster、--service、--tag) - ECR 登录和镜像推送
- 创建新的 Task Definition revision
- 滚动更新 ECS Service
- 健康检查等待
- 失败时自动回滚到上一个 revision
场景四:安全审计
q "检查我的 AWS 账号有哪些安全风险"
它会逐项检查:
- 有没有没开 MFA 的 IAM 用户
- 有没有过期没轮换的 Access Key
- S3 Bucket 有没有公开的
- Security Group 有没有开放 0.0.0.0/0 的 22/3389 端口
- CloudTrail 是否开启
和 Inline Completion 的区别
Amazon Q Developer 在 IDE 里是代码补全(类似 Tab 补全),在终端里是完全不同的模式:
| 能力 | IDE 补全 | CLI 模式 |
|---|---|---|
| 交互方式 | 被动(你写代码它补全) | 主动(你描述需求它执行) |
| 上下文 | 当前文件 | 整个 AWS 账号状态 |
| 输出 | 代码片段 | 命令 + 执行 + 分析 |
| 适合场景 | 写代码 | 运维/排查/自动化 |
权限配置
Q Developer CLI 用的是你本地配置的 AWS credentials。建议:
# 确认当前身份
aws sts get-caller-identity
# 如果用 SSO
aws sso login --profile my-profile
q --profile my-profile chat
它不会越权操作——如果你的 IAM 角色没有某个服务的权限,Q Developer 也执行不了。
注意事项
- 不要在生产环境盲目执行:Q Developer 建议的命令先 review 再执行,特别是
delete、terminate类操作 - 敏感信息:对话内容会发送到 AWS 服务端处理(用 Builder ID 时走美东区域)
- Token 限制:复杂任务可能需要多轮对话,单次上下文有长度限制
- 网络依赖:必须联网才能用,离线场景不可用
参考链接
- Amazon Q Developer CLI 文档:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line.html
- 安装指南:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html
- Builder ID 注册:https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html
- Amazon Q Developer 定价:https://aws.amazon.com/q/developer/pricing/

浙公网安备 33010602011771号