| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 |
Skill Creator
使用 LLM 智能生成和优化 AI Agent Skills。
快速开始
from openjiuwen.dev_tools.skill_creator import SkillCreator
from openjiuwen.core.foundation.llm.schema.config import (
ModelClientConfig,
ModelRequestConfig,
)
# 配置模型客户端
client_config = ModelClientConfig(
client_provider="SiliconFlow", # 支持 OpenAI, SiliconFlow
api_key="your-api-key",
api_base="siliconflow_url",
verify_ssl=False,
)
# 配置模型请求参数
request_config = ModelRequestConfig(
model="Pro/zai-org/GLM-4.7",
temperature=0.7,
)
# 创建 SkillCreator 实例
creator = SkillCreator(
model_client_config=client_config,
model_request_config=request_config,
)
# 创建新 Skill
skill = await creator.generate(
mode="create",
name="my-new-skill",
description="A skill for handling data analysis tasks",
output_path="./skills",
skill_type="workflow"
)
# 优化现有 Skill(默认全面优化)
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill",
auto_apply=True # 自动保存更改
)
# 指定优化方向进行针对性优化
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill",
optimization_direction="优化 workflow 流程,使其更加清晰简洁,并增加错误处理步骤",
auto_apply=True
)
# 查看优化结果
for change in result.changes:
print(f" ✓ {change}")
API 参考
SkillCreator()
创建 SkillCreator 实例,需要传入模型配置。
from openjiuwen.core.foundation.llm.schema.config import (
ModelClientConfig,
ModelRequestConfig,
)
client_config = ModelClientConfig(
client_provider: str, # 提供商:OpenAI, SiliconFlow
api_key: str, # API 密钥
api_base: str, # API 地址
verify_ssl: bool, # 是否验证 SSL,默认 True
)
request_config = ModelRequestConfig(
model: str, # 模型名称
temperature: float, # 温度参数,默认 0.7
)
creator = SkillCreator(
model_client_config=client_config,
model_request_config=request_config,
)
creator.generate()
统一的生成/优化方法,通过 mode 参数控制操作类型。
result = await creator.generate(
mode: str, # "create" 创建新 Skill,"optimize" 优化现有 Skill
# 创建模式参数 (mode="create")
name: str, # Skill 名称 (hyphen-case)
description: str, # Skill 描述/需求
output_path: str, # 输出目录
skill_type: str = "workflow", # 类型:workflow/task/reference/capabilities
# 优化模式参数 (mode="optimize")
skill_path: str, # Skill 目录路径
optimization_direction: str = None, # 优化方向说明(可选)
auto_apply: bool = False, # 是否自动保存更改
)
返回值:
- 创建模式 (
mode="create"): 返回SkillContent - 优化模式 (
mode="optimize"): 返回SkillOptimizationResult
创建模式参数说明
skill_type 参数说明:
| 类型 | 适用场景 | 结构特点 |
|---|---|---|
workflow |
顺序流程、步骤明确的任务 | Overview → Step 1 → Step 2 → Step 3... |
task |
工具集合、多种操作 | Overview → Quick Start → Task 1 → Task 2... |
reference |
标准规范、指南文档 | Overview → Guidelines → Specifications → Usage |
capabilities |
多功能集成系统 | Overview → Core Capabilities → Feature 1 → Feature 2... |
创建示例:
# 创建数据分析流程 Skill(顺序步骤)
skill = await creator.generate(
mode="create",
name="data-analysis",
description="Analyze Excel files step by step",
output_path="./skills",
skill_type="workflow" # 适合有明确步骤的流程
)
# 创建文件处理工具集 Skill(多种操作)
skill = await creator.generate(
mode="create",
name="file-processor",
description="Various file processing operations",
output_path="./skills",
skill_type="task" # 适合多种独立操作
)
# 创建编码规范 Skill(参考文档)
skill = await creator.generate(
mode="create",
name="coding-standards",
description="Company coding guidelines",
output_path="./skills",
skill_type="reference" # 适合规范文档
)
优化模式参数说明
optimization_direction 参数说明:
- 不提供时,按照默认规则进行全面优化(description、workflow、移除占位符等)
- 提供时,按照用户指定的方向进行针对性优化
优化示例:
# 默认全面优化
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill"
)
# 指定优化方向
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill",
optimization_direction="优化 workflow 流程,使其更加清晰简洁"
)
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill",
optimization_direction="改进 description,突出数据分析和报表生成能力"
)
result = await creator.generate(
mode="optimize",
skill_path="./skills/my-skill",
optimization_direction="增加错误处理步骤,并添加更多代码示例",
auto_apply=True
)
# 优化结果
# result.original - 原始内容
# result.optimized - 优化后内容
# result.changes - 变更列表
目录结构
skill_creator/
├── __init__.py # 模块入口
├── base.py # 基础数据结构
├── skill_creator.py # 核心实现
├── use_example/ # 使用示例
│ └── skill_create_use.py
└── README.md # 文档
LLM 配置
使用 openjiuwen.core.foundation.llm 模块的配置类:
-
ModelClientConfig: 模型客户端配置client_provider: 支持OpenAI,SiliconFlowapi_base: API 地址api_key: API 密钥verify_ssl: 是否验证 SSL
-
ModelRequestConfig: 模型请求配置model: 模型名称temperature: 温度参数