写点什么

Eric Evans 提倡在领域驱动设计中实验大语言模型

作者:Thomas Betts

  • 2024-04-22
    北京
  • 本文字数:1410 字

    阅读完需:约 5 分钟

Eric Evans 提倡在领域驱动设计中实验大语言模型

在 探索 DDD 技术大会的主题演讲中,《领域驱动设计》作者 Eric Evans 建议软件设计师需要寻找创新的方式将大语言模型(LLM)整合到他们的系统中。他鼓励每个人现在就开始学习 LLM 的相关知识,并进行实验,与社区分享这些实验的结果和经验。


Evans 认为领域驱动设计(DDD)与面向 AI 的软件可以很好地结合起来。他说:“复杂系统的某些部分与领域模型的结构化部分永远无法匹配,所以我们将这些部分交给人类来处理。也许我们会有一些硬编码、一些人工处理,还有一些由 LLM 来提供支持。”


他说,用 DDD 实践者的话来说,经过训练的大语言模型就是一个有界的上下文。与基于广泛语言训练的模型和用于通用目的的模型(如 ChatGPT)不同,基于有界上下文通用语言训练的模型对于特定需求场景更为有用。


对于通用的 LLM 来说,我们必须谨慎编写提示词才能实现期望的响应。相反,Evans 建议使用多个经过精细调整的模型,每个模型都用于不同的目的。他认为这是一种强关注点分离。他预测,未来的领域建模者将涉及解释自然语言输入的任务和子域,并将其纳入到设计之中。目前的基础设施还没有完全准备好,但趋势表明这种情况很快就会到来。


Evans 强调,对于他的想法,必须考虑到他发表演讲时的背景,即 2024 年 3 月 14 日,因为这个领域变化是如此之快。六个月前,他对这个主题甚至都还不怎么了解,一年后,他现在所讲的可能就变得无关紧要了。他将我们目前的情况比作上世纪 90 年代末,当时他学会了多种构建网站的方法,而今天这些方法都已经不适用了。


在大会期间,DDD 社区的其他知名人士对 Evans 的想法作出了回应。《实现领域驱动设计》作者 Vaughn Vernon 在很大程度上支持探索将 LLM 作为普通聊天机器人之外的新用途的想法。在软件自我修复方面,他看到了像 ChatGPT 这样的工具可以响应运行时异常,提出“修复建议”,并自动创建包含代码的 PR 来修复错误。


然而,一些人对 LLM 的优点仍然持怀疑态度。在一个关于 DDD 和 LLM 交叉领域的小组讨论中,《微服务模式》作者 Chris Richardson 表达了对 LLM 高昂的经济和计算成本的担忧。当 Richardson 想知道是否有运营 LLM 的服务盈利时,Evans 回答说,通过微调可以让一个廉价的模型变得比一个昂贵的模型更快。另一位小组成员,Honeycomb.io 的首席开发者布道师 Jessica Kerr 表示,“我们需要找到有价值的东西,然后让它变得经济实惠。”


在主题演讲中,Evans 详细介绍了他个人对 LLM 所做的一些实验。最开始,他与游戏设计师 Reed Berkowitz 合作,尝试使用 ChatGPT 让一个非玩家角色(NPC)对玩家输入作出响应。通过尝试一系列提示词,他发现如果将响应分成较小的片段而不是长提示词,响应会更加一致。这种方法符合他对 DDD 解决复杂问题的想法。


对于更小、更专业化的提示词的需求自然而然地导致了对更专业化的模型的需求,这样既可以提供更好的输出,还可以更有效地提高性能和降低成本。他解释说,他的研究目的是为了表明实验这项技术是多么有用。尽管有时也令人沮丧,但这个过程是非常有益的。许多与会者表示,当你第一次学会如何让一个新事物工作时,你会体验到一种满足感。


探索 DDD 大会 于 2024 年 3 月 12 日至 15 日在科罗拉多州丹佛市举行。大会的大部分演讲都已被记录下来,将在接下来的几周内发布到 @ExploreDDD YouTube 频道,并在 Explore DDD LinkedIn 页面 上分享,从 Eric Evans 的开幕主题演讲开始。


原文链接

https://www.infoq.com/news/2024/03/Evans-ddd-experiment-llm/

2024-04-22 08:003985

评论

发布
暂无评论
发现更多内容

Spring Boot「10」Propety 验证

Samson

Java spring 学习笔记 spring-boot 10月月更

Linux学习-权限的理解

可口也可樂

后端 Linux Kenel linux 文件权限控制 10月月更

docker学习笔记

ios苹果打包——超详细的教程分享

江拥羡橙

ios CocoaPods 苹果 Weex 10月月更

Databend 存储架构总览

Databend

Ubuntu 设置中文语言环境

Yeats_Liao

ubuntu 后端 10月月更

Spring事务传播机制

急需上岸的小谢

10月月更

程”风破浪的开发者|个人信息管理

CODA

学习方法 信息管理 10月月更 “程”风破浪的开发者

2022-10-21:你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。 你要用 所有的火柴棍 拼成一个正方形。 你 不能折断 任何一根火柴

福大大架构师每日一题

算法 rust 福大大

【kubernetes技术专题】Kubernetes架构分析介绍篇(入门篇)

洛神灬殇

Kubernetes k8s Kubernetes Serverless 10月月更

Mybatis学习

Studying_swz

10月月更

【kafka原理】kafka Log存储解析以及索引机制

石臻臻的杂货铺

kafka 10月月更

leetcode 450. Delete Node in a BST 删除二叉搜索树中的节点 (中等)

okokabcd

LeetCode 数据结构与算法

Linux学习-常用指令

可口也可樂

后端 Linux Kenel 10月月更

Linux学习-开发工具yum/vim/gcc/g++/gdb

可口也可樂

开发工具 Linux Kenel 10月月更

Spring IOC和AOP

Studying_swz

spring 10月月更

成功建设私有云需要考虑这些关键点

阿泽🧸

私有云 10月月更

前端JavaScript小技巧【建议收藏】

江拥羡橙

JavaScript ES6 10月月更

spring用到的设计模式

急需上岸的小谢

10月月更

一起学习 Go 语言设计模式之建造者模式

宇宙之一粟

设计模式 建造者模式 Go 语言 10月月更

正向代理与反向代理

急需上岸的小谢

10月月更

Node.js入门

Studying_swz

Node 10月月更

【Java深入学习】一个关于“锁”的程序-中

Geek_65222d

10月月更

Glibc---_IO_do_write函数逻辑分析

桑榆

源码刨析 10月月更 C++

一文带你入门微服务,通俗易懂

wljslmz

架构 微服务 10月月更 单体服务

【kafka原理】 消费者偏移量__consumer_offsets_相关解析

石臻臻的杂货铺

kafka 10月月更

eeui安卓开发--如此简单

江拥羡橙

android Weex 安卓 10月月更

YARN工作流程

穿过生命散发芬芳

YARN 10月月更

企业如何添加内嵌式的帮助文档

Baklib

帮助文档

“程”风破浪的开发者|国产之光,鸿蒙系统

急需上岸的小谢

OpenHarmony “程”风破浪的开发者

0:数据库的产生-MySQL

Yeats_Liao

数据库 后端 10月月更

Eric Evans 提倡在领域驱动设计中实验大语言模型_架构_InfoQ精选文章