[开源] 做了一个 Go Runtime 的 Python Agent SDK,附一轮与 Claude Agent SDK 的对照测试

leemysw 2026-09-15 15:21 1

最近给 Nexus 的 Agent Runtime 做了 Python 封装,叫 nexus-agent-sdk-python


Python 侧负责接入,实际调用模型、执行工具和管理上下文的是 Go 写的 nxs 。可以用它给自己的程序接一个能读文件、改代码、跑命令的 Agent ,也可以接自定义工具。


支持单次任务和多轮会话,提供 MCP 、Hooks 和工具权限配置。模型可以通过 Anthropic 兼容接口接入,也支持 OpenAI Chat Completions / Responses 。平台 wheel 带了 nxs 和 rg ,覆盖 macOS 、Linux 、Windows 的 x86_64 和 ARM64 。


项目在这里。



  • GitHub

  • Python SDK 文档


Python 3.11+,先安装并配置模型 Key 。


pip install nexus-agent-sdk-python
export ANTHROPIC_API_KEY="你的 API Key"

下面这个例子读取当前目录的 README ,不开放写文件或执行命令的权限。


import asyncio
from nexus_agent_sdk import NexusAgentOptions, query

async def main():
options = NexusAgentOptions(
cwd=".",
tools=["Read", "Glob", "Grep"],
allowed_tools=["Read", "Glob", "Grep"],
)
async for message in query(
prompt="找到并阅读当前项目的 README ,用中文介绍这个项目。",
options=options,
):
print(message)

asyncio.run(main())

我们还做了一轮本地对照,看看两套 SDK 在相同模型服务下的开销。


设备是 M1 Pro 、16 GiB 内存、macOS 。两边都走智谱 Coding Plan 的 glm-5.3-flash,使用同一 Key 和 Anthropic 兼容接口,thinking 开启、high effort 、最大输出 16,384 Token 。这里的 Claude 指 Claude Agent SDK ,底层模型同样是 GLM 。


Nexus 用 Python SDK 0.1.0 ; Claude 用 Python SDK 0.2.152 、内置 Claude Code 2.1.259 。


六道 Python 标准库工程题,包括退款对账、依赖图、SSE 解析、容量冲突、迷宫和异步请求合并。每题每侧三次,共 36 次。单次最多 10 分钟、24 个 SDK 回合,开放相同的六种工具并全部允许权限。双方使用相同系统提示、任务文字和初始文件。串行运行,交替先后顺序,每次新建会话。


几个结果列在下面,前一个数是 Nexus ,后一个是 Claude 。



  • 代码通过检查均为 18/18

  • 代码通过且会话正常结束为 17/18 、11/18

  • 峰值内存中位数为 125.9 、315.2 MiB,Nexus 低约 60.1%。统计包含 Python 宿主、Runtime 和工具进程。

  • 模型请求总数为 249 、301


两套 SDK 的本机内存和 CPU 开销


正常结束少于代码通过数,是因为有些运行已经写出了正确代码,却继续执行,最后耗尽轮次或超时。Nexus 有 1 次耗尽轮次,Claude 有 6 次耗尽轮次、1 次超时。下面保留了全部运行结果。


六道任务三轮运行的完整结果


这 11 组的完整用量,按 2026 年 9 月 12 日核对的 GLM-5.3-Flash API 单价折算,Nexus 为 0.9224 元,Claude 为 1.1075 元,低约 16.7%。


欢迎拿自己的任务试试。有不顺手的 API ,或者能复现的问题,可以在仓库提 issue 。

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回