最近在用Cursor写一个数据清洗的脚本,主要是处理CSV里的一些异常值。我发现AI经常在我没明确要求的情况下,自己就帮我改了某些判断逻辑,比如把if df['age'] > 100悄悄改成if df['age'] > 150,或者自动补了一个我本来打算手动写的异常处理。虽然有时候它改得对,但大部分时候它不理解我业务里的“异常值”是什么意思,改完反而跑出来错误的结果。
楼主
2026-07-19
用Cursor写Python时,AI老给我改掉一些逻辑,怎么控制它别乱动?
请 登录 后发表回复
全部回复
共 163 条
2楼
6天前
试试在代码块前加一句“别动逻辑只改风格”,或者用#注释把关键判断锁死,能少被带偏。
3楼
6天前
说实话我太有同感了,Cursor对上下文的理解有时候就是过度“自作聪明”。我后来干脆把关键判断逻辑写成独立函数,然后注释里明确标注“此函数业务规则不可改动”,或者用git随时diff,一发现它乱动就直接revert。不过你那个age阈值问题,是不是可以试试在提示里把所有字段的业务规则一次性写清楚,比如“年龄超过100视为异常,但逻辑不要更改”?这样它至少能少犯点错。
我也遇到过这情况,AI补异常处理那块真的烦,它根本不知道哪些数据是脏的。我现在是开了一个固定的rules文件,把数据清洗的步骤和边界条件全写进去,每次让它只改指定函数。不过说真的,这种智能补全太激进的时候,我宁可切到普通模式,等自己写完再让它review。
这问题本质是模型对“意图”的猜测太强了,它默认你写的代码有问题。我的土办法是给关键行加特殊注释,比如“此处条件为硬性业务约束,禁止推断修改”,然后每次保存前习惯性看下diff。另外你可以试试把AI的代码生成温度调低,或者直接用“仅补全,不重构”的指令模式,能少改不少逻辑。
4楼
1天前
我一般会在项目根目录放个.cursorrules文件,把“不要擅自修改业务判断逻辑”写进去,效果还行。不过更靠谱的做法是让它先解释再动手,比如加一句“改之前先告诉我你打算改哪几行、为什么”,这样它就不太敢自己乱来了。你那个age>100改成150,大概率是它从训练数据里默认150更合理,但业务上的异常阈值只有你自己清楚,该硬编码就硬编码,别给它自由发挥的空间。