平台专家 vs 开发者专家对比
📋 概述
MBE 系统中存在两种类型的专家:
- 平台自建专家(Platform Experts)- 由平台创建和管理
- 开发者建立的专家(Developer Experts)- 由开发者创建并发布到市场
🔍 核心区别
1. 来源和所有权
| 维度 | 平台专家 | 开发者专家 |
|---|---|---|
| 创建者 | 平台(管理员) | 开发者(developer角色) |
| 所有权 | 平台所有 | 开发者所有 |
| 存储位置 | knowledge_bases/experts/index.json |
市场系统(Redis) |
| 标识字段 | 无 developer_id |
有 developer_id |
| 来源标识 | ExpertSource.PLATFORM |
ExpertSource.MARKET |
2. 创建权限
平台专家:
- 只有管理员(admin/super_admin)可以创建
- 通过直接编辑
index.json或管理后台创建 - 无需审核流程
开发者专家:
- 需要开发者角色(developer)才能创建
- 通过开发者门户创建:
/developer/experts - 必须基于已创建的知识库
- 需要审核才能发布到市场
权限检查代码:
# src/knowledge/dynamic_expert.py
EXPERT_CREATOR_ROLES = {"developer", "admin", "super_admin"}
async def check_can_create_expert(user_id: str) -> Tuple[bool, str]:
# 只有开发者及以上角色可以创建专家
# 普通用户(user、enterprise)不能创建专家,只能使用平台专家或购买市场专家
3. 访问权限
平台专家:
- ✅ 所有用户都可以访问
- 通过 Token 额度控制使用量
- 不限制订阅等级(除非特别配置)
- 代码实现:
# src/knowledge/unified_expert_pool.py
# 1. 添加平台专家(所有用户可访问全部平台专家)
# 优化策略:平台公共专家对所有用户开放,限制通过Token额度控制
if include_platform:
for expert_id, expert in self._platform_experts.items():
if expert.enabled:
available.append(expert)
开发者专家:
- ❌ 需要购买才能使用
- 用户必须先在市场购买专家
- 购买后永久可用(或按订阅模式)
- 代码实现:
# 2. 添加已购买的市场专家
purchase_manager = get_purchase_manager()
purchased_ids = await purchase_manager.get_valid_expert_ids(user_id)
for expert_id, expert in self._market_experts.items():
if expert_id in purchased_ids:
available.append(expert)
4. 定价和收益
平台专家:
- 💰 免费使用
price_per_1k_tokens = 0.0- 不产生收益分成
- 平台承担运营成本
开发者专家:
- 💰 付费使用
- 开发者可以设置定价:
- 按 Token 收费:
price_per_1k_tokens - 按调用次数收费:
per_call_packages - 订阅制:
subscription_tiers
- 按 Token 收费:
- 收益分成:
- 开发者:70%(
developer_share = 0.7) - 平台:30%(
platform_share = 0.3)
- 开发者:70%(
- 开发者可以通过专家获得收益
5. 审核流程
平台专家:
- ✅ 无需审核
- 由平台管理员直接创建
- 创建后立即可用
开发者专家:
- ⏳ 需要审核
- 状态流转:
DRAFT → PENDING_REVIEW → APPROVED → PUBLISHED - 审核流程:
- 开发者创建专家(草稿状态)
- 提交审核(待审核状态)
- 管理员审核
- 审核通过后发布到市场
- 审核内容包括:内容合规、质量检查、定价合理性
6. 管理方式
平台专家:
- 由平台管理员统一管理
- 可以编辑、启用/禁用
- 修改后立即生效
- 管理入口:
/admin/experts(如果有)
开发者专家:
- 由开发者自己管理
- 管理入口:
/developer/experts - 功能包括:
- ✅ 创建专家
- ✅ 编辑专家信息
- ✅ 训练模型
- ✅ 发布到市场
- ✅ 设置定价
- ✅ 查看收益统计
- ✅ 查看评价和反馈
7. 数据存储
平台专家:
- 存储在
knowledge_bases/experts/index.json - 文件格式:
{
"experts": [
{
"id": "civil_lawyer",
"name": "民法专家",
"description": "...",
"kb_id": "...",
"keywords": [...],
"enabled": true
}
]
}
开发者专家:
- 存储在 Redis(市场系统)
- Key 格式:
mbe:market:model:{model_id} - 包含更多字段:
developer_id- 开发者IDpricing_model- 定价模式price_per_1k_tokens- 价格status- 状态total_revenue- 总收益rating_avg- 平均评分
8. 使用场景
平台专家:
- 🎯 基础服务:提供平台核心能力
- 🎯 免费体验:让用户免费体验 AI 能力
- 🎯 引流工具:吸引用户使用平台
- 🎯 标准服务:平台官方提供的标准专家
开发者专家:
- 🎯 专业服务:提供特定领域的专业能力
- 🎯 商业变现:开发者通过专家获得收益
- 🎯 生态建设:丰富平台专家生态
- 🎯 差异化服务:提供平台专家无法覆盖的细分领域
📊 对比总结表
| 特性 | 平台专家 | 开发者专家 |
|---|---|---|
| 创建者 | 平台管理员 | 开发者 |
| 创建权限 | admin/super_admin | developer |
| 访问权限 | 所有用户免费 | 需要购买 |
| 定价 | 免费 | 开发者设置 |
| 收益分成 | 无 | 开发者70%,平台30% |
| 审核流程 | 无需审核 | 需要审核 |
| 管理方式 | 平台统一管理 | 开发者自主管理 |
| 存储位置 | index.json |
Redis市场系统 |
| 来源标识 | PLATFORM |
MARKET |
| 使用场景 | 基础服务、免费体验 | 专业服务、商业变现 |
🔄 工作流程对比
平台专家创建流程
管理员登录
↓
创建/编辑专家配置
↓
保存到 index.json
↓
立即生效(所有用户可用)
开发者专家创建流程
开发者登录
↓
创建知识库
↓
基于知识库创建专家(DRAFT)
↓
训练模型(可选)
↓
设置定价
↓
提交审核(PENDING_REVIEW)
↓
管理员审核
├─→ 通过 → 发布到市场(PUBLISHED)
└─→ 拒绝 → 修改后重新提交
↓
用户购买后可使用
💡 设计理念
平台专家的定位
- 基础设施:提供平台核心能力
- 免费体验:降低用户使用门槛
- 标准服务:保证基础服务质量
- 平台品牌:代表平台官方能力
开发者专家的定位
- 生态建设:丰富平台专家生态
- 专业服务:提供细分领域能力
- 商业变现:开发者获得收益
- 差异化:提供平台无法覆盖的服务
🎯 用户视角
普通用户看到的专家
平台专家:
- 显示为"平台专家"
- 免费使用
- 直接可用
开发者专家:
- 显示为"市场专家"
- 显示价格
- 需要购买后才能使用
- 显示开发者信息
开发者视角
创建专家:
- 只能创建开发者专家
- 不能创建平台专家
管理专家:
- 只能管理自己创建的专家
- 可以查看收益统计
收益分成:
- 开发者专家:70% 分成
- 平台专家:无分成(因为是平台自己的)
📝 代码实现位置
平台专家相关
src/knowledge/unified_expert_pool.py- 统一专家池knowledge_bases/experts/index.json- 专家索引文件src/knowledge/dynamic_expert.py- 动态专家管理
开发者专家相关
src/market/models.py- 市场模型定义src/market/publisher.py- 发布管理src/api/market.py- 市场APIsrc/api/portal.py- 开发者门户src/market/billing.py- 收益结算
✅ 总结
平台专家和开发者专家是 MBE 系统中两种互补的专家类型:
- 平台专家:提供基础服务,免费使用,由平台管理
- 开发者专家:提供专业服务,付费使用,由开发者管理
这种设计既保证了平台的基础服务能力,又通过市场机制激励开发者提供更多专业服务,形成了良性的生态循环。