MS-Agent框架的AgentSkills模块是对Anthropic-Agent-Skills

协议的实现(Beta版本)。

Agent Skills实现了多层次渐进式上下文加载机制,有效管理技能的发现与执行:

Level 1 (Metadata): 仅加载技能元数据(名称、描述)以进行语义搜索

Level 2 (Retrieval): 检索相关技能并加载SKILL.md全文

Level 3 (Resources): 进一步加载技能所需的参考资料和资源文件

Level 4 (Analysis|Planning|Execution): 分析技能上下文,自主制定计划和任务列表,并加载所需资源和运行相关脚本

这种方法在提供全面技能能力的同时,最大限度地减少资源消耗。

核心组件

组件

描述

AgentSkill

主流程

SkillLoader

加载和管理技能

Retriever

使用语义搜索查找相关技能

SkillContext

技能上下文管理

ScriptExecutor

技能执行模块

SkillSchema

技能Schema定义

  1. 主要特性

    📜 标准技能协议:完全兼容 Anthropic Skills

协议

🧠 启发式上下文加载:仅按需加载必要上下文(如 References、Resources 和 Scripts)

🤖 自主执行能力:智能体可根据技能定义,自主分析、规划并决策需调用的脚本与资源

🔍 技能管理支持:支持批量加载技能,并能根据用户输入自动检索与发现相关技能

🛡️ 代码执行环境:可选本地直接执行代码,或通过 ms-enclave

提供的安全沙箱执行(自动安装依赖、实现环境隔离)

📁 多文件类型支持:支持文档、脚本与资源文件等多种类型

🧩 可扩展设计:技能数据结构模块化,提供如 SkillSchema 和 SkillContext 等实现,便于扩展与定制
3) 安装

Install from PyPI

pip install ‘ms-agent>=1.4.0’

Install from Source

git clone git@github.com:modelscope/ms-agent.git
cd ms-agent
pip install -e .

Configuration

export OPENAI_API_KEY=“your-api-key”
export OPENAI_BASE_URL=“your-base-url”

  1. 使用方法

    下面是一个实现流场粒子艺术生成的示例

import os
from ms_agent.agent import create_agent_skill


def main():
    """
    Main function to create and run an agent with skills.
    """
    work_dir: str = './temp_workspace'
    # Refer to `https://github.com/modelscope/ms-agent/tree/main/projects/agent_skills/skills`
    skill_id_or_dir: str = './skills'
    use_sandbox: bool = True

    ## Configuration for ModelScope API-Inference, or set your own model with OpenAI API compatible format
    ## Free LLM API inference calls for ModelScope users, refer to [ModelScope API-Inference](https://modelscope.cn/docs/model-service/API-Inference/intro)
    model: str = 'Qwen/Qwen3-235B-A22B-Instruct-2507'
    api_key: str = 'xx-xx'  # For ModelScope users, refer to `https://modelscope.cn/my/myaccesstoken` to get your access token
    base_url: str = 'https://api-inference.modelscope.cn/v1/'

    agent = create_agent_skill(
        # Use a skill from ModelScope Hub by its ID. A list of IDs is also supported. e.g. `ms-agent/skill_examples`
        # To use local skills, provide the path to the directory, e.g., skills='./skills'
        # For more details on skill IDs, see: https://modelscope.cn/models/ms-agent/skill_examples
        skills=skill_id_or_dir,
        model=model,
        api_key=os.getenv('OPENAI_API_KEY', api_key),
        base_url=os.getenv('OPENAI_BASE_URL', base_url),
        stream=True,
        # Note: Make sure the `Docker Daemon` is running if use_sandbox=True
        use_sandbox=use_sandbox,
        work_dir=work_dir,
    )

    user_query: str = ('Create generative art using p5.js with seeded randomness, flow fields, and particle systems, '
                       'please fill in the details and provide the complete code based on the templates.')

    response = agent.run(query=user_query)
    print(f'\n\n** Agent skill results: {response}\n')


if __name__ == '__main__':

    main()

    skill_id_or_dir: 支持传入本地技能目录路径,或从ModelScope Hub加载技能ID。

        skill_id_or_dir (str): 示例: 'path/to/skill-directory', 'ms-agent/skill_examples', 'ma-agent/skill_examples/pdf' (格式为 owner/skill_name or owner/skill_name/subfolder)
    参考 AgentSkillExamples

本地执行

若 use_sandbox=False,技能脚本将在本地环境中直接执行

请确保您信任该技能脚本,以避免潜在的安全风险

请确保本地 Python 环境中已安装脚本所需的全部依赖项

沙箱执行

若 use_sandbox=True,技能脚本将通过 ms-enclave

在隔离的 Docker 容器中执行

该方式提供安全的执行环境,可有效防止对宿主系统造成潜在危害

请确保您的机器上已安装 Docker,并且 Docker 服务(Docker Daemon)正在运行

沙箱环境将根据技能声明的依赖项自动安装所需依赖,无需手动配置
在这里插入图片描述

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐