• 一只豆
    2025-05-15 来自陕西
    老师能否展开说说“没有 DDD、OOD 的指导,LLM 生成的代码甚至架构设计仍然是低质量的,可能会充满隐患。” 具体有哪些低质量表现 or 隐患? DDD/OOD 是如何解决的呢? 使用 DDD/OOD 之后,Agent 的 System Prompt 写法有何变化?您有何建议呢?

    作者回复: 我举几个例子,可以一起探讨。:) 首先 AI 辅助编程工具只能生成局部的代码,无法为你设计系统整体的架构,例如系统的分层、组件的划分、服务的划分、组件+服务对外暴露的API。而系统整体的架构却极端重要,就像建筑的那些地基、承重墙、基础结构一样。 其次 AI 辅助编程工具有可能会生成大量重复的代码。如果你熟悉敏捷软件开发的话就会知道,代码的复制黏贴是万恶之源,只要复制黏贴三次就必须做重构。大量重复的代码,维护成本极高,这就是所谓技术债务。AI 辅助编程究竟会增加债务,还是会减少债务,还是取决于使用者的编程品味。编程品味很低的人,也用不好 AI 辅助编程工具。 复杂的业务系统,必然存在分层,也必须实现组件化开发。一个 Agent 可以看作是一个组件,DDD/OOD良好的设计原则仍然适用。多Agent协作的系统,如何划分不同 Agent的职责?我认为 OOD 原则仍然适用。OO 首要的建模元素是名词,一个 Agent 也应该是一个名词,而不是一个动词。如果划分 Agent 发现最后得到了一堆动词,那肯定是设计错误。

    
    