taolib.testing.multi_agent.skills.manager#

技能管理器。

统一管理技能的执行、评估和探索。

Attributes#

Classes#

SkillManager

技能管理器。

Functions#

get_skill_manager(→ SkillManager)

获取全局技能管理器。

set_skill_manager(→ None)

设置全局技能管理器。

Module Contents#

class taolib.testing.multi_agent.skills.manager.SkillManager(registry: taolib.testing.multi_agent.skills.registry.SkillRegistry | None = None, llm_manager: taolib.testing.multi_agent.llm.LLMManager | None = None)#

技能管理器。

_registry = None#
_llm_manager = None#
_skill_documents: Dict[str, taolib.testing.multi_agent.models.SkillDocument]#
_execution_history: List[Dict[str, Any]] = []#
register_skill(skill: taolib.testing.multi_agent.skills.protocols.Skill, document: taolib.testing.multi_agent.models.SkillDocument | None = None) None#

注册技能。

参数:
  • skill -- 技能实例

  • document -- 技能文档,如果为None则自动创建

抛出:

SkillError -- 技能已存在

get_skill(skill_id: str) taolib.testing.multi_agent.skills.protocols.Skill | None#

获取技能。

参数:

skill_id -- 技能ID

返回:

技能实例,如果不存在则返回None

返回类型:

Optional[Skill]

get_skill_document(skill_id: str) taolib.testing.multi_agent.models.SkillDocument | None#

获取技能文档。

参数:

skill_id -- 技能ID

返回:

技能文档,如果不存在则返回None

返回类型:

Optional[SkillDocument]

list_skills(status: taolib.testing.multi_agent.models.SkillStatus | None = None) List[taolib.testing.multi_agent.models.SkillDocument]#

列出技能。

参数:

status -- 技能状态过滤,如果为None则返回所有

返回:

技能文档列表

返回类型:

List[SkillDocument]

async execute_skill(skill_id: str, parameters: Dict[str, Any], agent: Any = None) Any#

执行技能。

参数:
  • skill_id -- 技能ID

  • parameters -- 技能参数

  • agent -- 执行技能的智能体

返回:

执行结果

返回类型:

Any

抛出:

SkillError -- 技能不存在或执行失败

async test_skill(skill_id: str, test_cases: List[Dict[str, Any]]) taolib.testing.multi_agent.models.SkillTestResult#

测试技能。

参数:
  • skill_id -- 技能ID

  • test_cases -- 测试用例列表,每个用例包含parameters和expected

返回:

测试结果

返回类型:

SkillTestResult

async evaluate_skill(skill_id: str, test_cases: List[Dict[str, Any]] | None = None) taolib.testing.multi_agent.models.SkillEvaluation#

评估技能。

参数:
  • skill_id -- 技能ID

  • test_cases -- 测试用例,如果为None则使用文档中的测试用例

返回:

评估结果

返回类型:

SkillEvaluation

async discover_skills(task_description: str, existing_skills: List[str] | None = None) List[str]#

发现完成任务所需的技能。

参数:
  • task_description -- 任务描述

  • existing_skills -- 已有的技能ID列表

返回:

推荐的技能ID列表

返回类型:

List[str]

async create_skill_from_description(skill_create: taolib.testing.multi_agent.models.SkillCreate) taolib.testing.multi_agent.models.SkillDocument#

从描述创建技能。

参数:

skill_create -- 技能创建配置

返回:

创建的技能文档

返回类型:

SkillDocument

备注

这是一个占位实现,实际应该使用LLM生成技能代码

get_execution_history(skill_id: str | None = None, limit: int = 100) List[Dict[str, Any]]#

获取执行历史。

参数:
  • skill_id -- 技能ID过滤,如果为None则返回所有

  • limit -- 返回记录数量限制

返回:

执行历史记录

返回类型:

List[Dict[str, Any]]

taolib.testing.multi_agent.skills.manager._global_manager: SkillManager | None = None#
taolib.testing.multi_agent.skills.manager.get_skill_manager() SkillManager#

获取全局技能管理器。

返回:

技能管理器

返回类型:

SkillManager

taolib.testing.multi_agent.skills.manager.set_skill_manager(manager: SkillManager) None#

设置全局技能管理器。

参数:

manager -- 技能管理器