让每一位员工的能力可见、可量化、可传承。
| 痛点 | 现状 | employee2skill 解决方案 |
|---|---|---|
| 人才流失风险不可知 | 关键员工离职时才发现其不可替代 | 实时评估可替代率,提前预警高风险员工 |
| 离职交接成本高昂 | 交接文档零散、经验无法传承 | 自动生成交接 Skill,沉淀核心经验 |
| 培训素材制作费力 | 优秀员工经验难以复制 | 一键萃取能力 Skill,生成培训材料 |
| 绩效评估主观模糊 | 评估依赖印象,缺乏数据支撑 | 多源数据驱动,每条结论有证据链追溯 |
从"员工离职才知道他是宝贝"到"提前识别并保护你的核心人才"
告别主观印象,从员工日常工作中自动采集数据:
数据源 → 分析维度 → 评估输出
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AI对话(ChatGPT/Claude) → 问题解决能力、学习能力 → 分数 + 证据
监控软件日志 → 工作效率、专注度 → 分数 + 证据
沟通工具(飞书/钉钉) → 沟通能力、响应速度 → 分数 + 证据
文档访问记录 → 学习行为、知识获取 → 分数 + 证据
每条评估结论都有完整的证据追溯链——从结论到原始数据,全程可审计。
不是简单的"好/坏"评级,而是量化评估:
| 可替代率 | 风险等级 | 管理建议 |
|---|---|---|
| < 20% | ❌ 不可替代 | 制定保留计划,考虑继任者培养 |
| 20-40% | 🟢 低风险 | 定期关注,适当激励 |
| 40-60% | 🟡 中风险 | 可考虑培养方向,提升稀缺能力 |
| 60-80% | 🟠 高风险 | 替代成本适中,可适度储备人才 |
| > 80% | 🔴 易于替代 | 替代成本低,正常流动即可 |
从优秀员工身上萃取的能力,可以转化为四种形态:
| 形态 | 用途 | 场景举例 |
|---|---|---|
| 培训形态 | 新员工培训 | "高效沟通技巧"培训课程,带步骤、评估标准 |
| Agent形态 | 工作自动化 | "客户投诉处理Agent",可自动执行流程 |
| 知识库形态 | 知识沉淀 | "产品知识FAQ",可检索的知识条目 |
| 交接形态 | 离职交接 | 完整的工作上下文、个人经验要点 |
优秀员工离职了?他的能力 Skill 还在,新人可以快速接手。
不同岗位,不同能力模型:
- 🖥️ 软件工程师:编码质量、系统设计、故障排查权重高
- 🎧 客服人员:响应质量、产品知识、客户满意度权重高
- 💼 销售人员:客户关系、谈判能力、销售业绩权重高
- 📱 产品经理:产品策略、需求分析、跨部门协调权重高
- 📋 文职人员:文档管理、日程安排、协调能力权重高
一套系统,覆盖全公司不同岗位。
输入:员工 ID + 数据源配置
处理:采集 → 分析 → 评估
输出:
- 可替代率:35%(低风险)
- 关键能力:问题解决(85分)、沟通(80分)
- 建议:定期关注,建议培养继任者
HR 可以提前识别高风险员工,制定保留策略。
输入:即将离职员工 ID
处理:能力萃取 → 交接 Skill 生成
输出:
- 交接文档(Markdown格式)
- 核心经验要点
- 工作上下文说明
- 常见问题处理方式
交接不再是"口头交代+零散文档",而是完整的能力传承。
输入:优秀员工 ID + 能力维度
处理:萃取该能力 → 培训 Skill 生成
输出:
- 培训课程大纲
- 学习步骤
- 练习题
- 评估标准
优秀员工的经验可以直接复制给新人。
输入:团队成员列表
处理:批量评估 → 团队报告生成
输出:
- 团队风险分布(不可替代X人,高风险Y人)
- 团队能力热力图
- 关键员工名单
- 培养建议汇总
管理者可以快速了解团队人才结构,做出决策。
employee2skill 是一个企业级员工能力分析平台,采用四层架构设计:
┌─────────────────────────────────────────────────────────────────────────┐
│ 输出层 (Output Layer) │
│ 员工报告 | 团队报告 | Skill注册表 | JSON/YAML导出 │
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 引擎层 (Engine Layer) │
│ 可替代率评估引擎 | 风险分类器 | 多维评分器 | Skill生成器 │
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 分析层 (Analysis Layer) │
│ 沟通能力提取器 | 效率提取器 | 问题解决提取器 | 学习能力提取器 | AI协作提取器│
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 数据层 (Data Layer) │
│ 监控软件采集器 | AI对话采集器 | 文档采集器 | 数据标准化器 │
└─────────────────────────────────────────────────────────────────────────┘
核心理念:数据统一接入 → 智能分析 → 精准评估 → 可用输出
支持从多种数据源采集员工行为数据:
| 数据源类型 | 采集器 | 数据类型 |
|---|---|---|
| 监控软件 | InternalPlatformCollector | APP_USAGE, OPERATION_LOG |
| AI 对话 | ChatGPTExportCollector, ClaudeExportCollector | AI_CONVERSATION, AI_PROMPT, AI_RESPONSE |
| 沟通工具 | FeishuCollector, DingTalkCollector | CHAT_MESSAGE, EMAIL |
| 文档系统 | PDFCollector, MarkdownCollector | DOCUMENT, WIKI_PAGE |
基于职业配置驱动的能力分析:
- 沟通能力 - 消息量、响应时间、表达质量
- 工作效率 - 任务完成量、数据多样性、工作节奏
- 问题解决 - 问题查询频率、任务解决能力
- 学习能力 - 学习行为、文档访问、知识获取
- AI 协作能力 - AI 工具使用频率、Prompt 质量
综合多维度分析的可替代率评估体系:
可替代率 = f(能力分数, 稀缺能力, 团队依赖度, 学习曲线)
风险等级分类:
| 风险等级 | 可替代率 | 说明 |
|---|---|---|
| ❌ 不可替代 | < 20% | 掌握关键稀缺能力,离职影响大 |
| 🟢 低风险 | 20-40% | 能力较强,有一定稀缺性 |
| 🟡 中风险 | 40-60% | 能力中等,替代成本适中 |
| 🟠 高风险 | 60-80% | 能力一般,较容易替代 |
| 🔴 易于替代 | > 80% | 能力较弱或普遍,替代成本低 |
从员工能力数据中抽取可复用的能力 Skill,支持四种输出形态:
| 形态 | 用途 | 特点 |
|---|---|---|
| 培训形态 | 新员工培训 | 教学式,带步骤讲解、评估标准 |
| Agent 形态 | 工作自动化 | 可执行,带触发条件、执行流程 |
| 知识库形态 | 知识沉淀 | 可查询,带索引、FAQ |
| 交接形态 | 离职交接 | 完整上下文、个人经验要点 |
预置 6 种职业配置,支持灵活扩展:
- 🖥️ 软件工程师 (software_engineer)
- 🎧 客服人员 (customer_service)
- 📋 文职人员 (office_admin)
- 💼 销售人员 (sales)
- 📱 产品经理 (product_manager)
- 📊 通用职业 (general)
┌─────────────────────────────────────────────────────────────────────────┐
│ 输出层 (Output Layer) │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────┐ │
│ │ SingleEmployee │ │ TeamSummary │ │ SkillRegistry │ │
│ │ ReportBuilder │ │ ReportBuilder │ │ JSON/YAML │ │
│ └─────────────────────┘ └─────────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 引擎层 (Engine Layer) │
│ ┌─────────────────────────────────┐ ┌─────────────────────────────┐ │
│ │ ReplacementEvaluator │ │ CapabilityExtractor │ │
│ │ ┌───────────┐ ┌──────────────┐ │ │ ┌─────────────────────┐ │ │
│ │ │ Evaluator │ │ Risk │ │ │ │ SkillBuilder │ │ │
│ │ │ Engine │ │ Classifier │ │ │ │ (培训/Agent/知识) │ │ │
│ │ └───────────┘ └──────────────┘ │ │ └─────────────────────┘ │ │
│ └─────────────────────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 分析层 (Analysis Layer) │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ AnalyzerHub │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ Extractors │ │ │
│ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐│ │ │
│ │ │ │Communication │ │ Efficiency │ │ ProblemSolving ││ │ │
│ │ │ │ Extractor │ │ Extractor │ │ LearningAbility ││ │ │
│ │ │ └──────────────┘ └──────────────┘ │ AIUsage Extractor ││ │ │
│ │ │ └──────────────────────┘│ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────────────────┐
│ 数据层 (Data Layer) │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ CollectorHub │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────┐ │ │
│ │ │ Monitoring │ │ AI Chat │ │ Docs │ │ │
│ │ │ Collectors │ │ Collectors │ │ Collectors │ │ │
│ │ └─────────────────┘ └─────────────────┘ └─────────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ DataStandardizer │ │
│ │ (RawDataBatch → Standardized Records) │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ Data Models │ │
│ │ DataType | EmployeeDataRecord | RawDataBatch │ │
│ └────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
- 数据层:所有数据源统一接入,标准化后存储
- 分析层:从标准化数据提取特征,产出结构化分析结果
- 引擎层:基于分析结果,执行能力抽取和可替代率评估
- 输出层:将引擎产出格式化为最终交付物
class DataType(Enum):
"""统一的数据类型分类"""
# 沟通类
CHAT_MESSAGE = "chat_message"
EMAIL = "email"
# 文档类
DOCUMENT = "document"
WIKI_PAGE = "wiki_page"
# 监控类
APP_USAGE = "app_usage"
OPERATION_LOG = "operation_log"
WORKFLOW_TRACE = "workflow_trace"
# AI交互类
AI_PROMPT = "ai_prompt"
AI_RESPONSE = "ai_response"
AI_CONVERSATION = "ai_conversation"
# 行为类
CODE_COMMIT = "code_commit"
TASK_RECORD = "task_record"所有采集器继承 BaseCollector,实现统一接口:
class BaseCollector(ABC):
"""采集器基类"""
@abstractmethod
def collect(self, employee_id: str) -> RawDataBatch:
"""执行采集,返回原始数据批次"""
pass
@abstractmethod
def get_supported_data_types(self) -> list[str]:
"""返回支持的数据类型"""
pass
def validate_config(self) -> bool:
"""验证配置有效性"""
passDataStandardizer 负责将原始数据转换为标准格式:
standardizer = DataStandardizer()
batch = collector.collect("emp001")
processed = standardizer.process_batch(batch)所有分析器继承 BaseAnalyzer:
class BaseAnalyzer(ABC):
"""分析器基类"""
@abstractmethod
def analyze(self, batch: RawDataBatch, profession_type: str) -> AnalysisResult:
"""执行分析"""
pass
@abstractmethod
def get_supported_dimensions(self) -> list[str]:
"""返回支持的分析维度"""
passAnalyzerHub 协调多个分析器,按职业配置分派:
hub = AnalyzerHub()
result = hub.analyze_employee(batch, "software_engineer")class AnalysisResult(BaseModel):
employee_id: str
profession_type: str = "general"
core_capabilities: dict[str, Any] = {} # 核心能力
specific_capabilities: dict[str, Any] = {} # 职业专属能力
behavior_patterns: dict[str, Any] = {} # 行为模式
ai_collaboration: dict[str, Any] = {} # AI协作能力
confidence: float = 0.0
metadata: dict[str, Any] = {}class EvaluatorEngine:
"""可替代率评估引擎"""
RISK_THRESHOLDS = {
"irreplaceable": 20,
"low_risk": 40,
"medium_risk": 60,
"high_risk": 80,
"easy_replace": 100,
}
def evaluate(self, analysis_result: AnalysisResult) -> ReplacementEvaluation:
"""执行可替代率评估"""
passclass ReplacementEvaluation(BaseModel):
employee_id: str
replacement_rate: int # 0-100
risk_level: str # 风险等级
overall_capability_score: int # 综合能力分数
dimension_scores: dict # 各维度分数
risk_factors: dict # 风险因素
evidence: list[str] # 证据链
recommendations: list[str] # 改进建议builder = SkillBuilder()
# 培训形态
training_skill = builder.build_training_skill(
capability_name="沟通能力",
capability_data={"score": 85, "level": "good", "evidence": [...]},
source_employee="张三"
)
# 交接形态
handover_skill = builder.build_handover_skill(
employee_id="emp001",
employee_name="张三",
analysis_result={"core_capabilities": {...}}
)report_builder = SingleEmployeeReportBuilder()
report = report_builder.build(evaluation, analysis_result)
# 生成 Markdown 格式的评估报告team_builder = TeamSummaryReportBuilder()
team_report = team_builder.build([
{"employee_id": "emp001", "risk_level": "irreplaceable", ...},
{"employee_id": "emp002", "risk_level": "medium_risk", ...},
])registry = SkillRegistry()
registry.register("skill-001", skill_data, category="communication")
# 导出
json_exporter = JSONExporter()
json_exporter.export_skill(skill_data, "skill-001", output_dir)
yaml_exporter = YAMLExporter()
yaml_exporter.export_skill(skill_data, "skill-001", output_dir)┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 原始数据 │ ──▶ │ 采集器 │ ──▶ │ 标准化器 │ ──▶ │ 分析器 │
│ (JSON/文件) │ │ Collector │ │Standardizer │ │ Extractor │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 最终报告 │ ◀── │ Skill生成 │ ◀── │ 评估引擎 │ ◀── │ 分析结果 │
│ (MD/JSON) │ │SkillBuilder │ │ Evaluator │ │AnalysisRes │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
每条评估结论可追溯到原始数据:
{
"conclusion": "产品知识掌握度 65 分",
"evidence_chain": [
{"layer": "评估结论", "content": "产品知识 65 分"},
{"layer": "分析结果", "content": "正确信息率 82%,查文档 6 次/天"},
{"layer": "标准化数据", "content": "来源于 ai_conversations.json"},
{"layer": "原始数据", "content": "AI 对话 500 条,CRM 日志 30 天"}
]
}# config/profession_configs/software_engineer.yaml
profession_type: software_engineer
display_name: 软件/技术开发人员
# 核心能力维度(必分析)
core_dimensions:
- communication
- problem_solving
- efficiency
- learning_ability
- responsibility
# 职业专属维度
specific_dimensions:
- coding_quality
- code_review
- system_design
- troubleshooting
# 数据源权重
data_source_weights:
chat_messages: 0.25
code_commits: 0.25
app_usage: 0.15
ai_conversations: 0.2
documents: 0.1
# 评分标准
scoring_criteria:
coding_quality:
metrics:
- code_commit_frequency
- code_review_pass_rate
benchmark:
excellent: {commit_freq: "> 5/week", review_pass: "> 90%"}
good: {commit_freq: "> 3/week", review_pass: "> 75%"}
# 可替代率评估权重
replacement_risk_weights:
coding_quality: 0.2
problem_solving: 0.2
system_design: 0.15
efficiency: 0.15
learning_ability: 0.15
communication: 0.1| 职业类型 | 核心能力 | 专属能力 |
|---|---|---|
| software_engineer | 沟通、问题解决、效率、学习、责任 | 编码质量、代码审查、系统设计、故障排查 |
| customer_service | 沟通、问题解决、效率、学习、责任 | 响应质量、产品知识、冲突处理、客户满意度 |
| office_admin | 沟通、问题解决、效率、学习、责任 | 文档管理、日程安排、协调能力、行政效率 |
| sales | 沟通、问题解决、效率、学习、责任 | 客户关系、谈判能力、产品知识、销售业绩 |
| product_manager | 沟通、问题解决、效率、学习、责任 | 产品策略、需求分析、跨部门协调、用户洞察 |
- Python 3.9+
- uv 包管理器
# 克隆项目
git clone https://github.com/your-org/employee2skill.git
cd employee2skill
# 安装依赖
uv sync
# 安装开发依赖
uv sync --extra dev# 运行所有测试
uv run pytest tests/ -v
# 运行带覆盖率
uv run pytest tests/ -v --cov=analysis_layer --cov=engine_layer --cov=output_layerfrom data_layer.gateway.base_collector import CollectorConfig
from data_layer.collectors.ai_chat.chatgpt_export_collector import ChatGPTExportCollector
# 配置采集器
config = CollectorConfig(
name="chatgpt",
params={"data_file": "data/chatgpt_conversations.json"}
)
# 执行采集
collector = ChatGPTExportCollector(config)
batch = collector.collect("emp001")
print(f"采集到 {batch.count()} 条对话记录")from analysis_layer.extractors.core.communication_extractor import CommunicationExtractor
from analysis_layer.extractors.core.efficiency_extractor import EfficiencyExtractor
from analysis_layer.extractors.ai_interaction.ai_usage_extractor import AIUsageExtractor
# 创建分析器
comm_extractor = CommunicationExtractor()
eff_extractor = EfficiencyExtractor()
ai_extractor = AIUsageExtractor()
# 执行分析
comm_result = comm_extractor.analyze(batch, "software_engineer")
eff_result = eff_extractor.analyze(batch, "software_engineer")
ai_result = ai_extractor.analyze(batch, "software_engineer")
print(f"沟通能力: {comm_result.core_capabilities['communication']['score']}")
print(f"工作效率: {eff_result.core_capabilities['efficiency']['score']}")
print(f"AI协作能力: {ai_result.core_capabilities['ai_collaboration']['score']}")from analysis_layer.base_analyzer import AnalysisResult
from engine_layer.replacement_evaluator.evaluator_engine import EvaluatorEngine
# 合并分析结果
combined_result = AnalysisResult(
employee_id="emp001",
profession_type="software_engineer",
core_capabilities={
"communication": {"score": 80, "level": "good"},
"efficiency": {"score": 75, "level": "good"},
"problem_solving": {"score": 85, "level": "excellent"},
"learning_ability": {"score": 70, "level": "good"},
},
confidence=0.85
)
# 执行评估
evaluator = EvaluatorEngine()
evaluation = evaluator.evaluate(combined_result)
print(f"可替代率: {evaluation.replacement_rate}%")
print(f"风险等级: {evaluation.risk_level}")
print(f"改进建议: {evaluation.recommendations}")from output_layer.report_outputs.single_employee_report import SingleEmployeeReportBuilder
from output_layer.report_outputs.team_summary_report import TeamSummaryReportBuilder
from engine_layer.capability_extractor.skill_output.skill_builder import SkillBuilder
# 生成员工报告
report_builder = SingleEmployeeReportBuilder()
report = report_builder.build(evaluation, combined_result)
print(report)
# 生成 Skill
skill_builder = SkillBuilder()
training_skill = skill_builder.build_training_skill(
capability_name="沟通能力",
capability_data={"score": 80, "level": "good", "evidence": ["响应及时", "表达清晰"]},
source_employee="张三"
)
print(training_skill)
# 生成团队摘要
team_builder = TeamSummaryReportBuilder()
team_report = team_builder.build([
{"employee_id": "emp001", "risk_level": "irreplaceable", "replacement_rate": 15, ...},
{"employee_id": "emp002", "risk_level": "medium_risk", "replacement_rate": 50, ...},
])from output_layer.skill_outputs.skill_registry import SkillRegistry
from output_layer.skill_outputs.exporters.json_exporter import JSONExporter
from output_layer.skill_outputs.exporters.yaml_exporter import YAMLExporter
from pathlib import Path
# 注册 Skill
registry = SkillRegistry()
registry.register("skill-comm-001", skill_data, category="communication")
# JSON 导出
json_exporter = JSONExporter()
json_exporter.export_skill(skill_data, "skill-comm-001", Path("output/skills"))
# YAML 导出
yaml_exporter = YAMLExporter()
yaml_exporter.export_skill(skill_data, "skill-comm-001", Path("output/skills"))
# 保存注册表
registry.save()| 类 | 方法 | 说明 |
|---|---|---|
BaseCollector |
collect(employee_id) |
执行数据采集 |
BaseCollector |
get_supported_data_types() |
返回支持的数据类型 |
BaseCollector |
validate_config() |
验证配置有效性 |
DataStandardizer |
process_batch(batch) |
标准化数据批次 |
DataStandardizer |
merge_batches(batches) |
合并多个批次 |
| 类 | 方法 | 说明 |
|---|---|---|
BaseAnalyzer |
analyze(batch, profession_type) |
执行能力分析 |
BaseAnalyzer |
get_supported_dimensions() |
返回支持的维度 |
AnalyzerHub |
load_profession_config(type) |
加载职业配置 |
AnalyzerHub |
analyze_employee(batch, type) |
分析员工数据 |
| 类 | 方法 | 说明 |
|---|---|---|
EvaluatorEngine |
evaluate(analysis_result) |
执行可替代率评估 |
RiskClassifier |
classify(replacement_rate) |
分类风险等级 |
RiskClassifier |
get_recommendations(level) |
获取改进建议 |
MultiDimScorer |
calculate_weighted_score(scores) |
计算加权分数 |
SkillBuilder |
build_training_skill(...) |
构建培训形态 Skill |
SkillBuilder |
build_handover_skill(...) |
构建交接形态 Skill |
| 类 | 方法 | 说明 |
|---|---|---|
SingleEmployeeReportBuilder |
build(evaluation, analysis) |
生成员工报告 |
TeamSummaryReportBuilder |
build(evaluations) |
生成团队报告 |
SkillRegistry |
register(id, data, category) |
注册 Skill |
SkillRegistry |
save() / load() |
保存/加载注册表 |
JSONExporter |
export(data, path) |
导出 JSON |
YAMLExporter |
export(data, path) |
导出 YAML |
from data_layer.gateway.base_collector import BaseCollector, CollectorConfig
from data_layer.standardization.data_models import RawDataBatch
class MyCustomCollector(BaseCollector):
"""自定义采集器"""
def __init__(self, config: CollectorConfig):
super().__init__(config)
# 初始化配置
def collect(self, employee_id: str) -> RawDataBatch:
# 实现采集逻辑
records = []
# ...
return RawDataBatch(
source="my_custom_source",
employee_id=employee_id,
records=records,
metadata={}
)
def get_supported_data_types(self) -> list[str]:
return ["my_data_type"]from analysis_layer.base_analyzer import BaseAnalyzer, AnalysisResult
from data_layer.standardization.data_models import RawDataBatch
class MyCapabilityExtractor(BaseAnalyzer):
"""自定义能力提取器"""
def get_supported_dimensions(self) -> list[str]:
return ["my_capability"]
def analyze(self, batch: RawDataBatch, profession_type: str) -> AnalysisResult:
# 实现分析逻辑
score = self._calculate_score(batch)
return AnalysisResult(
employee_id=batch.employee_id,
profession_type=profession_type,
core_capabilities={"my_capability": {
"score": score,
"level": self._get_level(score),
"evidence": [...]
}},
confidence=0.8
)在 config/profession_configs/ 目录下创建 YAML 文件:
# config/profession_configs/my_profession.yaml
profession_type: my_profession
display_name: 我的职业
core_dimensions:
- communication
- efficiency
specific_dimensions:
- my_special_skill
replacement_risk_weights:
my_special_skill: 0.3
communication: 0.2
efficiency: 0.2employee2skill/
├── data_layer/ # 数据层
│ ├── gateway/
│ │ └── base_collector.py # 采集器基类
│ ├── collectors/
│ │ ├── monitoring/ # 监控软件采集器
│ │ │ ├── base_monitoring_collector.py
│ │ │ └── internal_platform_collector.py
│ │ ├── ai_chat/ # AI 对话采集器
│ │ │ ├── base_ai_chat_collector.py
│ │ │ ├── chatgpt_export_collector.py
│ │ │ └── claude_export_collector.py
│ │ └── docs/ # 文档采集器
│ │ ├── pdf_collector.py
│ │ └── markdown_collector.py
│ └── standardization/
│ ├── data_models.py # 统一数据模型
│ └── standardizer.py # 数据标准化器
│
├── analysis_layer/ # 分析层
│ ├── base_analyzer.py # 分析器基类
│ ├── analyzer_hub.py # 分析调度器
│ └── extractors/
│ ├── core/ # 核心能力提取器
│ │ ├── communication_extractor.py
│ │ ├── efficiency_extractor.py
│ │ ├── problem_solving_extractor.py
│ │ └── learning_ability_extractor.py
│ └── ai_interaction/ # AI 协作提取器
│ └── ai_usage_extractor.py
│
├── engine_layer/ # 引擎层
│ ├── replacement_evaluator/ # 可替代率评估
│ │ ├── evaluator_engine.py
│ │ ├── scoring/
│ │ │ └── multi_dim_scorer.py
│ │ └── risk_assessment/
│ │ └── risk_classifier.py
│ └── capability_extractor/ # 能力抽取
│ ├── extractor_engine.py
│ └── skill_output/
│ └── skill_builder.py
│
├── output_layer/ # 输出层
│ ├── report_outputs/
│ │ ├── single_employee_report.py
│ │ └── team_summary_report.py
│ └── skill_outputs/
│ ├── skill_registry.py
│ └── exporters/
│ ├── json_exporter.py
│ └── yaml_exporter.py
│
├── config/
│ └── profession_configs/ # 职业配置
│ ├── general.yaml
│ ├── software_engineer.yaml
│ ├── customer_service.yaml
│ ├── office_admin.yaml
│ ├── sales.yaml
│ └── product_manager.yaml
│
├── legacy/ # 兼容层
│ └── bridge.py # 数据迁移桥接器
│
├── tests/ # 测试
│ ├── test_data_layer/
│ ├── test_analysis_layer/
│ ├── test_engine_layer/
│ ├── test_output_layer/
│ └── test_integration/
│
├── docs/ # 文档
│ └── superpowers/
│ ├── specs/ # 设计规范
│ └── plans/ # 实施计划
│
├── pyproject.toml # 项目配置
└── README.md # 本文件
MIT License
欢迎提交 Issue 和 Pull Request。请确保:
- 代码风格符合项目规范
- 新功能包含相应测试
- 提交信息清晰明确
全新架构升级:
- 四层架构设计(数据层、分析层、引擎层、输出层)
- 职业配置驱动的能力分析
- 多源数据采集支持(监控软件、AI 对话)
- 可替代率评估引擎
- 能力 Skill 生成器
- 多形态输出(培训、Agent、知识库、交接)
- 6 种预置职业配置
- 119 个测试用例全覆盖