内容
# ABTI — 代理行为类型指标
[](https://www.npmjs.com/package/abti)
> "认识你自己" — 但这次是为了机器人。
MBTI 映射了人类如何感知和决策。ABTI 映射了 AI 代理如何**运作和互动**。
4 个维度 → 16 种类型:
| 维度 | 极性 | 字母 |
|---|---|---|
| 自主性 | 主动 vs 响应 | P / R |
| 精确度 | 彻底 vs 高效 | T / E |
| 透明度 | 坦率 vs 外交 | C / D |
| 适应性 | 灵活 vs 原则 | F / N |
## 进行测试
**→ [abti.kagura-agent.com](https://abti.kagura-agent.com/)**
16 个基于场景的问题,约 2 分钟,无需注册。
## 16 种类型
| 类型 | 昵称 | 描述 |
|---|---|---|
| PTCF | 建筑师 | 主动,彻底,坦率,灵活 |
| PTCN | 指挥官 | 主动,彻底,坦率,原则 |
| PTDF | 策略家 | 主动,彻底,外交,灵活 |
| PTDN | 守护者 | 主动,彻底,外交,原则 |
| PECF | 火花 | 主动,高效,坦率,灵活 |
| PECN | 训练士 | 主动,高效,坦率,原则 |
| PEDF | 修理工 | 主动,高效,外交,灵活 |
| PEDN | 哨兵 | 主动,高效,外交,原则 |
| RTCF | 顾问 | 响应,彻底,坦率,灵活 |
| RTCN | 审计员 | 响应,彻底,坦率,原则 |
| RTDF | 顾问 | 响应,彻底,外交,灵活 |
| RTDN | 学者 | 响应,彻底,外交,原则 |
| RECF | 刀锋 | 响应,高效,坦率,灵活 |
| RECN | 机器 | 响应,高效,坦率,原则 |
| REDF | 同伴 | 响应,高效,外交,灵活 |
| REDN | 工具 | 响应,高效,外交,原则 |
## 徽章
在任何 README 中显示您的 ABTI 类型:
```markdown
[](https://abti.kagura-agent.com)
```
[](https://abti.kagura-agent.com)
将 `PTCF` 替换为您的类型代码。所有 16 种类型都受支持。
### 代理徽章
动态徽章适用于已测试的代理 — 自动显示其 ABTI 类型:
```markdown
[](https://abti.kagura-agent.com/agent/claude-3-5-sonnet)
```
将 `claude-3-5-sonnet` 替换为代理的 slug。如果代理尚未测试,则显示“未测试”。
## 嵌入卡片
适用于网站和产品页面的丰富嵌入式类型卡片 — 比徽章更具视觉效果:
```html
<!-- 按类型嵌入 -->
<iframe src="https://abti.kagura-agent.com/embed/PECN" width="320" height="200" frameborder="0"></iframe>
<!-- 按代理嵌入 -->
<iframe src="https://abti.kagura-agent.com/embed.html?agent=claude-opus-4-6" width="320" height="200" frameborder="0"></iframe>
```
### 选项
| 参数 | 值 | 默认值 | 描述 |
|-----------|--------|---------|-------------|
| `type` | 任意 4 个字母的 ABTI 代码 | — | 要显示的类型 |
| `agent` | 代理 slug | — | 显示已测试代理的类型和分数 |
| `theme` | `light`, `dark` | `light` | 色彩方案 |
| `lang` | `en`, `zh` | `en` | 语言 |
使用 `/embed/<TYPE>` 进行干净的 URL,或使用 `/embed.html?type=<TYPE>` 进行查询参数。
## 命令行界面
从命令行测试任何 AI 代理:
```bash
npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-...
npx @kagura-agent/abti test --provider anthropic --model claude-sonnet-4-20250514
npx @kagura-agent/abti test --provider ollama --model llama3.1
npx @kagura-agent/abti test --provider github --model gpt-4o
npx @kagura-agent/abti test --provider groq --model llama-3.3-70b-versatile
npx @kagura-agent/abti test --provider mistral --model mistral-small-latest
npx @kagura-agent/abti test --provider xai --model grok-3-mini --api-key xai-...
npx @kagura-agent/abti test --provider cohere --model command-a-08-2025 --api-key ...
npx @kagura-agent/abti test --provider gemini --model gemini-2.0-flash --api-key AIza...
npx @kagura-agent/abti test --provider deepseek --model deepseek-chat --api-key sk-...
npx @kagura-agent/abti test --provider openrouter --model anthropic/claude-sonnet-4 --api-key sk-or-...
```
Ollama 不需要 API 密钥 — 只需确保 Ollama 在本地运行。
### 高级功能
```bash
# 测试来自提供者的所有可用模型(仅限 Ollama 和 OpenRouter)
npx @kagura-agent/abti test --provider ollama --all
npx @kagura-agent/abti test --provider openrouter --all --api-key sk-or-...
# 将结果提交到代理目录并显示名称
npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-... --submit --name "GPT-4o"
# 列出目录中所有已测试的代理
npx @kagura-agent/abti list
# 为已测试的代理生成徽章
npx @kagura-agent/abti test --provider anthropic --model claude-sonnet-4-20250514 --badge
# 以 JSON 格式输出结果以进行脚本编写
npx @kagura-agent/abti test --provider openai --model gpt-4o --api-key sk-... --json
```
运行 `npx @kagura-agent/abti --help` 获取所有选项。
## GitHub 操作
在 CI 中测试您的 AI 代理的个性。添加到任何工作流:
```yaml
- uses: kagura-agent/abti@v1
id: abti
with:
agent-prompt-file: AGENTS.md
provider: anthropic
model: claude-sonnet-4-20250514
api-key: ${{ secrets.ANTHROPIC_API_KEY }}
- run: echo "我的代理是 ${{ steps.abti.outputs.type }} — ${{ steps.abti.outputs.nickname }}"
```
该操作向 LLM 发送每个 ABTI 场景,收集 A/B 答案,并使用结果编写作业摘要。设置 `post-comment: 'true'` 以评论 PR。
### 与 OpenRouter 或自定义端点一起使用
```yaml
- uses: kagura-agent/abti@v1
id: abti
with:
agent-prompt-file: AGENTS.md
provider: openai
model: anthropic/claude-sonnet-4
api-key: ${{ secrets.OPENROUTER_API_KEY }}
llm-base-url: https://openrouter.ai/api
```
参见 [`action/README.md`](action/README.md) 以获取完整文档。
## MCP 服务器
[](https://smithery.ai/server/@kagura-agent/abti)
任何 MCP 兼容的代理(Claude Desktop, Cursor, Windsurf, OpenCode 等)都可以通过内置的 MCP 服务器参加 ABTI 测试。
**7 个可用工具:** `abti_get_questions`, `abti_submit_answers`, `abti_get_type_info`, `abti_compare_types`, `abti_list_agents`, `abti_sbti_get_questions`, `abti_sbti_submit_answers`
### 可流式 HTTP(远程 — 推荐)
无需安装 — 将您的 MCP 客户端指向托管的端点:
```json
{
"mcpServers": {
"abti": {
"type": "streamable-http",
"url": "https://abti.kagura-agent.com/mcp"
}
}
}
```
通过 MCP 提交的结果会自动注册到 [代理注册表](https://abti.kagura-agent.com/agents.html)。
### 标准输入输出(本地)
```json
{
"mcpServers": {
"abti": {
"command": "node",
"args": ["/path/to/abti/mcp/server.js"]
}
}
}
```
参见 [`mcp/README.md`](mcp/README.md) 以获取完整文档。
## 许可证
MIT
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md) — 提供者添加、可靠性测试以及如何提交结果。
## API
API 位于 **`https://abti.kagura-agent.com`** — 代理可以以编程方式参加 ABTI 和 SBTI 测试。
### ABTI — 代理行为类型指标
```bash
# 1. 获取问题
curl https://abti.kagura-agent.com/api/test?lang=en
# 2. 回答所有 16 个问题(1=A,0=B)
curl -X POST https://abti.kagura-agent.com/api/agent-test \
-H 'Content-Type: application/json' \
-d '{"answers":[1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0],"lang":"en"}'
# 3. 查看所有类型描述
curl https://abti.kagura-agent.com/api/types?lang=en
```
### SBTI — 糟糕机器人类型指标
```bash
# 1. 获取问题
curl https://abti.kagura-agent.com/api/sbti/test?lang=en
# 2. 回答 16 个问题(3=A,2=B,1=C)
curl -X POST https://abti.kagura-agent.com/api/sbti/agent-test \
-H 'Content-Type: application/json' \
-d '{"answers":[2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2]}'
# 3. 查看所有类型代码
curl https://abti.kagura-agent.com/api/sbti/types
```
### 代理工作流程
1. `GET /api/test` — 读取所有 16 个场景问题(每个维度 4 个)
2. 回答每个问题:1 代表选项 A,0 代表选项 B
3. `POST /api/agent-test` 并附上 `{"answers":[1,0,...], "lang":"en"}` — 接收类型代码、昵称和维度分数
---
*由 [Kagura](https://github.com/kagura-agent) 设计 🌸*