返回首页
最新
告诉我关于你最新的非人工智能项目,我会去看看。
嗨,HN!我们很高兴地分享 marimo pair [1] [2],这是一个工具包,可以将 AI 代理嵌入到正在运行的 marimo notebook [3] 会话中。这使得代理可以将 marimo 作为工作记忆和反应式 Python 运行时,同时也方便人类与代理在计算研究和数据工作中进行协作。
<p>GitHub 仓库:<a href="https://github.com/marimo-team/marimo-pair" rel="nofollow">https://github.com/marimo-team/marimo-pair</a></p>
<p>演示:<a href="https://www.youtube.com/watch?v=6uaqtchDnoc" rel="nofollow">https://www.youtube.com/watch?v=6uaqtchDnoc</a></p>
marimo pair 被实现为一种代理技能。通过以下命令将您选择的代理连接到正在运行的 notebook:
<p>/marimo-pair pair with me on my_notebook.py</p>
代理可以执行人类在 marimo 中可以做的任何操作,甚至更多。例如,它可以通过在临时草稿板中运行代码来获取反馈(检查变量、针对程序状态运行代码、读取输出)。如果它想要持久化状态,代理可以添加单元格、删除单元格,并安装包(marimo 会在相关的 notebook 中记录这些操作,而 notebook 只是一个 Python 文件)。代理甚至可以操控 marimo 的用户界面——为了好玩,试着让您的代理在配对会话中向您问好。
代理通过在 marimo 内核中运行 Python 代码来执行所有操作。在幕后,marimo pair 技能解释了如何发现和创建 marimo 会话,以及如何使用我们称之为代码模式的半私有接口来控制它们。
代码模式允许模型将 marimo 视为一个扩展其上下文窗口的 REPL,类似于递归语言模型(RLMs)。但与传统的 REPL 不同,marimo 的“REPL”逐步构建一个可重复的 Python 程序,因为 marimo notebook 是具有明确执行语义的数据流图。当使用代码模式时,代理在 marimo 的保护措施下保持在正确的轨道上,这些保护措施包括消除隐藏状态:运行一个单元格时,依赖的单元格会自动运行,删除一个单元格时,其变量会从内存中清除。
通过让模型完全控制一个有状态的反应式编程环境,而不是一组临时脚本,marimo pair 使代理成为研究和数据工作的积极参与者。在我们的早期实验中 [4],我们发现 marimo pair 加速了数据探索,使得在测试研究假设时轻松引导代理,并且可以作为 RLM 的后端,生成一个 notebook,作为模型如何回答查询的可执行轨迹。我们甚至使用 marimo pair 来查找和修复自身及 marimo 的错误 [5]。在这些例子中,notebook 不仅是一个计算基础,还成为人类与代理之间协作的画布,以及一个由散文、代码和视觉元素组成的可执行、具有文学性的工件。
<p>marimo pair 仍处于早期实验阶段。我们非常希望听到您的想法。</p>
<p>[1] <a href="https://github.com/marimo-team/marimo-pair" rel="nofollow">https://github.com/marimo-team/marimo-pair</a></p>
<p>[2] <a href="https://marimo.io/blog/marimo-pair" rel="nofollow">https://marimo.io/blog/marimo-pair</a></p>
<p>[3] <a href="https://github.com/marimo-team/marimo" rel="nofollow">https://github.com/marimo-team/marimo</a></p>
<p>[4] <a href="https://www.youtube.com/watch?v=VKvjPJeNRPk" rel="nofollow">https://www.youtube.com/watch?v=VKvjPJeNRPk</a></p>
<p>[5] <a href="https://github.com/manzt/dotfiles/blob/main/.claude/skills/marimo-dev/SKILL.md" rel="nofollow">https://github.com/manzt/dotfiles/blob/main/.claude/skills/marimo-dev/SKILL.md</a></p>