Summary: 对比免费版与第一档付费版的现实差异,给出一套只用网页对话就能推进中型项目的流程与模板,并讨论在本机使用编码代理(harness)时的安全配置。
时效说明:文中的价格与额度基于 2026 年 10 月 4 日前后的公开资料,其中不少数字来自第三方文章,厂商也会随时调整规则。下单前请以各家官方定价页为准。价格为美元标价,所在地可能另含增值税。
一、起因
我平时主要用网页免费版,以 Claude 为主,偶尔用 ChatGPT 或 Gemini 做交叉审查。最近在改一个自己写的期权监控项目,体量不算大:
option-monitor/ 1.4M(含 git 等杂项)
├── config/ 20K
├── db/ 8K
├── deploy/systemd/ 24K
└── src/option_monitor 164K
源码 164KB,粗估 4~6 万 token(按 Python 平均每 token 约 3.5 个字符估算)。就这样一个项目,同一处修改我已经撞了 5 次额度墙,每次要等 5 小时再输入"继续"。
于是我想弄清楚两件事:付费能解决吗?不付费有没有办法?
二、免费版与第一档付费版:现实差异
先说结论:单靠付费不一定解决问题。如果工作方式不变(把整个项目反复贴进对话),付费只是把墙往后推。付费真正带来质变的地方,是能用上终端里的编码代理工具。
Claude
- 所有套餐都按滚动 5 小时窗口计量,付费档另有周上限。
- Pro 每个窗口的用量至少是免费版的 5 倍;网页聊天、桌面端和 Claude Code 共用同一个额度池。
- Claude Code 不在免费版里,Pro 起才能用。
- 官方不公布具体的 token 数。第三方估算 Pro 约每窗口 45 条消息,这只是估计。
- 重度编码仍可能很快耗尽窗口,有文章称一个高强度会话不到一小时就能用完。
- 超额后可开启按 API 价格计费的额外用量,有文章估算重度编码每小时约 5~15 美元。
- 最新旗舰模型可能不计入 Pro 的基础额度,需要另付费,请自行核对。
ChatGPT
- Plus 约 20 美元,包含 Codex,Codex 与 ChatGPT 共用一个额度池。
- 免费版的日常文字聊天比较宽松,但文件上传、图像、数据分析等有各自的限制。
- 有来源称 Plus 每 5 小时约 15~90 条 Codex 消息,范围很宽,仅供参考。
- 更高档是 100 美元的 Pro(5 倍);据资料,200 美元档自 2026 年 9 月 10 日起暂停新注册。
- 约 8 美元的 Go 档可能带广告,Plus 及以上承诺无广告。
Gemini
- Google AI Pro 约 19.99 美元,用量约为免费版的 4 倍。
- 上下文窗口差异明显:有文章称无订阅时消费者端是 32K,AI Pro 是 100 万。但另一些文章说法不同,来源之间有出入,建议自己实测。
- 编码类的 Jules、Antigravity 额度随 AI Pro 上调。
怎么选
| 你的做法 | 建议 |
|---|---|
| 继续只用网页聊天,整项目反复贴 | 付费能缓解,不能根治,先改流程 |
| 愿意用终端编码代理 | 付费才有实质意义,Claude Code 或 Codex 二选一 |
| 主要想让 AI 通读整个仓库做审查 | 先实测 Gemini 的大上下文 |
如果决定付费:
- 只订一家最低档,其余两家继续用免费版做交叉审查。
- 如果已经以某一家为主,换工具有迁移成本,顺着现有习惯选通常更划算。从目前资料看,我没发现哪一家在额度上有明显优势。
- 按月订,先试一个月,观察窗口和周额度的消耗。如果改用代理工具后每周仍撞墙 2~3 次以上,再考虑更高档或换一家对比。
- 这些工具的模型都在云端运行,本地硬件要求主要是能运行命令行程序,老一点的笔记本也不是瓶颈。需要确认的只是操作系统版本是否满足工具的安装要求。
三、不花钱的办法:把上下文管理权拿回自己手里
网页对话看不到你的文件,所以每次都得由你把上下文喂进去。额度主要耗在两处:
- 对话越来越长,每一轮都要把前面的内容重新处理一遍。
- 反复重新发送大段代码。
对策只有一条:每个对话只做一件小事,只带必要的上下文,输出只要差异。
第 0 步:一次性准备(本地,不耗额度)
在项目根目录运行下面的脚本,生成"项目地图" MAP.md,并检查有没有敏感信息混入:
#!/usr/bin/env bash
# 用法: cd option-monitor && bash make_map.sh
set -euo pipefail
OUT="MAP.md"
EXCLUDE='(\.git|__pycache__|\.venv|venv|node_modules|\.pytest_cache|logs)'
{
echo "# 项目地图(自动生成 $(date +%F))"
echo
echo "## 文件清单"
find . -type f \( -name '*.py' -o -name '*.yaml' -o -name '*.yml' -o -name '*.toml' \
-o -name '*.service' -o -name '*.timer' -o -name '*.sql' -o -name '*.md' \) \
| grep -Ev "$EXCLUDE" | sort
echo
echo "## Python 文件行数"
find . -name '*.py' | grep -Ev "$EXCLUDE" | xargs wc -l | sort -n
echo
echo "## 类与函数签名(文件:行号)"
grep -rnE '^\s*(async\s+)?(def|class)\s' --include='*.py' . \
| grep -Ev "$EXCLUDE" | cut -c1-140
echo
echo "## 模块间导入关系"
grep -rnE '^(from|import)\s+option_monitor|^from\s+\.' --include='*.py' . \
| grep -Ev "$EXCLUDE" | cut -c1-120 || true
} > "$OUT"
echo "已生成 $OUT($(wc -c < "$OUT") 字节)"
echo
echo "== 敏感信息检查:下列行贴给AI之前必须脱敏 =="
grep -rniE 'api[_-]?key|secret|token|passwd|password|authorization|bearer|account[_-]?(id|no)' \
--include='*.py' --include='*.yaml' --include='*.yml' --include='*.toml' --include='*.env' . \
| grep -Ev "$EXCLUDE" | cut -c1-120 || echo "(未发现明显关键词)"
再建一个 STATUS.md,它是整个流程的"外置记忆":
# 项目状态文件
> 每个对话结束时由AI更新,存回本地;下个对话开头原样贴入。保持在 1 页以内。
## 总目标
(一两句话:这轮改造要达成什么,做到什么算完成)
## 架构要点(稳定,很少改)
- 运行方式:
- 数据流:
- 配置:
- 存储:
## 硬约束(AI 不得违反)
- 不引入新依赖,除非先征得同意
- 密钥/账号只从环境变量读取,代码里不出现
## 任务清单
| ID | 任务 | 涉及文件(≤3) | 状态 |
|----|------|----------------|------|
| T1 | | | 待办 |
## 已完成(附 commit)
## 遗留问题 / 已知 bug
## 下一个对话
- 任务ID:
- 需要贴的文件:
另外,项目要用 git 管理,每个任务完成后立刻 commit。
第 1 步:单个任务的循环
每个任务开一个新对话:
选任务 → 贴开场模板 → 先对齐方案 → 要 diff → 本地应用并测试
→ 通过则 git commit → 让 AI 更新 STATUS.md → 存回本地 → 关对话
任务要拆小:一个对话、一个目标、最多 3 个文件。
- 好的任务:“给数据抓取模块加重试与指数退避”
- 差的任务:“重构整个监控流程”
第 2 步:提示模板
开场模板
背景:期权监控项目(Python,systemd部署)。请严格遵守"硬约束"。
【STATUS.md】
(粘贴)
【MAP.md】
(粘贴;太长就只贴相关模块的部分)
【本次任务】T_:(一句话描述)
【相关文件】(只贴这些)
=== src/option_monitor/xxx.py ===
(粘贴)
【要求】
1. 先用不超过3句话说明方案和影响范围,等我回复"确认"后再写代码
2. 代码只输出改动部分:用 unified diff,或"文件名 + 完整函数",不要重写未改动的代码
3. 不要长篇解释;如有风险点,用一行列出
4. 如果你需要看其他文件,先告诉我文件名和原因,不要猜
第 1 条很关键。先对齐方案再写代码,能避免写完再返工,返工最烧额度。
出错回喂模板
应用你的改动后出错。
命令:(你运行的命令)
traceback:(只贴 traceback)
出错函数当前内容:(只贴该函数)
请只给出修复该错误的最小改动。
收尾模板
任务完成。请按STATUS.md的格式输出完整的新版本:
- 把本次任务标为已完成,并写入commit说明(一句话)
- 新增的约束、遗留问题写进对应小节
- 在"下一个对话"里写下一个任务和需要贴的文件
只输出STATUS.md的内容,不要其他文字。
交叉审查模板(给另一家模型的免费版)
请审查下面这个改动是否有bug、边界情况遗漏、与约束冲突之处。
只列问题,每条一行,按严重程度排序,不要重写代码。
【硬约束】(粘贴)
【改动目的】(一句话)
【git diff】(粘贴 git diff 输出)
审查结果带回主对话,让主力模型逐条判断"成立/不成立",不要直接照改。多个模型意见不一致时,以本地实测为准。
撞额度墙时
不用干等 5 小时。把"开场模板 + 当前文件 + 已达成的共识"贴到另一家的免费版,继续同一个原子任务。因为所有上下文都在自己手里,换模型几乎没有损耗,交叉审查和额度溢出于是合并成了一个动作。
隐私检查清单(每次粘贴前过一遍)
- 脚本末尾列出的敏感行已脱敏(整体替换成
REDACTED,不要留部分字符)。 - 没贴
.env、含密钥的配置段落、券商账号、持仓明细。 - 日志和 traceback 里没有账号、token、IP 或私有域名。
- 数据库只贴表结构,不贴真实数据。
省额度的小习惯
- 不需要时关掉联网搜索、扩展思考等功能。
- 一次只问一个问题,不要把五个需求塞进一条消息。
- 对话来回十几轮后,让 AI 写出进展摘要,直接开新对话。
四、Claude Code 这类编码代理在做的事,和上面的流程一样吗?
目标一致,做法不同,关键区别是谁来管理上下文。
| 对话窗口手动流程 | 编码代理(harness) | |
|---|---|---|
| 读代码 | 你复制粘贴 | 模型自己用工具读文件、搜索 |
| 改代码 | 你应用 diff | 模型直接写文件 |
| 验证 | 你本地运行,贴回结果 | 模型自己运行测试,看到报错后自行修复 |
| 记忆 | 你维护 STATUS.md | 项目说明文件加会话历史 |
| 额度 | 取决于你贴多少 | 取决于它读多少、循环几轮 |
代理的核心是"读文件 → 改文件 → 跑命令 → 看结果 → 再改"这个循环,手动流程是它的人工版本,你就是那个工具层。
两点提醒:
- 代理省掉了复制粘贴的时间,但不一定省额度,它会自动读很多文件并反复循环。
- 手动流程的好处是每次改动都经过你的眼睛。对于涉及行情和持仓的项目,这有价值。
我的建议是先用手动流程跑一两个任务,感受哪些步骤最烦,再决定是否上代理。
五、在自己电脑上用编码代理:安全与隐私怎么配置
下面以 Claude Code 为例,其他工具思路相通。具体配置项请以官方文档为准,下列内容主要来自第三方文章,可能随版本变化。
风险有三类:它读到你不想让它读的东西(密钥、券商信息);它执行了破坏性命令;项目里的恶意内容诱导它做坏事(提示注入)。
推荐配置,按重要性排序:
隔离工作目录。 只在一个干净的项目目录里启动,不要在家目录或存有大量个人文件的目录启动。最简单,也最有效。
权限规则 deny 优先。 规则按"拒绝、询问、允许"的顺序评估。项目级配置放在
.claude/settings.json,思路如下:{ "permissions": { "deny": ["Read(.env*)", "Read(~/.ssh/**)", "Read(~/.aws/**)", "Bash(sudo:*)", "Bash(rm -rf:*)", "Bash(curl:*)", "Bash(wget:*)"], "ask": ["Bash(git push:*)", "Bash(pip install:*)"], "allow": ["Read", "Edit", "Bash(python -m pytest:*)", "Bash(git diff:*)", "Bash(git status)"] } }启用沙箱,不要只靠 deny 规则。 多篇文章指出,针对读写文件的 deny 规则只拦截内置文件工具,拦不住 bash 子进程。比如你拒绝了读取
.env,它仍可能通过cat .env读到,除非同时拦截对应的 bash 命令或开启沙箱。权限规则管的是"它会不会尝试",沙箱管的是"尝试了能不能成功"。亲自验证规则是否生效。 有用户报告过某些版本里 bash 的 deny 规则没有按预期拦截命令,官方后续版本也在加固这一块。装好后让它去读一个假的
.env试试,看是否被拒绝,不要凭配置文件就放心。不要使用跳过权限确认的参数,除非是在完全隔离的容器里。
密钥与项目分离。 代码里不放密钥,只从环境变量读取,并且不要在启动代理的 shell 里导出这些变量;开发时用模拟数据或脱敏数据库;改动前先 commit,出问题可以回滚,也方便用
git diff审查。谨慎对待外部内容和 MCP。 不要让它读取不可信的网页或第三方仓库里的说明文件,不需要的 MCP 服务不要连;克隆别人的仓库后,先检查其中的设置文件再启动。
想清楚数据去向。 代理读到的文件内容会作为上下文发送给模型服务商,这与你在对话窗口里粘贴代码本质相同,区别只是"发送什么"从手动控制变成了由它自动决定,所以前面几点更重要。具体的数据保留与训练使用政策,请在账户设置和服务条款里确认,不同套餐、不同产品可能不一样。
一个折中方案:在一个隔离的项目副本里使用代理(不含真实配置和数据库),真实配置留在外面,改完后自己审查合并。这样既拿到代理的效率,又基本消除了隐私暴露面。
六、小结
- 撞额度墙的主因往往是工作方式,不只是套餐档次。
- 先用"地图 + 状态文件 + 原子任务 + 只要 diff"的流程跑起来,成本为零。
- 付费只订一家最低档,按月试用,用实际消耗说话;其他家免费版留作交叉审查和额度溢出。
- 上编码代理之前,先把权限规则、沙箱和密钥隔离配好,并亲自测试。
参考与延伸阅读
- 各家官方定价页与帮助中心(以官方为准,额度规则变动频繁)
- Claude Code 官方文档:https://docs.claude.com/en/docs/claude-code/overview
- DataCamp,Claude Code 安全指南:https://www.datacamp.com/tutorial/claude-code-security
- DEV Community,Claude Code 权限模式实践:https://dev.to/klement_gunndu/lock-down-claude-code-with-5-permission-patterns-4gcn
- NVIDIA AI Workbench 文档,在项目容器中配置沙箱:https://docs.nvidia.com/ai-workbench/user-guide/latest/quickstart/quickstart-claude-sandbox.html
- GitHub issue(deny 规则未按预期生效的报告):https://github.com/anthropics/claude-code/issues/25621
本文在 AI 辅助下整理,其中的价格、额度和配置细节请读者自行核实后再作决定。