作者:Michael Coté
我一直在玩很多地牢和龙再次是30年来的第一次。不是与人类,而是与AIS在一起,我大多使用Chatgpt,Claude和Gemini。令人惊讶的是,与AIS一起玩D&D是了解什么的理想方式代理AI实际上是以及它如何在现实世界企业软件中工作。
企业系统很复杂。D&D也是如此。您会获得角色创建,无尽的咒语列表,NPC(非玩家角色)逻辑,遇到规则 - 这是工作流程和状态过渡的纠结,甚至超过了大多数业务流程。用敏感真菌导航地牢可以说,比验证采购订单要难。
因此,这里的理论是:如果机器人可以玩D&D,它可以轻松地播放企业软件。
那么,AI在运行D&D方面的表现如何?出人意料的好。我已经与Chatgpt和Claude一起独自角色扮演了将近两年。我认为AI地牢大师是ChatDM。
起初,这是一只跳舞的熊:笨拙,但只是为了尝试而令人印象深刻。自从我从Chatgpt 3.5开始以来,ChatDM变得更好。CHATDM现在可以处理D&D的复杂,通常是乏味的战斗机制,甚至可以挑选我喜欢的故事,风格和语气。它对D&D规则和知识的掌握令人印象深刻,它可以通过模棱两可的边缘案件进行推理,例如半身人会在白天躲在雕像后面。
但是,像大多数AI工具一样,只有在您投入时间的情况下,它才能很好地工作。您必须了解模型的想法,写小心提示并继续迭代。我做了很多教练和游戏外的小动物来引导chatdm。
一个早期的课程:您必须阐明显而易见的事情。如果哥布林藏在灌木丛中,chatdm不应该说:“侏儒Sven不知道,哥布林在等待。这毁了游戏。您必须教授基本的流派意义。
当模型更新时,情况通常会有所改善,但是您必须重新测试所有您建立的教练。
ChatDM也不是很有创造力。它默认为陈词滥调,因为那是它的训练。要求它开始游戏,您会在一个小酒馆里,一个神秘的帽衫坐落在一个昏暗的角落里。或者穿过森林,您会听到叮当声,看到树线上闪烁的灯光。它为您提供了可能和想象的可能性,而不是原创的。
用企业术语:如果您使用与其他所有人相同的基本模型,则将获得相同的平淡输出。对于诸如会议笔记或基本客户服务分析之类的通用任务可能是可以的。但是,如果您的目标是差异化,则需要专有数据,并且必须继续喂养它。不断地。
我没有训练了我自己的模型这超出了我的薪水等级。但是D&D教会了我:如果您想要独特的结果,请带来独特的背景。否则,在工厂的角落里,它总是相同的帽衫。
在过去的一年中,聊天应用程序本身 - Chatgpt和Claude - 大大改善了ChatDM的体验。早期,我不得不将所有内容复制并粘贴到一个会话中:冒险笔记,角色表,甚至是运行的游戏日志。这很好,直到上下文窗口填满并且一切开始破裂。就像肯定承诺将隐藏口袋缝在我的靴子上的补鞋匠一样,突然忘记了他曾经见过我。
仍然涉及一些簿记,但是较新的应用程序功能很有帮助。有了项目,我可以存储与聊天连接的世界设置,角色和冒险文件。并且记忆功能终于擅长跟踪长期运行的上下文。
企业课?该模型很重要,但是围绕模型的应用更重要。该层比模型更便宜,更快地建造,并且您的真正差异化发生。任何人都可以使用相同的LLM,但是您的周围逻辑,数据和UX是您获得唯一价值的地方。
那么,您如何在应用程序层中实际上AI工作呢?
明显的举动是将AI嵌入您的应用程序中。工具包春季AI显示出明确的模式。而且,如果您喜欢大多数企业开发人员,那么您可能会使用Java,并且可能春天。在这种情况下,添加AI就像添加数据库或任何其他服务一样。只要您的平台提供AI功能,你很高兴。
但是,AgesicAiâ是另一种野兽。我仍然不确定该术语应该是什么意思,或者是什么意思。基本思想是赋予AIS工具的推理功能,以选择完成某些任务的一系列动作。这是一种截然不同的方法,而不是打电话给API。这些所谓的新范式的问题,精确地使用术语讽刺的是,没有人向您展示如何构建它们。光泽的营销全都与结果有关,而不是实施。
那是哪里模型上下文协议(MCP)进来。写作一点点代码以使用MCP扩展CHATDM给了我一种动手的方式来探索Agesic AI的实际运作方式。不是理想化的董事会版本的AI,而是凌乱,实用的现实。换句话说:一项测试,看看这是真正的交易还是只是制作精良的神秘的肉。
我花了很大一部分时间为CHATDM编写MCP代码,而我所获得的是更好的感觉,即我们如何从代理AI的愿景到更实用如何。
首先:顾名思义,MCP是协议,而不是代码。它定义了一组概念,建筑结构,甚至是一种样式以及AIS呼吁工具,获取数据和自动化提示的方式。它是规格,而不是实现。您仍然必须构建使其全部完成的实际代码。
我不知道它是怎么发生的,但是MCP在很短的时间内爆炸了。现在有数百种实施(称为服务器)和不断增长的社区势头。这最重要的是现在令人兴奋的是:人们实际上是在与之建立。而且,是的,感觉就像是一个经过深思熟虑的规范,但只有随着时间的推移成功才能对此发表评论。
MCP上有很多深入的潜水,但是我会为您提供快速游览。
模型上下文协议是围绕概念构建的。这些概念涵盖了系统中的参与者及其暴露的功能。如果你看着上面的弹簧AI MCP图,您已经看到了大多数。
两个核心参与者是MCP客户端和MCP服务器。这些名称起初有点令人困惑。客户端是AI本身,即Claude Desktop应用程序或在幕后运行的无头代理。该服务器为AI提供功能。我认为它是一个插件,而不是技术在技术上不是精确的,但它可以帮助我的大脑。
最常用的概念是一种工具:像滚动死亡一样可可的功能,检查天气或查找哈里斯县的鸡蛋价格。
然后,您将获得资源 - 静态内容,例如文件,数据库或结构化文本。这些很简单。但是克劳德(Claude)的实施仍然很笨拙,这使人们对查询龙名中的数据库的想法有所了解。
提示是最有趣,最被忽视的。从表面上看,提示只是您可以发送到AI的保存输入。为什么不自己输入呢?因为提示可以动态参考工具和资源,因此让您实时自定义行为。
这样就这样想:您将厨师交给含糊的食谱(让我做三明治),然后将冰箱中的一些食材(资源)和一些厨房装备(工具)扔掉。厨师理由做什么。如果幸运的话,您会得到鲁本。那是代理AI。
还有其他概念,例如采样,服务器可以在其中拨回客户端以运行提示,但支持很薄。我还没有和他们一起玩,但是他们听起来很有趣,有点危险。
接下来,我会走过我如何使用MCP使用工具来升级CHATDM,我学到的东西以及一些可能推广到您自己的代理AI项目的模式。
就像我说的那样,MCP只是一个规范,而不是代码。那么,实际实施方式是什么样的?
好吧,它看起来像代码。但不是复杂的代码。大多数MCP示例是小任务:检查天气,阅读文件,也许检索一些代码。这就是协议的工作原理:您将处理程序连接起来,让AI致电。乍一看,这使许多MCP服务器示例看起来令人难以置信。
我开始官方Java SDK,描述性命名MCP Java SDK。它从春季AI团队的工作MCP发行后不久,现在与春季AI。有了这个,我可以创建和旋转标准Spring Boot应用程序并很快开始使用AI工具接线。
有了该工具包,我终于可以玩一些D&D。
好吧,也许不是通过滚动骰子来打球,而是通过编码骰子接近。
我构建的第一个工具是骰子辊。如今,ChatDM通常通过在幕后生成和运行快速的Python脚本来模拟真实骰子。但是早些时候,我很确定他们只是在幻觉。创建一个骰子辊,以支持D&D中所有简单和古怪的滚动骰子方式,这是一个不错的MCP工具。
简单的卷可能是D6卷六边的模具并返回结果。稍微复杂的是3d6 + 5。您可能可以弄清楚那个。但是事情变得凌乱。在现代D&D中,您经常会以优势或不利的方式滚动 - 滚动两次,并获得更高或更低的数字。如果您用D20进行战斗,那么自然1是一个严重的故障(确实发生了一些不好的事情),而20是一个关键的成功(您将掷骰子的掷骰子的价值加倍,而不是+7之类的修饰符)。那只是D&D。其他系统使用自定义符号甚至符合!而不是数字。有些人用扑克卡卷。骰子得到很快在角色扮演游戏中。
添加专用工具可确保滚动始终如一,正确地发生 - 没有幻觉的数学。您可以让AI即时生成代码,但是使用库这样的库要容易得多Java的骰子符号工具这可以处理常见和深奥的卷。
将其与Spring AI接线到MCP工具很简单:
如果您忽略导入和记录,则代码不会做很多事情。这就是重点。使用Spring AI,您可以用最少的努力站立MCP服务器 - 没有配置样板,没有接线疯狂。(我遗漏了一行代码。见证它的宏伟,如果这么高兴)。
该工具运行后,我们终于可以使用官方的D&D机制来弄清楚那个惊人的人物是否有一些奇怪的真菌侵扰,或者在上午9:14刚喝醉。
如果我们只是在做骰子滚动,那么代理人就不会太有趣。当然,编码很有趣,但不会震惊。
在Solo d&d中,有一个叫做甲骨文的东西。当您想随机回答问题时,通常会使用它,通常是为了保持诚实并增加一些不可预测性。问,是否有一个藏在灌木丛中的妖精?与决定自己相比,去卷卷要比决定自己要有趣得多。
实现Oracle作为MCP工具很简单。编码器,它只是从答案列表中挑选的:是的,否,也许等。但是,与骰子辊一样,真正的工作不是功能中的,它在自然语言中是为Claude解释工具的。
这是另一个经典仅一行代码情况,除重要的部分是描述。这就是告诉AI该工具的作用,何时使用该工具以及为什么在上下文中重要的原因。
在这两个示例中,您都可以从编写MCP工具来获得第一个真正的见解:自然语言界面比代码更重要。
在这些情况下,代码只会调用骰子库库或从文件中选择随机行。诚然,掷骰子图书馆正在做大量繁重的举重 - 这是一条掩盖了5,000行实际功能的经典代码。读取文件必须至少翻倍!
但是@Description注释是有趣的部分。这些就是Claude(MCP客户端)用来了解工具的作用,如何使用它们以及何时使用它们的方法。因此,您不仅会从传统意义上撰写文档。您需要教学,而不仅仅是您的工具是什么以及如何使用它们,而且为什么要使用这些工具,因此可以理解为什么以及何时使用它们。
工具是最容易建立的MCP概念,也是最令人满意的。他们也是克劳德(Claude)和其他客户的最佳支持。其他两个概念,资源和提示还没有看到那么多的用途。也就是说,您可以使用工具模仿这两者:工具可以加载文件,查询数据库,甚至返回提示,并告诉客户运行它。
这种超载似乎很好,至少是基于我从规格中获得的共鸣。但是,如果有更多的MCP服务器支持资源并正确提示,那就更凉了。下次我会进入。还有很多要探索的东西。
同时,您可以看到我(目前)在创建MCP工具,资源和提示中走动四部分视频系列。春季AI使其非常简单快捷。做所有这一切给了我在整个AI中,更好的基础将破坏我们的创造力和生计 - 恐慌所以我也掩盖了这一点。
目前,我要检查一下是否有一个妖精藏在那块巨石后面,以及它的手里有毒药的长矛还是新鲜烘烤的疣苹果派。
youtube.com/thenewstack
技术移动很快,不要错过一集。订阅我们的YouTube渠道播放我们所有的播客,访谈,演示等等。