现在 AI 的防御性编码写得真是又臭又长,大佬们是怎么调教它的?

13 条回复
106 次浏览

AGENTS.mdskill中已经有要求代码干净整洁,以及优先使用Validate的要求。

可是每次它还是会写出大量的防御性编码,导致 review 时读起来很难受

大佬们传授点调教 AI 的经验呗,或者有哪些好用的skills能减少它防御性编程的

慷慨解囊
GRD

ai:你就说健不健壮吧
而且 ai 还很喜欢过度封装,用提示次规范也会出现,我一般都是让他先写,写完了告诉他哪些地方需要简化,再改一次

前排打手
OP

太过健壮也不行啊,拉了一大堆【if else 和异常】的屎

而且 ai 还很喜欢过度封装,用提示次规范也会出现,我一般都是让他先写,写完了告诉他哪些地方需要简化,再改一次

差不多,一样的操作

前排打手

核心原则

  • KISS (Keep It Simple, Stupid):代码保持简单直接,不做过度设计,不引入不必要的抽象层
  • 不编写测试用例:开发者自行手动测试,不创建任何 test 文件或测试目录
  • 不写多余注释:代码本身应该是自解释的,只在确实需要时添加注释
前排打手

那就是你的 skills 上下文太长了,稀释了大模型宝贵的注意力,尤其是现在普通可用上下文在 200K 的情况下

对于 Vibe Coding 来说,少即是多

换个好的 AI 就行了。想看护的话可以来个 subagent 去 review 一下,能烧不少 tokendoge

种子用户

项目规则:

  • API 变更必须记录到 API.md
  • 版本迭代必须更新 CHANGELOG.md
  • 代码重构必须有计划文档
  • 只有用户明确要求才能提交 commit
  • 每次修改后必须运行 tsc 编译校验、 eslint 和 stylelint 检查

我就只有这几点,倒是没怎么出现过度设计的情况,感觉思维已经被我以前写的代码同化了

对于"在 AGENTS.md 和 skill 中已经有要求代码干净整洁,以及优先使用 Validate 的要求。
可是每次它还是会写出大量的防御性编码,导致 review 时读起来很难受"

提问:

  1. 你的核心问题是 "review 时读起来很难受" 是吗?
    换个说法, 如果 review 时不难受, 是不是 大量的防御性编码 对你来说不难受?
    举个例子, 如果这些 "大量的防御性编码" 被隐藏了, 不影响你 review 代码, 是不是可以满足你的需求?

  2. 你的核心问题是 "会写出大量的防御性编码" 是吗?
    你除了在 AGENTS.md 和 skill 中 写 "要求代码干净整洁,以及优先使用 Validate 的要求" 这样笼统的描述以外.
    可以具体的给出范例.
    比如,
    当完成一个 XXX 的逻辑时,
    应该写 XXXX,
    不要写 If ... else ... 异常 ...

  3. 你对 "要求代码干净整洁" 有具体的标准吗?
    比如, 像某个行业通用规范一样?
    像 go 编译器一样?
    或者像你自己已经存在的某个项目库一样?

发表一个评论

R保持