DEV Community

Kang Jian
Kang Jian

Posted on

herdr 评测:一个终端里的 AI Agent 多路复用器,值不值得装?

herdr 评测:一个终端里的 AI Agent 多路复用器,值不值得装?

30秒结论:herdr 是一个运行在终端里的 AI agent 多路复用器,让你同时调用多个 LLM(如 OpenAI、Claude、本地模型)并对比结果。值得关注,但别抱太高期望。它目前还是早期项目(GitHub 3024 stars),功能简单但理念不错——适合需要同时对比多个模型输出的开发者。如果你日常工作流里经常切换不同 AI 模型,herdr 能省掉手动复制粘贴的麻烦。但它的“agent”能力很有限,更像个多模型 CLI 包装器。


herdr 是什么?

herdr 的定位很明确:一个终端里的 agent multiplexer。翻译成人话就是——你写一条 prompt,它同时发给多个 AI 模型,然后把所有回复并列展示在终端里。

核心卖点:

  • 多模型并行调用:同时问 GPT-4、Claude、本地 Ollama 模型
  • 终端原生体验:不用离开命令行
  • 轻量级:Go 写的,单二进制文件

听起来像什么?像 OpenRouter 的 CLI 版本,但更轻、更本地化。


核心功能:实操演示

安装

# macOS/Linux
brew install herdr

# 或者从源码
go install github.com/ogulcancelik/herdr@latest
Enter fullscreen mode Exit fullscreen mode

安装后,运行 herdr --version 验证。我测试时版本是 v0.1.0。

配置

herdr 需要一个配置文件,默认路径 ~/.herdr/config.yaml

models:
  - name: gpt-4
    provider: openai
    api_key: ${OPENAI_API_KEY}
    model: gpt-4-1106-preview

  - name: claude-3
    provider: anthropic
    api_key: ${ANTHROPIC_API_KEY}
    model: claude-3-opus-20240229

  - name: local
    provider: ollama
    model: llama3
    url: http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

踩坑${} 环境变量引用在 v0.1.0 里不工作(待验证,我试了直接报错)。workaround:直接硬编码 API key(不安全)或者用 envsubst 预处理。

基本用法

# 问一个简单问题,所有配置的模型都会回答
herdr "什么是多路复用器?"

# 指定特定模型
herdr --model gpt-4,claude-3 "写一段 Go 代码实现并发"

# 输出格式控制
herdr --format json "返回 JSON 格式的 3 个技术栈"
Enter fullscreen mode Exit fullscreen mode

输出示例(简化):

┌─────────────────────────────────────────────────────────────┐
│ gpt-4 (0.8s, 142 tokens)                                   │
│ 多路复用器是一种允许同时传输多个信号的技术...               │
├─────────────────────────────────────────────────────────────┤
│ claude-3 (1.2s, 189 tokens)                                │
│ 多路复用器(Multiplexer)在数字电路中...                    │
├─────────────────────────────────────────────────────────────┤
│ local-llama3 (5.4s, 98 tokens)                             │
│ [响应内容...]                                               │
└─────────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

高级功能:自定义 prompt 模板

herdr 支持简单的模板变量:

herdr --template "用{language}实现一个{task}" --var language=Python --var task="二分查找"
Enter fullscreen mode Exit fullscreen mode

这会在所有模型上展开同一个模板。注意:模板变量目前只支持简单替换,不支持条件或循环。


性能测试

我在一台 M1 MacBook Pro (16GB) 上做了基准测试。

测试条件

  • 网络:100Mbps 宽带
  • 模型:gpt-4-1106 (OpenAI), claude-3-opus (Anthropic), llama3:8b (Ollama 本地)
  • Prompt: "解释量子计算的原理,限制 100 字"
  • 每个模型跑 5 次,取中位数

结果

模型 平均响应时间 平均 token 消耗 首次字节延迟
gpt-4 1.2s 143 tokens 0.8s
claude-3 1.8s 167 tokens 1.1s
llama3 (本地) 4.5s 98 tokens 3.2s

herdr 本身的 overhead:从命令执行到第一个模型开始调用,平均耗时 0.05s。几乎可以忽略。

并行调用 vs 串行调用:herdr 默认并行调用所有模型。3 个模型同时跑,总耗时 = 最慢的模型耗时(claude-3 的 1.8s)。如果串行调用,总耗时 = 1.2 + 1.8 + 4.5 = 7.5s。并行优势明显


踩坑记录

1. 环境变量引用 bug(已确认)

# 配置里写 ${OPENAI_API_KEY},运行时报错
Error: failed to parse config: invalid key value: ${OPENAI_API_KEY}

# Workaround:用 shell 预处理
export OPENAI_API_KEY="sk-xxx"
sed "s/\${OPENAI_API_KEY}/$OPENAI_API_KEY/" ~/.herdr/config.yaml | herdr --config - "hello"
Enter fullscreen mode Exit fullscreen mode

2. Ollama 本地模型超时

herdr 默认超时 30s。如果本地模型加载慢(比如第一次运行),会超时:

Error: timeout waiting for response from local-llama3
Enter fullscreen mode Exit fullscreen mode

解决:在模型配置里加 timeout: 120(单位秒)。

  - name: local
    provider: ollama
    model: llama3
    url: http://localhost:11434
    timeout: 120
Enter fullscreen mode Exit fullscreen mode

3. 输出格式不稳定

--format json 模式下,如果某个模型返回空响应,herdr 会输出 null 而不是跳过。需要手动过滤:

herdr "hello" --format json | jq '.[] | select(.response != null)'
Enter fullscreen mode Exit fullscreen mode

4. 中文支持问题

某些模型(特别是本地小模型)对中文 prompt 的响应会被截断。herdr 没有自动重试机制,需要手动加 --max-tokens 参数。


横向对比:herdr vs 同类工具

特性 herdr OpenRouter LangChain CLI llm (Simon Willison)
定位 终端多路复用器 API 网关 框架 CLI 通用 LLM CLI
多模型并行 ✅ 原生支持 ✅ API 层面 ❌ 需自定义 ❌ 单次调用
本地模型 ✅ Ollama ❌ 仅云端 ✅ 多种后端 ✅ 插件系统
配置复杂度 低 (YAML) 中 (API 路由) 高 (链/代理) 低 (环境变量)
输出对比 ✅ 表格/JSON ❌ 需自行处理 ❌ 无 ❌ 无
模板系统 简单变量 ❌ 无 ✅ 完整 ❌ 无
社区活跃度 ⭐⭐ (3024 stars) ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
文档质量 ⭐ (基本 README) ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
herdr 国内能用吗 ✅ 需科学上网 ❌ 被墙 ✅ 看后端 ✅ 看后端

herdr 的独特优势:唯一一个原生支持终端内多模型输出对比的工具。其他工具要么需要自己写脚本,要么只支持单模型。


最终评价

打分 (5分制)

维度 分数 说明
功能 ⭐⭐⭐ 核心功能到位,但缺少流式输出、重试、缓存
性能 ⭐⭐⭐⭐ 并行调用 overhead 极小
性价比 ⭐⭐⭐⭐⭐ 开源免费,自建成本为 0
文档 ⭐⭐ README 基本够用,但缺少高级示例
稳定性 ⭐⭐⭐ 环境变量 bug 影响体验

推荐场景

推荐给

  • 经常需要对比 GPT-4 vs Claude 输出的开发者
  • 用 Ollama 跑本地模型,想快速测试不同量化版本效果的人
  • 写技术博客时,需要截图展示多模型回答差异的博主

不推荐给

  • 想要完整 agent 框架的人(herdr 不是 agent,只是个 multiplexer)
  • 生产环境使用(太早期,缺乏错误处理和重试)
  • 非技术人员(纯 CLI,无 GUI)

一句话总结

herdr 是一个理念正确但实现粗糙的工具。如果你正好需要同时问多个 AI 模型并对比输出,它值得安装试试(反正 5 分钟就能装好)。但别指望它能替代 OpenRouter 或 LangChain——它专注做一件事:终端里的多模型问答对比


试用链接


💬 加入 AI 工具交流社群

关注我,获取更多 AI 工具深度测评

  • 每周精选 3-5 个最新 AI 开源工具
  • 工程师视角的踩坑实录
  • 企业 AI 转型实战案例

关注公众号,回复「工具包」领取:


🏢 企业 AI 定制服务

如果你的团队正在探索 AI 落地,我们提供:

  • AI 工作流自动化:从需求分析到部署上线
  • 私有知识库搭建:RAG + 向量数据库 + 本地模型
  • AI Agent 开发:定制业务场景的智能代理
  • 技术培训:团队 AI 能力升级方案

📧 联系邮箱: contact@ai-media-matrix.com


本文包含工具推荐链接。如通过链接访问,我会获得少量支持,但不会影响你的使用体验。

Top comments (0)