实测两个月数据:拦住 agent 乱来靠调用前硬检查,而非提示词
Individual-Shower973 · reddit · 2026-09-30
作者用自己两个月 Claude Code 历史(8176 次工具调用)做回放测试,结论是:提示词里的约束只是「请求」,模型在压力下会自己说服自己绕过去;而工具调用执行前的硬性检查(校验工具名与参数)无法被争辩。
四个有效的模式:
- 约束参数而非仅约束工具:「允许退款」没用,要写成「允许退款、amountusd 最多 500、必须提供 amountusd」;参数可省略就不是限制;规则列出工具可接受的参数,其余一律拒绝。
- 调用顺序很重要:如「退款前必须在本会话早些时候用同一 orderid 调用过 lookuporder」,并只存比对值的摘要而非原值,避免敏感数据留存。
- 成本控制用「先预留最坏情况、调用后结算」:事后计数挡不住三个并行调用各自满足剩余预算但合计超支;调用中途死掉也按最坏情况计费,因为可能已产生账单。
- 把拒绝写成指令:「Refused:金额超 500。不要换方式重试,告诉用户你想做什么」与裸的「Error: denied」引发的后续行为完全不同。
用一个简短 never-list(递归删除、force push、reset --hard、修改 agent 自身设置)回放历史,本可拦下 117 次 rm -rf。
「编程与Agent」频道最新
- Firecrawl 的 Alexandria 成 ChatGPT 第六热门插件 — devdigest · 2026-10-01
- Cloudflare 生日周第三天:Agent 主题连发六项新功能 — threepointone · 2026-10-01
- 博主称 vibe coding 低成本红利期即将结束 — michalmalewicz · 2026-10-01
- Pocket FM 长上下文记忆系统精度对标 Claude Code,成本低 21 倍 — bigaiguy · 2026-10-01
- Ben Goertzel:AI 智能体不止修漏洞,还在协同编写形式化验证软件 — bengoertzel · 2026-10-01
- Pedro Domingos:已没有软件工程师,我们都是 Agent 驯兽师 — pmddomingos · 2026-10-01