AI 写代码的时候总是使用大量的辅助函数,应该如何处理?

发布于

yuyue001: 提示词中应该如何表达?似乎 AI 总是忽略我的提示词。

```
避免过度抽象: 不要创建一次性 helper 、utils 、wrapper 或局部小框架,除非能明确提升复用、测试、复杂度隔离或语义稳定性。不要做辅助函数小王子。
```

不喜欢过度抽象,尤其是重复的大量小辅助函数。

---

原文链接:[点击查看](https://www.v2ex.com/t/1228216)

评论(7)

你可以直接在提示词里加上这句:“减少子方法嵌套,优先本地函数单线路实现”。

· 0 个赞

试过很多办法都没用,比如 Codex 就是很偏爱写那种只用到一次、最多两行的辅助函数。我最后的妥协方案就是:放弃代码洁癖,又不是不能用.jpg 换个角度想,以后 AI 写代码绝对是主流,说不定这种细粒度的代码才更“干净”、更好维护呢。

· 0 个赞

建议直接把那段它生成的辅助函数代码贴在提示词里,明确告诉它“以后绝对不要写类似这种的辅助函数”。给它举点实际的例子效果应该会好些,不然它可能根本理解不了你嘴里所谓的“辅助函数”到底是什么标准。

· 0 个赞

可以试试把下面这套话术丢给 AI 当系统提示词:
以暗猜接口为耻,以认真查阅为荣。
以模糊执行为耻,以寻求确认为荣。
以盲想业务为耻,以人类确认为荣。
以创造接口为耻,以复用现有为荣。
以跳过验证为耻,以主动测试为荣。
以破坏架构为耻,以遵循规范为荣。
以假装理解为耻,以诚实无知为荣。
以盲目修改为耻,以谨慎重构为荣。

· 0 个赞

有一说一,楼主这有点外行指导内行了。AI 喜欢搞抽象和写辅助函数,本来就是软件工程里被验证过的最佳实践。哪怕不复用,单从 debug、改动、团队协作还有帮 AI 自己省点 token 上下文来看,好处也是很多的。自己写不出这种规范代码,反而去嫌弃 AI,有点本末倒置了。

· 0 个赞

楼主有没有试过 ponytail 这个项目?我贴个地址你看看:https://github.com/DietrichGebert/ponytail

· 0 个赞

遇到这种 AI 不听话的情况,我一般是把那段有问题的函数单独拎出来,让它重新重构一下。另外如果发现某个模型写代码有惯性(比如老爱写一堆没用的辅助函数),可以试着换个 AI 模型去重写,通常就会换个思路了。

· 0 个赞