如何抑制AI Agent在重构的过程中削足适履、面多加水水多加面、补丁摞补丁、鲁布·戈德堡机械结构等问题?
- 内容介绍
- 文章标签
- 相关推荐
削足适履 & 面多加水水多加面
所谓削足适履就是为了实现一个短期目标,把原本原则性的基础设计给破坏了,比如我有个动态数据模型模块,它可以接受一个json格式的嵌套查询,举例来说:
{
name: { contains: "张" },
sex: "男", // 简写,等价于 sex: { eq: "男"}
age: { gt: 18 },
department: { name: "AI应用部" } // department 为关联模型
}
这样的条件表示,name 包含 张,sex 为 男, age 大于 18,所在部门的名字为 AI应用部。
因为支持关联表查询,我担心操作符与关联字段混淆,因此想要试验性增加一个特性,只要带有$前缀的都强制认为是操作符。
以上是背景,他就给我加了一个语法解析模块,直接硬编码了 $eq, $gt 等等,无视了我可以通过扩展机制动态注册操作符和操作符别名的情况。其实原本它只要加一个小小的规则,判断前缀是 $ 就直接去查后面的字符串是否是操作符就行。
补丁摞补丁
让AI给我设计的一个数据模型插件,给我在元数据中(json格式)加了个配置属性,我认为那个配置属性无意义。我告诉他这个属性无意义,删掉吧。也明确告诉它该代码未上线,无需考虑兼容性,直接删除。
结果它给我删了,并且还加了个判断,如果存在这个属性就抛异常。。。
鲁布·戈德堡机械结构
image800×800 172 KB
找了个图(换了更直观的),大概就是这么个意思,就是一堆非常复杂、高度耦合、并且毫无复用性的结构,最后做了个极其简单的工作。
削足适履 & 面多加水水多加面
所谓削足适履就是为了实现一个短期目标,把原本原则性的基础设计给破坏了,比如我有个动态数据模型模块,它可以接受一个json格式的嵌套查询,举例来说:
{
name: { contains: "张" },
sex: "男", // 简写,等价于 sex: { eq: "男"}
age: { gt: 18 },
department: { name: "AI应用部" } // department 为关联模型
}
这样的条件表示,name 包含 张,sex 为 男, age 大于 18,所在部门的名字为 AI应用部。
因为支持关联表查询,我担心操作符与关联字段混淆,因此想要试验性增加一个特性,只要带有$前缀的都强制认为是操作符。
以上是背景,他就给我加了一个语法解析模块,直接硬编码了 $eq, $gt 等等,无视了我可以通过扩展机制动态注册操作符和操作符别名的情况。其实原本它只要加一个小小的规则,判断前缀是 $ 就直接去查后面的字符串是否是操作符就行。
补丁摞补丁
让AI给我设计的一个数据模型插件,给我在元数据中(json格式)加了个配置属性,我认为那个配置属性无意义。我告诉他这个属性无意义,删掉吧。也明确告诉它该代码未上线,无需考虑兼容性,直接删除。
结果它给我删了,并且还加了个判断,如果存在这个属性就抛异常。。。
鲁布·戈德堡机械结构
image800×800 172 KB
找了个图(换了更直观的),大概就是这么个意思,就是一堆非常复杂、高度耦合、并且毫无复用性的结构,最后做了个极其简单的工作。

