AI编程_claude的skills和nanobot

个人助手

copaw
nanobot

Tools

工具调用是 Claude Code 与外部世界交互的机制。通过工具调用
 内置工具集	
    搜索工具      文件操作工具   命令执行工具
    项目管理工具  集成工具
 集成工具#  多层权限控制  权限配置文件
    MCP		    模型上下文协议集成,与外部服务交互
    Plugins	    插件工具,扩展 Claude 功能
    Skills	    技能工具,提供特定领域的专业知识
    APIClient	API 客户端,与外部 API 交互	

扩展工具调用:

    Plugins : 插件: 创建自定义插件
	          Plugins 工具用于加载和管理插件,扩展 Claude 的功能
    Skills  : 开发技能
    MCP     : 集成 MCP 服务器	
	
Claude Code 支持两种主要的自定义工具开发方式:
    插件工具和技能工具 
    plugins: plugin.json 是插件的核心配置文件
          commands skills tools  dependencies

    技能文件采用 YAML 格式,包含元数据和技能定义

plugin-插件

    # 打包插件
    claude plugin package my-plugin
    
    # 生成插件包
    my-plugin-1.0.0.claude-plugin
		 
    # 启动调试模式
    claude plugin debug my-plugin
    
    # 查看日志
    claude plugin logs my-plugin	 

Skill

 技能定义文件 (SKILL.md)
    Skills 的核心是一个简单的文件夹结构,包含一个必需的 SKILL.md 文件。
	  这个文件使用  YAML 前置元数据和 Markdown 指令来 定义 Skill 的功能和使用方式
skill-name/
    ├── SKILL.md          # 必需
    ├── scripts/          # 可选:可执行代码
    ├── references/       # 可选:附加文档
    └── assets/           # 可选:模板和资源
比较
  Skills
     :知识和工作流的封装机制,专注于AI代理能力的扩展和专业知识的组织
	  实现方式: 文件夹结构 + YAML + Markdown	协议规范和API
      Claude Code生态系统		  
	 
  MCP
     :通信协议标准,用于AI模型与外部工具、数据源和服务之间的标准化交互
 
  插件:需要编程实现的系统集成 

考虑因素

 使用异步操作
 实现重试机制
 处理 API 限制
 缓存 API 响应

Skill

1.一种通用的能力封装机制,旨在为AI助手提供可复用的专业技能 
 Skills  把“提示词”+“执行脚本”+“上下文优化”打包在一起的超级工具包
       构建企业级的通用Agent系统时,Skills的真正价值开始显现

 Commands提供了即时响应。它的设计哲学是"所见即所得"——输入一个指令,立即获得预期结果
 SubAgent(子代理)则处理更复杂的编程任
    开发者习惯的角度看 Commands的简洁性和SubAgent的专业性都符合这种偏好
	 相应的工具链和工作流程也相对稳定
使用模式是单一用户、单一会话——一个开发者在一个项目中持续工作,上下文相对连续且单一。
     在这种模式下,能力复用的需求并不强烈-在个人开发场景中,缺乏大规模复用和协作的需求

2.场景转换带来的新挑战
    从个人工具到企业级系统的跨越
    在Agent研发场景中,Skills找到了自己的真正使命:解决模型泛化能力与用户具象意图之间的鸿沟
 接口描述"——Skill能做什么、需要什么参数、会返回什么结果
 
3.**渐进式披露(按需加载)**是Skills的核心机制 
   Skills方案把AI看作"智能代理",赋予其在运行时根据情况选择合适工具的能力

4.如何使用 
    能力复用频率  能力复杂度 协作规模

多agent

单个 Agent 处理多类任务任务太多	
OpenClaw 内实现多 Agent 的核心机制是:
    Agent 是隔离的“脑”:拥有独立 workspace(记忆、技能等均在 workspace 中)、独立 sessions。
    路由到哪个 Agent:由配置里的 bindings 决定(最具体规则优先)。
    每个 Agent 用哪个模型:可在 agents.list[].model 单独配置	

Openai

1. curl http://192.168.1.100:8000/v1/models
    如果返回模型列表,则成功。如果返回错误但能连接 测试内网部署的 OpenAI 兼容 API 是否能够正常连通
2.

curl http://192.168.1.100:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxx" \   
  -d '{
    "model": "your-model-name",
    "messages": [{"role": "user", "content": "你好,介绍一下自己"}],
    "temperature": 0.7
  }'

NanoBot

 NanoBot 如何使用最小骨架来运行 Agent——并使其可读、可修改和可控
 使用的 liteLLM 是由BerriAI开发的开源工具,于2024年5月2日发布首个稳定版本。
 该工具通过标准化OpenAI格式接口,支持对20多种大型语言模型(LLM)API的统一调用
     OpenClaw 给你产品,NanoBot 给你骨架
	 "vllm" 这个 provider 配置项(因为它本质上是连接任何兼容 OpenAI API 的服务)
	 
5.1 提供商配置#
    nanobot 支持多种 LLM 提供商,包括	 
	   vllm(本地,任何 OpenAI 兼容服务器)

模型部署

硬件配置	推荐方案	理由
	单卡 ≤ 24GB,仅供个人/小团队使用	Ollama	部署简单,量化模型显存占用低,启动快
	单卡 ≥ 24GB,多人同时使用			vLLM	并发处理能力强,nanobot通过OpenAI接口对接最方便
vLLM(Virtual Large Language Model)
	      将vLLM集成到应用程序中。这可以通过OpenAI SDK或其他HTTP客户端库来实现。
		  向vLLM服务器发送请求,并接收模型生成的响应,从而完成与大型语言模型的交互

LiteLLM作为一个AI模型调用抽象层,其核心功能之一是为开发者提供统一的模型调用接口,同时透明地处理不同供应商的定价差异。
   项目中的model_prices_and_context_window.json文件就是这个功能的关键实现部分,它包含了所有支持模型的价格和上下文窗口信息。
	
使用本地文件:

   export LITELLM_LOCAL_MODEL_COST_MAP=True
   此时 LiteLLM 会读取  litellm 目录下的 model_prices_and_context_window_backup.json 文件,不会访问网络。
      一般位于lib/python3/site-packages/litellm/ 目录下的
	LiteLLM 支持与主流的 密钥管理服务(Secrets Manager) 集成,允许你将凭据存储在企业级的密钥管理服务中,而不是 LiteLLM 的数据库中

参考

 https://claudecode.tangshuang.net/tutorial/
 https://www.jiajiewu.top/blog/authors/jiajiewu	 
 https://github.com/HKUDS/nanobot
 nanobot 安装教程	  https://chuna2.787528.xyz/ghimi/p/19643992
 https://github.com/BerriAI/litellm/blob/main/litellm/litellm_core_utils/get_model_cost_map.py
 https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json
posted @ 2026-03-04 18:06  辰令  阅读(106)  评论(0)    收藏  举报