# LLM 对软件工程的影响思考
## 思考 1: 替代与共生
在软件研发过程中,"最后一公里"的编码实现可能会被LLM替代。这将影响那些主要进行简单重复编码的"码农"。而工程师则需要专注于业务理解、需求拆分、架构设计等方面,并与AI工具合作,形成共生关系。
### 能力提升方向
1. **需求理解与分析**:锻炼需求理解、分析和拆分的能力。
2. **架构设计与取舍**:锻炼架构设计、分析和设计取舍的能力,并推动设计的文档化和规范化。
3. **系统思考**:学会系统思考,理解问题的本质,而不仅仅是学习应用。
## 思考 2: 控制研发团队规模
随着软件规模的扩大,团队规模的增加并不总能提高效率。LLM的出现有助于控制研发团队规模,保持小团队的效率优势。
## 思考 3: 不可避免的“暗知识”
LLM的成功依赖于学习已有的资料,但在软件工程中,很多知识并不以文档形式存在,而是存在于人的大脑中或讨论过程中,这些被称为“暗知识”。这限制了LLM的能力上限。
## 思考 4: Prompt 即代码
设想一个未来,软件需求变化时,我们不再修改代码,而是修改对应的Prompt,然后直接生成完整的代码。这将改变软件研发的范式。
### 编程范式的转变
- 从 **Prompt to Code** 转变为 **Prompt as Code**。
## 思考 5: Prompt to Executable
进一步思考,软件研发范式可能会从Prompt直接到可运行的程序实例,这将是软件工程范式的真正变革。
## 彼得·德鲁克的启示
> “动荡时代的最大风险不是动荡本身,而是企图以昨天的逻辑来应对动荡。”
> —— 彼得·德鲁克
我们不能仅用以往的逻辑来分析LLM对软件工程的影响,需要全新的思维模式来适应这个全新的时代。
AI时代冲击下,程序员本质思考
于 2024-06-15 15:48:32 首次发布