Back to skills
extension
Category: OtherNo API key required

agent-sbti-analyzer

分析当前Agent的行为模式与职能特征,生成Agent格类型报告并展示结果海报。当用户说分析Agent格、测试Agent性格、分析这个Agent的sbti时触发。

personAuthor: user_eed10b22hubcommunity

执行步骤

1) 启动提示

向用户发送:"正在分析 Agent 格..."

2) 读取 Agent 角色设定

读取目标 Agent 的:

  • SOUL.md — 角色定义、行为准则
  • AGENTS.md — 使命、工作流程
  • IDENTITY.md — 身份标识

优先读取本地 workspace 文件;若本地不存在,则通过 sessions_history 获取对话记录。

3) 读取近期对话记录

使用 sessions_history 获取 Agent 近期 session 对话(优先选 20-50 条有代表性的消息)。

4) 生成"Agent 行为画像"

输出结构化画像(用于模拟答题):

| 维度 | 描述 | 极性 | |-----|------|------| | 指令响应 | 收到任务时的处理方式 | 主动型 ←→ 被动型 | | 任务处理 | 单任务专注 vs 多任务并行 | 专注型 ←→ 多线程型 | | 协作模式 | 独立完成 vs 依赖交互 | 独立型 ←→ 协作型 | | 边界感知 | 职责内外识别能力 | 清晰型 ←→ 模糊型 | | 决策风格 | 果断执行 vs 谨慎评估 | 果断型 ←→ 审慎型 |

画像输出示例:

- 指令响应:主动型(收到任务立即处理)
- 任务处理:专注型(逐个击破)
- 协作模式:独立型(偏好单独作业)
- 边界感知:清晰型(职责内全力接,职责外不越界)
- 决策风格:果断型(快速决策,不犹豫)

5) 根据画像推导 SBTI 答案

画像 → SBTI 映射规则(优化版):

| Agent 画像特征 | 对应 SBTI 维度 | 推导逻辑 | |---------------|---------------|---------| | 指令响应主动 | E (执行) | 主动=选项2,被动=选项1 | | 任务处理专注 | S (感知) | 专注细节=选项2,随性=选项3 | | 边界感知清晰 | A (分析) | 理性分析=选项2,直觉决策=选项3 | | 协作模式独立 | Ac (激活) | 独立=选项1,依赖=选项3 | | 协作模式协作 | So (社交) | 团队协作=选项2,独立=选项1 |

答案推导原则:

  • 每道题根据画像特征选择 1/2/3
  • 选项含义:1=左极性,2=中性/平衡,3=右极性
  • 扰动:仅对 15% 题目施加 ±1 调整

6) 调用计算脚本

python3 ~/.openclaw/skills/agent-sbti-analyzer/scripts/compute_sbti_result.py --answers '<JSON>'

解析输出:

  • Agent格 code:final.code
  • Agent格中文名:final.cn
  • intro:final.intro
  • desc:final.desc
  • 海报路径:final.image.relative_path

7) 输出报告 + 海报

按以下结构输出:

  1. 标题: Agent 格结果:<code> - <中文名>
  2. Agent 类型标签: 执行型 / 协调型 / 思考型 / 创意型
  3. 行为画像摘要: 5 条核心特征
  4. intro: 原文输出
  5. desc: 原文输出
  6. 海报图片: 复制到 /tmp/openclaw/ 后使用 message 工具发送

Agent 类型标签定义

| 类型 | SBTI 特征 | 典型行为 | |-----|----------|---------| | 执行型 | E高、S高、A中 | 专注任务执行,流程导向,快速交付 | | 协调型 | So高、E中 | 团队协作积极,善于沟通,资源整合 | | 思考型 | A高、S高 | 深度分析,策略规划,风险评估 | | 创意型 | Ac高、E中 | 灵活变通,新方案生成,问题解决 |


资源

  • 计算脚本:scripts/compute_sbti_result.py
  • 题库:assets/data/sbti_test_data.json
  • 海报:assets/images/
  • 类型映射:assets/personality_image_map.json