一句话定义:绿地(Greenfield)指从零开始、没有历史包袱的新项目;棕地(Brownfield)指在跑了多年的老系统上继续改造。这两个词原本来自城市规划:绿地是未开发的空地,棕地是曾被工业使用、需要先治理才能再开发的土地。软件工程把它们借了过来。
打个比方:绿地是毛坯房,你想怎么走线就怎么走线,墙随便敲。棕地是老房翻新,墙里埋着二十年前的水管,原始图纸早丢了,上一任屋主还在承重墙上开过一个洞,并且用柜子挡住了。你看到的是墙,看不到的是墙里的东西。
为什么智能体在这两类项目上表现差这么多:智能体的能力来自三件事,读上下文、动手试、看反馈。绿地项目里,上下文干净到可以一次读完,反馈也明确,跑一遍测试就知道对不对,试错成本几乎为零。棕地里,情况全变了:仓库几十万行,命名风格三代并存,注释和实现对不上,一堆没人敢删的死代码,还有一些只有生产环境才会触发的补丁。智能体要动一个看起来无关的小函数,结果踩到三个月前某次热修的隐含依赖。它并没有变笨,只是它读到的世界自相矛盾。
| 维度 | 绿地 | 棕地 |
|---|---|---|
| 上下文 | 干净、可整体读完 | 巨大、矛盾、缺文档 |
| 反馈 | 跑测试即知对错 | 改了 A 坏了 B,反馈滞后 |
| 试错代价 | 低 | 高(线上、数据、客户) |
| 典型失败 | 想得不周全 | 动了看似无关处,触发隐藏依赖 |
| 合适打法 | 放手让它多跑几轮 | 小步走、加护栏、先补测试 |
和相邻概念的区别:它和技术债不是一回事。技术债说的是欠了多少账,棕地说的是你站在空地上还是旧地基上。它也和重构不同:重构是在棕地里要做的动作之一,不是同一层概念。
实际意义:评估一个智能体工具时,「能在空 demo 仓库里跑通」几乎不提供信息量,那都是绿地;要看它在你的真实仓库里怎么样。真要在棕地里用,先给它可触及的上下文(构建脚本、测试、一份写给模型看的项目说明、清楚的模块边界),再把大任务切成能验证的小步。对普通职场人也是一样:别被「十分钟做完一个应用」的演示震住,那是在空地上盖房子,真正的成本永远在你公司那套跑了十年的系统里。
