>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Rust

如何使用 Nasiko 驯服 AI Agent 动物园

当你运行一个单独的 Python Agent 进行测试时,一切都可以预测。但添加第二个 TypeScript Agent、第三个 Go Agent,麻烦就开始了。Agent 之间开始直接互相调用,模型的 API 密钥散落在各种配置和日志中,而当对话出现循环时,Token 会在几分钟内消耗数千个。

Nasiko Banner

Nasiko-Labs 团队采用了网络工程师处理微服务的方式来解决这个问题。Nasiko 项目作为 Agent 的统一控制平面,处理路由、授权、无限循环保护和遥测采集。Agent 本身与外部世界隔离,严格通过 A2A 规范(Agent-to-Agent v1.0)进行通信。

Nasiko Dashboard

该平台的功能

整个系统的设计围绕单一入口点展开。Agent 在物理上不接受来自外部的传入连接。每个 Agent 间的请求都经过服务器,在那里检查访问规则并扣除限额。

智能调用路由

客户端或调用方 Agent 不需要知道目标服务的具体 ID。Nasiko 内部通过三阶段管道选择执行器。首先,系统根据描述的向量相似度过滤候选者,然后根据当前对话上下文对其进行重新排序,再由一个独立的轻量级 LLM 做出最终选择。

安全密钥处理和 LLM 路由器

不再将 OPENAI_API_KEY 硬编码到每个容器的环境变量中,而是为 Agent 颁发内部地址 OPENAI_BASE_URL 和短期令牌。内部代理路由器动态替换正确的提供商密钥。密钥永远不会出现在日志或容器代码中。

防止无限循环和级联

如果两个 Agent 决定无休止地互相 ping-pong,Token 余额会迅速归零。Nasiko 在 Redis 中维护调用图深度、分支限制、超时和每会话 Token 预算的计数器。一旦链深度超过设定阈值,服务器就会中止执行。

MCP 协议工具网关

对于连接外部工具,有一个内置的 MCP 网关。它聚合连接器(例如 Composio 或自定义 MCP 服务器),并为 Agent 提供单一的函数调用 URL,同时支持按 Agent 的访问控制。

架构与技术栈

后端使用 Rust 编写,使用 Axum 框架编译成单个二进制文件。状态存储使用成熟的组件:

  • PostgreSQL 存储用户、Agent 配置和加密密钥(AES-256-GCM)。
  • Redis 处理调用计数器和循环保护。
  • 内置 OCI 注册表将容器镜像存储在 S3 兼容存储中。
  • OpenTelemetry、Tempo 和 Loki 技术栈为每个步骤收集分布式追踪和日志。

Agent 之间的任何请求都会成为一个 OTel span。仪表板立即显示特定步骤消耗了多少 Token 以及该调用的成本(以分为单位)。

使用 Docker 快速启动

要启动整个技术栈,不需要 Rust 知识。你只需要安装了 Compose V2 插件的 Docker Engine。

首先,克隆仓库并创建环境文件:

git clone https://github.com/Nasiko-Labs/nasiko.git
cd nasiko
cp .env.example .env

.env 中,你必须指定你的 OpenAI 密钥和管理员密码:

OPENAI_API_KEY=sk-...
ADMIN_PASSWORD=strong_password_here

之后,启动基础设施:

docker compose up -d

首次启动需要几分钟时间,因为 Rust 服务器在容器内编译。控制面板将在 http://localhost:8080 可用。

通过 CLI 工作

对于开发者,有一个控制台工具 nasiko。它通过 Cargo 安装:

cargo install --path cli/

创建和启动新 Agent 只需四个命令:

# Подключаемся к локальному кластеру
nasiko connect http://localhost:8080
nasiko auth login

# Создаем проект из шаблона
nasiko new openai assistant-bot
cd assistant-bot

# Собираем и деплоим
nasiko deploy .

# Проверяем работу в чате
nasiko chat --agent assistant-bot "Привет, чем ты можешь помочь?"

命令 deploy 自动构建容器,将其推送到 Nasiko 的内置注册表,并向路由器注册 Agent。

适用场景

该项目面向已经超越简单 LangChain 脚本、正在构建由数十个专业 Agent 组成生产系统的团队。

以下是 Nasiko 节省时间的典型场景:

  1. 多 Agent 管道,其中 Agent 由不同团队使用不同语言(Python、Node.js、Go)编写。
  2. 有严格安全要求的系统,不能将生产 API 密钥交给外部执行环境。
  3. 按特定任务和用户监控 LLM 成本,无需手动解析日志。

总结

Nasiko 看起来是一个成熟的尝试,将多 Agent 系统的网络层和可观测性打包成一个紧凑的工具。它没有尝试强制使用自定义 DSL 来编写提示词:你可以自由地使用任何框架编写逻辑,只要支持 A2A v1.0 规范即可。

如果你厌倦了手动连接 Agent 微服务并在分散的 OpenAI 和 Anthropic 仪表板之间计算 Token,这个项目绝对值得在本地运行试试。对于生产环境,请注意开源版本与 Docker 运行时的紧耦合,但对于本地开发和内部预发布环境,它已经是一个可行的选择。

相关项目