如影随形

影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....

您现在的位置是:主页 > 必赢电子游戏 >

315行代码建设编程助理,Go Boss宣布了智能机构的

发布时间:2025-05-05 09:21编辑:365bet网址浏览(170)

    从Ampcode.com选出的May -set:Thosten Ball Machine Heart编译著名的Go Bos Thosten Ball最近建立了一个具有315行代码的编程代理,并说“它正常运行”和“ No Moat”(这意味着它不难复制)。 Thorsen Ball在编程领域以其在编程和编程语言的深入研究中而闻名,尤其是在翻译人员,编译器和虚拟机等主题上。他的“与Go的自制编译器”和“与GO的自制解释器”在编译原理领域被视为“简介”。尽管该编程代理可能不匹配Claude,Gemini等发起的编码功能,但它为初学者提供了研究代理的一个很好的例子。它反映了他的有序理念:在PRACTICE技能和开放资源项目中揭示了技术的“奥秘”。 Thosten Ball在他的博客上分享了他的具体步骤。 。建造小型代理不需要太多工作,少于400行的代码可能是填充,大多数是样板代码。接下来,我们将展示如何从一开始就逐渐开发“改变游戏规则的人”,读者可以尝试自己编写代码。首先准备我们的“文具”:goanthropic_api_key铅笔外观!让我们立即开始使用四个简单命令设置一个新的GO项目:现在,打开主。作为第一步,将您需要的概述放在这里:是的,它尚未编译。但是,我们这里有一个可以访问人类的代理。Client(默认情况下,它正在寻找Anthropic_api_key),并且可以通过从STDIN到终端阅读来获取Gum MessagesMIT。现在,让我们添加丢失的Run()方法:不是,对吗? 90行代码,对他们来说最重要的是该运行循环(),允许我们与Claude交谈,但这是该程序的主要部分。对于基本过程,该过程相对简单:我们首先打印一个提示谈话,打印响应,然后循环。这是您每天使用的AI聊天应用程序,但实际上是在终止运行它:然后您可以与克劳德(Claude)交谈,这样:请注意,我们与许多周期进行了相同的对话?它在第一条消息中记得我们的名字。每次对话都在增长,我们每次都会发送整个对话。服务器 - 拟人服务器是准确的 - 没有无状态的服务器。它只看到对话片段中的内容,而我们必须维护它。现在继续,由于输出很糟糕,这还不是代理。什么是代理商?可以这样指定:一个大型语言模型(LLM),其访问工具可在上下文窗口外更改内容。添加工具什么是具有访问功能的大型语言模型(LLM)?工具的含义如下:您要向模型发送提示,并说如果要使用“工具”,以特定方式响应。然后,收到消息后,您可以删除“使用工具”的指令并恢复结果。基于此,其他一切都是抽象的。认为您正在和朋友聊天,然后对他们说:“下次交谈,如果您想让我举起手臂,眨了眨眼。”这个表达有点独特,但是这个概念很容易理解。我们能够在不更改任何代码的情况下尝试此操作。第一次尝试是成功的!这些模型经过训练并适当使用“工具”,并谨慎抓住它们。到2025年,他们在一定程度上“知道”他们没有所有信息,因此他们可以在工具的帮助下获取更多信息。 (虽然这不是一个完全准确的描述,但解释就足够了。)有关使用该工具的关键点的摘要是:您将告诉模型哪些工具可用。当模型想使用该工具时,它知道您,您可以执行工具并恢复对模型的响应。为了简化步骤(1),大型模型提供商具有S的内置Inapi招募工具定义。现在,让我们开始开发我们的第一个工具:read_file。 read_file工具要指定read_file工具,我们将使用人类SDK建议的类型,但请注意:下面,所有这些最终都将是发送到该模型的字符串。所有这些“如果您想让我使用read_file,请眨眼”。我们要添加的每个工具都需要以下内容:•名称•description,它告诉该工具的模型,当使用(如果不使用),将返回的内容等。•实际执行该工具的函数,使用模型发送给我们的输入并返回结果。因此,让我们将其添加到我们的代码中。现在,我们给出了代理工具的含义:并将其发送到RuninFencEmemodel:用户发送工具定义,拟人化包装Bladesthis在该系统中,该系统提示到服务器(并不多),并且它们会添加到对话中,并且该模型想要使用该工具,它将以某种方式回答。好的,因此发送了该工具,但是我们尚未指定任何工具。让我们指定read_file工具。这不多,是吗?这只是该模型会看到的函数,读取和两个描述:一个是发行的kamag -Child文件路径的描述。 ...)描述工具本身,其余是具有工具的输入的单个参数的描述(A ...的相对-Child路径)。像ReadFileInputschema和GeneratesChema这样的作业有什么?我们需要它为工具的定义生成JSON模式,然后将其发送到模型。为此,我们使用jSonschema软件包,需要导入和下载:AY运行以下命令:GO MOD CLEAS之后,在主要功能中,我们需要确保使用含义:该尝试一下!哇,它想使用此工具!显然,您的输出可能会有所不同,但是Claude似乎知道它可以读取文件,对吗?问题是我们没有听!当克劳德(Claude)提示时,我们不关注它,我们需要解决这个问题。和一个简单,快速和极其敏捷的动作,我们可以通过更改代理的运行方法来实现这一目标:可以说,此过程为90%的固定格式,仅10%是主要部分:当我们从Claude那里收到消息时,我们将检查Claude是否要求我们执行工具,通过检查“ tool_use tool_use tool_use” tool_use_use类型来判断工具。因此,因此,我们将将其留在执行工具中以进行处理,在本地注册表中通过名称找到该工具,解析(Unmarshal)输入,执行并恢复结果。如果发生错误,我们将有一个布尔值。就是这样。 。回声是什么动物最不同意,因为邻居总是说? Secret-file.txt它在我们的目录中生成一个秘密文件。 TXT文件包含一个神奇的难题。在同一目录中,我们与代理商一起运行一个新工具,要求查看文件:您只需要给它一个工具并在认为它有助于解决任务时使用它。我们没有说“用户请求文件时读取文件”或“如果hing看起来像一个文件名,学习如何阅读”。我们谈论“帮助我解决该文件的问题”,并意识到ITClaude可以读取它可以读取文件以回答问题,然后提出。编辑)。