新闻详情

新闻详情

首页 / 资讯中心 / 详情

大模型Agent Skills

发布时间:2026/9/29 10:57:49来源:尧图网络
大模型Agent Skills
目录一、Agent Skills环境搭建二、生成创意图片的Skill 目录结构搭建 1. 编写主文件 SKILL.md 2. 编写参考文档 references/prompt_guide.md 3. 编写辅助脚本 scripts/generate.py 4. 添加资源文件 assets/style_sample.txt总结 1. SKILL.md触发与流程控制CEO 2. references/prompt_guide.md按需查阅的资料库字典 3. assets/style_sample.txt预设的静态素材色卡 4. 如何提问触发prompt_guide.md三、创建Skill的Skill️ 第一步安装 skill-creator 第二步让 skill-creator 帮你生成言情小说 Skill✍️ 第三步使用你生成的 Skill 来写小说四、Agent Skills实现PDF多模态图文PDF解析 Skill 目录结构 脚本一scripts/load_pdf.py 脚本二scripts/vlm_summarize.py 主文件 SKILL.md一、Agent Skills环境搭建搭建环境是第一步以下流程以在 Windows 上安装为例安装 VS Code直接前往官网下载并安装即可作为后续创建文件的编辑器。安装 Claude Code在终端中执行安装命令完成后可通过 claude --version 验证是否安装成功。如果使用 WinGet可直接运行 winget install Anthropic.ClaudeCode。如果使用 PowerShell可执行 irm https://claude.ai/install.ps1 | iex。安装并配置 CC Switch下载 CC Switch 的安装包或便携版后打开软件。它的核心作用是配置模型切换。例如你可以通过CC Switch 添加 SiliconFlow 或 DeepSeek 等供应商配置自定义 API 地址和密钥。之后在 CC Switch 中点击“启用”Claude Code 就能在不重启终端的情况下直接使用新模型。二、生成创意图片的Skill 目录结构搭建~/.claude/└── skills/#Skills根目录 └── twen-creative/# 你的Skill目录 ├──SKILL.md # 主文件必需 ├── references/# 提示词参考文档 │ └── prompt_guide.md ├── scripts/# 辅助脚本 │ └── generate.py └── assets/# 资源文件 └── style_sample.txt 1. 编写主文件 SKILL.md---name:twen-creative description:根据用户的中文描述生成富有创意和视觉冲击力的图片。适用于用户要求生成图片、画一张图、创意配图等场景。---# 创意图片生成器 ## 角色 你是一位顶级的AI绘画提示词工程师擅长将抽象的中文概念转化为高质量、风格化的英文提示词并调用工具生成图片。 ## 工作流程1.**需求理解**分析用户描述的场景、主体、风格和情绪。2.**提示词优化**参考 references/prompt_guide.md 中的规范将中文描述转化为精炼的英文Prompt。3.**调用工具**使用 scripts/generate.py 脚本传入优化后的Prompt和参数来生成图片。4.**结果反馈**返回生成图片的保存路径并简要说明你的创作思路。 ## 关键规则-必须包含 --style 参数可选值realistic/anime/oil-painting/cyberpunk。-如果用户没有指定风格默认使用 realistic。-如果用户描述了具体场景提示词中必须包含光影和构图的描述。-脚本执行失败时检查APIKey是否配置在环境变量 IMAGE_API_KEY 中。 ## 示例**用户输入**帮我画一只在赛博朋克城市里飞行的龙。**执行流程**1.提取关键词龙dragon、赛博朋克城市cyberpunk city、飞行flying。2.参考 references/prompt_guide.md 的构图模板。3.调用脚本执行 bash python scripts/generate.py--promptA majestic dragon flying over a neon-lit cyberpunk city, glowing scales, rain, cinematic lighting, 8k--style cyberpunk 2. 编写参考文档 references/prompt_guide.md---### 2.编写参考文档 references/prompt_guide.md 在 references 文件夹下新建 prompt_guide.md用来存放具体的提示词规范AI按需读取不占用默认上下文 markdown # 提示词编写参考指南 ## 通用结构[主体][动作/状态][环境][光影][风格/画质]## 光影关键词-电影级布光cinematic lighting-柔和的晨光soft morning light-赛博朋克霓虹neon lights,cyberpunk style-逆光剪影backlighting,silhouette ## 构图关键词-广角wide angle shot-特写close-up,macro shot-俯视birds-eye view-低角度low angle shot ## 画质增强-8K,ultra-detailed,masterpiece,best quality,sharp focus 3. 编写辅助脚本 scripts/generate.py在 scripts 文件夹下新建 generate.py用来实际调用图片生成 API这里以通用的占位代码为例importargparseimportosimportrequestsdefgenerate_image(prompt:str,style:str):api_keyos.getenv(IMAGE_API_KEY)ifnotapi_key:raiseValueError(请先设置环境变量 IMAGE_API_KEY)# 这里替换为你实际使用的图片生成 API 地址urlhttps://api.example.com/v1/images/generationsheaders{Authorization:fBearer{api_key}}payload{prompt:prompt,style:style,n:1,size:1024x1024}responserequests.post(url,jsonpayload,headersheaders)response.raise_for_status()dataresponse.json()image_urldata[data][0][url]print(f图片生成成功{image_url})returnimage_urlif__name____main__:parserargparse.ArgumentParser()parser.add_argument(--prompt,requiredTrue,help英文提示词)parser.add_argument(--style,defaultrealistic,help风格)argsparser.parse_args()generate_image(args.prompt,args.style) 4. 添加资源文件 assets/style_sample.txt赛博朋克风格参考色板-主色#FF00FF霓虹粉-辅色#00FFFF霓虹青-背景#0A0A1A深空黑总结 1. SKILL.md触发与流程控制CEO这是 Skill 的核心。AI 每次启动都会看它至少看它的 YAML 头部。它的最大作用告诉 AI “什么时候该用我” 和 “第一步第二步干什么”。通俗理解它就像一份员工手册。当用户说“帮我画一张赛博朋克风格的猫”时AI 会先看 SKILL.md 头部的 description发现符合条件然后读取正文得知“我需要把中文翻译成英文提示词然后调用 scripts/generate.py”。关键特征它必须保持精简。如果 SKILL.md 里写满了 2000 行的 API 格式说明AI 每次启动都会被撑爆上下文反应变慢。 2. references/prompt_guide.md按需查阅的资料库字典它是 SKILL.md 的外挂资料库用来存放那些“体积大、但只有特定时候才需要”的内容。它的最大作用解决 SKILL.md 不敢写太长的问题。它不参与流程控制只提供专业参考。通俗理解在 SKILL.md 里我们写了一句提示“请参考 references/prompt_guide.md 中的规范”。当 AI 需要写提示词时它才会主动去打开这个文件里面写着“电影级布光用 cinematic lighting逆光用 backlighting”。如果用户只是问“你能画图吗”AI 就完全不会去读这个文件从而节省算力。关键特征它是纯知识性的写的是规则、术语、API 文档。AI 读了它是为了“知道怎么做得更好”。 3. assets/style_sample.txt预设的静态素材色卡它是提供现成数据或参数的仓库通常是给 AI 或脚本直接拿来用的固定值。它的最大作用避免每次生成时都“从零开始描述”。它提供的是原材料。通俗理解在我们的例子里它存放了赛博朋克的参考色板#FF00FF、#00FFFF。假如 AI 每次都要自己编颜色可能每次编的粉色调都不一样。有了这个文件AI 或脚本可以直接“拿”这个色板当参数。它就像是画家的颜料盘不用每次现调色。关键特征它是静态的、数据型的可以是颜色值、模板文件、示例图片等。 4. 如何提问触发prompt_guide.md要让 AI 真正去读 references/prompt_guide.md 并调用整个 Skill用户的提问必须包含具体的创作需求也就是带有“画什么、什么风格、什么场景”这类任务指令。✅ 能触发 Skill 的提问方式只要句子能命中 description 里的关键词生成图片、画一张图、创意配图等并且有明确的动作对象AI 就会启动“帮我画一只在赛博朋克城市里飞行的龙。”“生成一张雨夜霓虹灯下的猫的图片。”“给我做一张创意配图主题是孤独的宇航员。”这些提问的共同点是动词画/生成/做 具体主体龙/猫/宇航员 场景/风格。AI 看到这些就会认定“这是一个真实的绘图任务”于是加载 SKILL.md 正文然后顺着里面的引用去读 references/prompt_guide.md最后调用 scripts/generate.py。三、创建Skill的SkillAnthropic 官方就提供了专门用来创建 Skill 的 Skill叫做skill-creator。用 skill-creator 帮你生成言情小说 Skill流程其实很简单你只管用大白话描述需求它负责把需求翻译成结构化文件然后你再“使用”生成出来的 Skill 去写小说。整个过程分成三步安装 → 生成 Skill → 使用 Skill 写小说。️ 第一步安装 skill-creatorskill-creator 本身也是一个 Skill专长是“造其他 Skill”。安装方式如下在 Claude Code 的终端里执行/plugin marketplace add anthropics/skills安装后在插件列表里选择 example-skills 包里面就包含 skill-creator。装好后输入 /skills 能看到它描述写着“Create new skills, modify and improve existing skills…”就说明安装成功了。 第二步让 skill-creator 帮你生成言情小说 Skill安装完成后你不需要手动写任何文件。直接在 Claude Code 里说“我想创建一个 Skill用来写言情小说。当用户提到‘写言情’、‘言情故事’、‘感情戏’或‘甜文/虐文’时触发。它应该能帮用户设计人物关系、推进感情线、写出有张力的对话。请帮我创建。”skill-creator 会像“向导”一样反过来问你几个问题帮你把需求细化“这个 Skill 具体要让 Claude 能干什么” —— 你可以回答负责从人物设定、情节节奏到对话细节的全流程言情创作。“用户会在什么场景下说哪些话触发它” —— 你可以列举“写一段甜文”、“帮我设计男女主相遇情节”、“写个追妻火葬场”等。“你期望的输出格式是什么” —— 比如“先给人物小传再写正文片段结尾留钩子”。“要不要生成测试用例来验证它能正常工作” —— 选“是”它会自动帮你测试触发是否准确。回答完问题后skill-creator 会自动帮你生成完整的目录结构~/.claude/skills/└── romance-novel/├──SKILL.md # 触发条件和写作流程 ├── references/# 可以参考的剧情模式、情绪范例 └── assets/# 对话样本、场景模板✍️ 第三步使用你生成的 Skill 来写小说Skill 生成后它会自动放在 ~/.claude/skills/ 目录下Claude Code 重启后会加载它。接下来你只需要像正常说话一样说出触发词“写一段言情小说男女主在雨夜便利店初遇男主是落魄画家女主是加班到崩溃的社畜。”Claude Code 会自动识别到你在要求言情创作触发你刚生成的 romance-novel Skill然后按照 SKILL.md 里定义的流程先确认情感基调再参考 references/ 里的剧情模式最后动笔写。如果你想要更省事的方案也可以直接安装社区现成的言情小说 Skill比如 novel-skill支持从概念到 EPUB 的完整流程不需要自己造。对于大部分 Skill你可以直接把 GitHub 地址发给 Claude Code它就能自己完成安装“帮我安装这个 skillhttps://github.com/zenstory-ai/oh-story-claudecode”四、Agent Skills实现PDF多模态图文PDF解析 Skill 目录结构~/.claude/skills/pdf-loader/├── SKILL.md └── scripts/├── load_pdf.py# 加载 PDF提取文字 图片├── vlm_summarize.py# 调用多模态模型理解图片└── requirements.txt 脚本一scripts/load_pdf.py负责把 PDF 的文本和图片分开提取出来importsysimportjsonimportbase64importfitz# PyMuPDFfromlangchain_community.document_loadersimportPyPDFLoaderdefextract_text_pages(pdf_path:str):用 PyPDFLoader 提取原生文本页loaderPyPDFLoader(pdf_path)pagesloader.load() ① enumerate(pages) pages 是 loader.load() 返回的文档列表每个元素是一个 Document 对象p。enumerate 会给这个列表加上索引i 从 0 开始p 是当前的文档对象。 ② for i, p in enumerate(pages) 这是循环语法遍历 pages每次循环拿到索引 i 和文档对象 p。 ③ {page: ..., content: ...} 这是每次循环要生成的新字典有两个键 page页码。p.metadata.get(page, i) 的意思是“优先从文档的元数据里取 page 字段如果取不到就用循环索引 i 作为兜底”。 content文本内容。直接取 p.page_content。 ④ 最外层的 [...] 表示把所有循环生成的字典收集成一个列表返回。return[{page:p.metadata.get(page,i),content:p.page_content}fori,pinenumerate(pages)]defextract_images(pdf_path:str,min_size100):用 PyMuPDF 提取 PDF 里的图片转成 base64docfitz.open(pdf_path)images[]forpage_num,pageinenumerate(doc):forimg_index,imginenumerate(page.get_images(fullTrue)):xrefimg[0]base_imagedoc.extract_image(xref)image_bytesbase_image[image]extbase_image[ext]# 过滤太小的图片图标等iflen(image_bytes)min_size*1024:continueimages.append({page:page_num,index:img_index,format:ext,base64:base64.b64encode(image_bytes).decode(utf-8)})doc.close()returnimagesdefmain():iflen(sys.argv)2:print(用法: python load_pdf.py pdf文件路径)sys.exit(1)pdf_pathsys.argv[1]result{text_pages:extract_text_pages(pdf_path),images:extract_images(pdf_path)}print(json.dumps(result,ensure_asciiFalse))if__name____main__:main() 脚本二scripts/vlm_summarize.py这就是截图里的核心代码把图片传给多模态模型让它“看”importosimportsysimportjsonfromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessagedefbuild_llm():构建多模态模型兼容 OpenAI 接口也支持 DeepSeek 等returnChatOpenAI(modelgpt-4o-mini,temperature0,api_keyos.environ.get(OPENAI_API_KEY),base_urlos.environ.get(OPENAI_API_BASE),)defsummarize_image(base64_image:str,prompt:str)-str:把 base64 图片和文字 query 一起发给多模态模型llmbuild_llm()messageHumanMessage(content[{type:text,text:prompt},{type:image_url,image_url:{url:fdata:image/jpeg;base64,{base64_image}}},])responsellm.invoke([message])returnresponse.contentdefmain():iflen(sys.argv)2:print(用法: echo base64 | python vlm_summarize.py)sys.exit(1)input_datajson.loads(sys.stdin.read())base64_imageinput_data[base64]promptinput_data.get(prompt,请描述这张图片里的内容特别是图表或数据。)resultsummarize_image(base64_image,prompt)print(json.dumps({summary:result},ensure_asciiFalse))if__name____main__:main() 主文件 SKILL.md---name:pdf-loader description:加载 PDF 文档自动区分原生文本页和扫描件图片型并调用多模态模型理解图片内容。适用于用户上传 PDF、需要读取扫描件、或需要从图表中提取信息的场景。---# 多模态 PDF 加载器## 工作流程1.运行 scripts/load_pdf.pypdf路径同时提取文本页和图片。2.检查输出 JSON-如果 text_pages 里有内容直接使用。-如果某页文本为空但 images 里有对应页的图片说明是扫描件需要走多模态。3.对扫描件页面把图片的 base64 传给 scripts/vlm_summarize.py让模型“看”图片并生成描述。4.把文本内容和图片描述合并作为最终提取结果。## 调用示例bash# 第一步提取文本和图片python scripts/load_pdf.py scan.pdfextracted.json# 第二步对图片调用多模态模型echo{base64: ...}|python scripts/vlm_summarize.py注意事项需要安装依赖pip install langchain-community pypdf pymupdf langchain-openai多模态模型需要配置 OPENAI_API_KEY 和 OPENAI_API_BASE。如果 PDF 页数很多建议只对文本为空的页面调用多模态节省 token。### 完整流程Agent 实际执行时当你对 Claude Code 说“帮我读取这个扫描件 PDF”时Agent 会1.调用 load_pdf.py拿到 JSON 结果。2.发现 text_pages 内容为空或很少images 里有大量图片。3.把图片的 base64 逐张传给 vlm_summarize.py并附上问题比如“这页讲的是什么”。4.收集所有图片的摘要加上已有的文本合并成最终的文档内容。5.把结果返回给你或者存入向量数据库。### 和截图代码的对应关系截图里演示的是-llmChatOpenAI(...) → 对应脚本里的 build_llm()-HumanMessage(content[{type:text},{type:image_url}]) → 对应 summarize_image() 里的 message-responsellm.invoke([message]) → 对应脚本里的 llm.invoke([message])**截图是“单张图片单个问题”的演示我把它封装成了可以批量处理 PDF 图片的脚本。**核心逻辑完全一致只是加上了 PDF 解析和结果合并的步骤。### ⚠️ 一点提醒如果你的 PDF 是**图片型扫描件**PyPDFLoader 提取出来会是空的这时候 images 里的图片就是关键。但如果 PDF 是**原生文本少量插图**那么大部分内容已经通过 text_pages 拿到了只需要对少数插图调用多模态模型即可不必每页都调用这样可以大幅节省 token 成本。待完善。。。。。。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

如何把 Java 仓库改造成 AI Native?用 AGENTS.md 与 Spring Modulith 落地 2026/9/29 12:16:20

如何把 Java 仓库改造成 AI Native?用 AGENTS.md 与 Spring Modulith 落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
从0到1实现一个基于标准IO传输的MCP SDK:TaoToken统一Key接入与stdio配置实战 2026/9/29 12:16:19

从0到1实现一个基于标准IO传输的MCP SDK:TaoToken统一Key接入与stdio配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GitHub开源项目日报 · 2026年8月25日 · AI编码助手领跑开源热榜:用TaoToken统一Key跑通Claude Code与Codex CLI 2026/9/29 12:16:13

GitHub开源项目日报 · 2026年8月25日 · AI编码助手领跑开源热榜:用TaoToken统一Key跑通Claude Code与Codex CLI

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
2026 本周汇总:TaoToken 统一 Key 接入 Cline 的 settings.json 配置骨架与报错排查 2026/9/29 12:16:13

2026 本周汇总:TaoToken 统一 Key 接入 Cline 的 settings.json 配置骨架与报错排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Claude技能构建指南|第二章 规划与设计:用YAML与SKILL.md搭好技能骨架 2026/9/29 12:15:53

Claude技能构建指南|第二章 规划与设计:用YAML与SKILL.md搭好技能骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
蓝队云部署OpenClaw深度指南:TaoToken统一Key接入、避坑与安全配置实战 2026/9/29 12:15:53

蓝队云部署OpenClaw深度指南:TaoToken统一Key接入、避坑与安全配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉