我最早接触 Claude Code,完全是被“终端里跟代码仓库对话”这个场景吸引的。那时候我的日常是反复切编辑器、跑测试、看报错日志,整个人像是代码库的搬运工,而不是开发者。Claude Code 这类 CLI 工具的价值不在于把代码写得多快,而是把“改代码—跑命令—看结果—再改”这个循环从手动操作变成了模型自主推进的闭环。
一开始我用的是 Anthropic 订阅账号,用了大概三周,痛点就来了:额度用尽、团队协作时没法统一管理权限,月底看见账单又说不清到底让模型干了哪些活。更麻烦的是,当账号受组织策略限制而无法激活 Claude 订阅访问时,整个 CLI 会直接拒绝初始化。后来我把整套环境迁到 AWS Bedrock,问题基本清零。这篇文章就把我在迁移、配置、使用和成本控制过程中的完整经验拆开讲,覆盖 shell 执行机制、权限边界、VSCode 协同、本地模型分流,以及最容易被忽视的成本优化细节。
如果你正在纠结要不要从订阅切到 Bedrock,或者已经接上了但总觉得 token 烧得太快,这篇文章应该能帮你省下真金白银。
1. 我为什么把 Claude Code 从订阅账号迁到 AWS Bedrock
1.1 Claude Code 解决的真实痛点
先说清楚 Claude Code 到底是什么。它是一个运行在终端里的 AI 编程代理,不是简单的代码补全插件。给它一个任务,比如“帮我定位这个测试为什么超时并修复它”,它会自己规划步骤:读文件、搜代码、写补丁、跑测试、分析失败原因、迭代修改。整个过程它可以调用 shell 命令、读写文件、调用工具,本质上是一个能操控电脑执行命令的智能体。
我在实际使用中的感受是,它最适合三类场景:一是有明确的工程化任务,比如批量替换 API、处理编译错误;二是已经写好测试的代码库,让模型在测试约束下反复调整;三是研究陌生代码库,让它做结构分析和模块梳理。相比之下,在编辑器里手动框选代码让模型续写,那只是“带 AI 的编辑器”,不是 agentic coding。
早期我用订阅账号,最大的门槛不在技术,在管理和额度。订阅账号绑定到个人身份,团队成员如果想用,得各自解决账号问题;组织一旦禁用了 Claude 订阅访问,CLI 直接无法启动。而且订阅模型的可用性和并发都受限,真的到了连续几小时的重构任务里,经常做到一半就因为额度中断,体验非常断裂。
1.2 Bedrock 接入的核心优势与代价
转投 AWS Bedrock 之后,我最大的感受是三点。
第一,按量付费,成本可预测。订阅是固定金额换取固定额度,超额就断供;Bedrock 是完全按 token 计费,调用多少收多少,没有“用完了”这种说法。对长期高频使用来说,账单曲线更平滑,也能通过控制台查看每次调用量。
第二,IAM 权限体系可以精确管住模型能做什么。我可以给每个环境配置最小权限,比如某个 CI 任务只能调用特定的 Claude 模型、不能删除 S3 对象。这个能力在团队协作和生产环境里非常重要。
第三,和 AWS 生态打通。日志可以进 CloudWatch,调用元数据可以过 Bedrock 的模型调用记录,后续做审计、做成本归因都有原始数据支持。
当然,Bedrock 也不是没有代价。首先是概念更多,你得懂 IAM、VPC 这些基础名词,上手门槛比订阅高;其次是模型版本和 Anthropic 官方直连存在时间差,某些新功能可能要等模型上线 Bedrock 后才可用;最后是网络链路,如果你的服务器在海外区域,从本地终端访问会有额外延迟,但通过合理的区域配置可以缓解。
我当时做了一个很简单的对比:如果把一个月 20 美元订阅换成 Bedrock 按量付费,我做同样规模的代码重构,成本大约能省 30% 到 50%,这还是没启用提示词缓存的情况。启用之后差距更大。这个数字后续会专门讲。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境开通与模型权限:动手前的三件套检查
2.1 开通 Bedrock 与申请模型访问
很多人第一步就卡住了,不是不会配,而是忘了 Bedrock 控制台里的模型访问必须手动申请。这和 Anthropic 官方 API 不一样,不是开通服务就能调用全部模型。
流程是这样的:
- 登录 AWS 控制台,进入 Amazon Bedrock 服务页面。
- 在左侧菜单点击“Model access”(模型访问权限)。
- 点击“Manage model access”,勾选你需要的 Claude 模型,提交请求。
- 等待状态变为“Access granted”。
这里要特别注意,不同区域的模型列表不同,我常用的区域是 us-east-1(弗吉尼亚北部)和 us-west-2(俄勒冈)。如果你在某个区域搜不到某个模型 ID,切换区域再试。
另外,请求模型访问后,状态更新通常需要几分钟到几个小时不等。我第一次申请时在控制台等了一个多小时还没通过,差点怀疑自己操作错了,其实就是排队。
2.2 IAM 角色与最小权限策略配置
模型访问开好了,接下来是 IAM。这一步是 Bedrock 和其他 API 服务最大的区别,也是安全边界最清晰的地方。
我的建议是永远不要用管理员的 Access Key 跑 Claude Code。按最小权限原则,配置一个专用用户,只给它调用模型的权限就够了。
json复制{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
