ratemy.sh · 以证据为准的上线审查
难的从来不是写出来。
AI 一个周末就能把产品写出来。但写出来的东西,敢不敢让真实用户、真实数据、真金白银压上去, 没有人替你回答。RateMy 回答的就是这一步:五个 skill 各审一层,产品、后端、Skill、运行时、agent 本体, 共用一套证据合同。不合格,直接说 NOT READY。
问题清单
BLOCKER · F-002取消不会真的停下工具调用。用户按了停止,agent 还在继续花钱。
HIGH · F-005重试会把同一笔扣款再执行一遍。用户批准一次,钱扣了两次。
待验证
UNKNOWN · U-003从来没人真的去试过能不能读到别人的数据。一个用户的数据可能被另一个用户看到。
证据通道
五个 skill
各审一层,共用一套证据合同。
五个各自独立,装在 Claude Code、Codex、Cursor 或者任何 Agent Skills 客户端里都能用。你正要上线哪一层, 就只装哪一个。
凭什么信它的结论
这是一份合同,不是一种感觉。
五个 skill 共用下面这几条。有这几条,这里的结论才值得一读。
分数不能把硬闸门平均掉。
有几种问题不参与打分,一旦查实就直接拦住发布,这叫硬闸门:越权、数据跨边界泄漏、数据不可逆地丢失、 真的向用户重复扣款、把没做完的说成做完了。总分再高也盖不住它们。你说「这个风险我认了」, 也只会记成你认了,不会变成通过。
证据是分级的。
每条结论都标着它的证据有多硬:E3 是换个环境重现过,E2 是有工具或日志记下来,
E1 是看到了代码或配置本身,E0 是还没验证。代码里够得着的缺陷是真的,
但在它被真正触发之前,它会造成什么后果只能算推断。
一份看着合理的 diff 不等于修好了。
换一个没参与修复的上下文重新跑一遍,拿到新的通过证据,这条问题才算修好。重跑的这一遍还会把补丁本身 当成没人审过的新代码,再审一次。修复的人,不给自己打分。
CI 全绿只证明结构,不证明行为。
仓库检查和 schema 校验证明不了用户真能走通一次下单或者登录。要发到公开档位、或者能碰真钱的档位,
必须拿被审的那一版跑出来的新证据。会变的 latest 标签,不算指定了版本。
该用哪个
按你正要上线的东西来挑。
「我 vibe 出一个 app,想拿它收钱。」
rate-my-code,按收真钱的那一档来审。在你收第一分钱之前,先验证钱不会多扣少扣、 重试不会重复扣、别人的订单看不到、坏了能恢复、坏了有人知道。
「API 是我写的,马上要接真实流量。」
rate-my-server。一个用户的数据会不会漏给另一个用户、同一个请求重试会不会重复执行、 流量打满时会不会连环崩、数据库改结构和回滚靠不靠谱,以及「恢复」到底能不能真的恢复。
「我做了个能碰真实账号的 agent。」
rate-my-agent 判它怎么做决定,rate-my-harness 判运行时拦不拦得住它。结论要紧的话,两个都上。
「我写了个 Skill,想发出去。」
rate-my-skill。该触发的时候触发得到吗、装了到底比不装强多少、指令会不会被输入里的文本带偏、 别人拿到能不能装上并复现。