好的。
有了这个，我们就该去看看交易者 Dot Pi，这是一个用于定义我们的模块
贸易商。
在我这样做之前，我想提一下，我这里有一些奇特的 python，它
第一次看到它时看起来有点混乱。
使用 OpenAI 代理 SDK 的有点做作的事情之一就是你。
最好使用上下文管理器来创建服务器，就像我在这里所做的那样
异步，然后服务器工作室作为服务器传入参数。
但如果你有一堆服务器，那可能会开始看起来非常难看，我们确实有，我们有很多。
当你有很多时，你必须有一个单独的 with 语句，每个都有一个单独的上下文管理器
行缩进，并且有点失控。
还有一种Python技术，这是一种相当先进的技术，不需要堆栈
像这样，但只要能够做到这一点，就可以迭代很多上下文管理器，很多宽度，
看起来像这样。
以及异步代码。
这有点混乱，但是您可以使用异步退出堆栈。
然后您可以为列表中的每个内容输入上下文。
所以您在这里看到的这个构造，这段代码只是采用 MCP 服务器参数并迭代
在此之上，并有效地依次为每个宽度做一个宽度。
因此，如果您愿意，请研究一下。
这是一个构造。
我用它来使代码更简洁，但不要让它让您失望。
您同样可以通过手动方式完成此操作。
好吧，有了这个小警告，让我们来看看这个。
这是模块。
它只是将我们在实验室中拥有的东西转化为 Python 模块。
这里的顶部有一些很酷的东西，可以让它切换不同的模型。
所以我们不仅仅依赖OpenAI，我们可以使用deep seq、grok、Google，或者我们可以使用开放路由器
呃，开放路由器对于美国人来说，我们可以使用开放路由器来连接我们选择的任何型号。
如果你查看指南目录，有一个完整的指南更多地讨论了不同的用法
模型。
因此，根据您选择的模型，它会选择不同的模型提供商。
除此之外，这基本上就是实验室笔记本中的内容，变成了
类，转换成Python模块。
这就是我刚刚在堆栈中谈论的那些时髦的东西。
所以，你知道，如果你对此表示怀疑，那就多调查一下。
请阅读有关此内容、此结构以及我这样做的原因。
如果您不喜欢它，您可以随时手动使用 with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with with。
嗯，但它会非常非常嵌套。
看起来会有点难看，但是这样做会更简单一些。
但除此之外，这里的一切都只涉及创建交易代理和使用研究代理
作为一种工具。
这与我们前一秒的代码相同，并且都被打包到一个很好的交易类中，所以
我们可以创建一个交易者实例，为其指定名称、代理和模型名称，然后关闭它
会去的。
另一件有趣的事情是我确实拥有它，呃，在制作之间交替
交易决策以及重新平衡其自身投资组合的决策。
所以我赋予了它按照自己的意愿进行交易或重新平衡的能力。
所以你可以在这里看到，呃，如果设置了 do trade 标志，那么它将运行一个交易
信息。
否则它将运行一条重新平衡消息，您可以在模板中查看该消息是一条消息
你应该重新平衡你的投资组合，呃，进行优化。
在运行的底部，这当然是业务功能。
这就是一切的开始。
它开始运行，然后它会切换贸易标志。
它会将其翻转到另一个方向。
这就是交易者模块。
关于这件事我还没有告诉你，明天我会告诉你。
呃，但这基本上向您展示了所有的东西，所有我们想要构建的好东西
拥有一个自主交易者，可以在交易和平衡其投资组合之间交替，
使用研究代理来帮助它。
并使用一堆 MCP 工具。
好的，现在回到实验室，让我们实际看看这个模块的作用。
所以我们要导入，呃，交易者，我们刚才看到的类。
我们将创建一个名为该交易者的编辑器的新实例。
现在称为“添加”。
因为名称是 add，所以它将查找帐户并有权访问同一帐户。
刚刚买入迪士尼股票然后又卖出的事情。
其中一些。
呃，现在我们要给交易员打电话“Dot run”。
这就是生意。
这实际上是启动并运行整个过程的东西。
让我继续吧。
所以我踢它，当它运行时，我们会让它运行一会儿。
所以它开始了它的活动。
我们将打开踪迹。
让我们看看这里发生了什么。
这里是。
所以它已经关闭并运行了。
它是列表工具。
它在想，呃，我们看看是否可以像那样刷新它。
是的。
它正在进行勇敢的网络搜索，现在需要时间来解决这个问题。
因此，与其坐在这里思考几分钟该说些什么，不如花几分钟时间
马上就回来和你在一起。
好的。
好吧，刚刚运行并完成了。
结果用了48秒。
没花太长时间。
最终它确实抱怨其中一个工具有错误。
呃，所以我们可以去看看。
嗯，但除此之外它似乎做了它的事情。
那么我们就去看看踪迹吧。
呃，所以我们就到这里来吧。
开始了。
确实如此。
列出工具。
这要从研究者开始。
研究人员进行了大胆的网络搜索，然后就回来了。
现在我们和交易员在一起了。
它做了一堆行情。
它有很多行情。
它进行一些购买和一些股票。
买的啥啊。
它收购了亚马逊，还有更多，还有苹果和微软，这太棒了。
呃，最后这里也进行了一些销售和一些股票。
我再次猜测是因为它太具有攻击性了。
呃，所以嗯，希望，呃，出售一些股票，然后以推送通知结束。
这就是我们的错误发生的地方。
呃，有，呃，它说运行该工具时出错，这很有趣，因为
我觉得不错。
这也很有趣，因为我确实在手机上收到了推送通知。
只是，呃，它确实有，呃，有完全相同的，呃，信息。
所以我收到了推送通知。
呃，它通过了。
效果很好。
我不确定为什么错误出现在这里。
可能是因为该方法没有返回任何内容，所以我只是。
我只是改变了以防万一。
但无论如何，我想说这是一次全心全意的成功。
呃，代理工作得很好。
呃，现在我们可以调用我们的读取帐户资源并检查发生了什么。
事实上，你会看到我们现在确实拥有亚马逊股票。
我们已经完成了很多这样的交易。
如果你看这里，这与呃交易活动一致。
所以看起来，呃，事情很成功，我们已经能够使用它来运行我们的交易代理
代码，使用我们的模块，它被称为大量 MCP 服务器。
它与一名交易员和一名研究人员合作来完成这项工作。
好的。
最后，在结束之前，让我们快速计算一下我们总共使用了多少个工具。
因此，从 MCP 参数模块中，我们可以导入交易者和研究人员参数，将它们相加，然后
迭代它们。
对于每一项，收集工具并报告我们刚刚提供的工具总数
致我们的两个代理人，我们的交易员和研究员代理人，在我们刚刚所做的事情中。
因此，我们总共有 6 台 MCP 服务器和 44 个工具。
有很多工具。
嗯，是的，那很有趣。
当然，您知道我要说什么，您面临的挑战是您可以添加更多工具。
越多越好。
我们可以为我们的交易者提供更多的能力，让他们做更多的事情。
当然，如果你从事金融工作，如果你有这个领域的商业知识，那么我就开始抓
我们可以通过这个实现的表面。
您可以添加比我们的 44 种工具更多的功能。
但再一次，我会敦促您从添加这些工具开始，在实验室工作
了解模型的功能并在您之前进行实验。
然后将其放入模块中并作为最终架构的一部分运行。
第四天就这样结束了。
显然，我们涵盖了很多内容，您完成并复制非常重要
你自己看看，看看这段代码，以便更好地了解如何构建
这些类型的代理解决方案。
当然，让它成为你自己的。
一如既往，调整提示，进行实验。
请记住，它们都在一个模块模板 Test.py 中。
因此，您可以尝试更改提示，看看这如何影响
商。
当然，重要的时刻明天就要到来。
然后我们推出完整的平台。
我们对一切进行了最后的润色，其中有一些非常酷的最后润色，您可以在其中进行
将它们整合在一起。
我还想对这个大问题的总体想法进行一些总结，比如，好吧，我们已经
我们已经介绍了所有这些不同的古代框架。
那么我应该为我的项目选择哪一个。
我们也会回答这个问题。
一切都在我们下次的大结局中。