青浦专业做网站网页打不开图片

张小明 2026/1/11 21:29:05
青浦专业做网站,网页打不开图片,手机网站制作时应该注意的问题,河池个人网站开发公司你有没有想过#xff0c;为什么 AI Agent 明明很聪明#xff0c;却总在关键时刻掉链子#xff1f;答案可能不是它不够聪明#xff0c;而是它缺少一套技能系统。今天我们来聊聊 Anthropic 开源的 Agent Skills——一个让 AI Agent 从什么都会一点变…你有没有想过为什么 AI Agent 明明很聪明却总在关键时刻掉链子答案可能不是它不够聪明而是它缺少一套技能系统。今天我们来聊聊 Anthropic 开源的 Agent Skills——一个让 AI Agent 从什么都会一点变成术业有专攻的开放标准。一、从游戏角色到 AI Agent为什么需要技能系统玩过 RPG 游戏的朋友都知道一个刚出新手村的角色虽然能打能跑但真正让它变强的是后续习得的各种技能。法师学会火球术战士掌握旋风斩每个技能都让角色在特定场景下如虎添翼。AI Agent 也面临同样的问题。现在的大语言模型就像一个博学的通才天文地理无所不知但当你让它处理 PDF 文档、分析财务报表或者执行特定的企业流程时它往往显得力不从心——不是因为它不够聪明而是因为它缺少领域专业知识和可执行的操作指南。这就是 Agent Skills 诞生的背景。它不是要让 AI 变得更聪明而是要给 AI 一套按需加载的专业技能包让它在需要的时候能够调用正确的知识和工具。二、Agent Skills 到底是什么一个文件夹的魔法说到这里你可能会好奇这么高大上的技能系统实现起来得多复杂答案可能会让你大跌眼镜——一个 Skill 就是一个文件夹核心只需要一个SKILL.md文件。没错就这么简单。来看看一个最基础的 Skill 长什么样--- name: pdf-processing description: 从 PDF 文件中提取文本和表格填写表单合并文档。 --- # PDF 处理技能 ## 何时使用此技能 当用户需要处理 PDF 文件时使用此技能... ## 如何提取文本 1. 使用 pdfplumber 进行文本提取... ## 如何填写表单 ...就这样一个完整的技能就定义好了。文件开头是 YAML 格式的元数据frontmatter包含技能的名称和描述后面是 Markdown 格式的详细说明告诉 AI 如何使用这个技能。技能的三层境界Agent Skills 采用了一种巧妙的渐进式披露Progressive Disclosure设计就像游戏里的技能树一样分为三个层次第一层技能目录~100 tokensAgent 启动时只加载所有技能的name和description。这就像游戏里的技能列表你能看到所有可学的技能但还没有详细说明。这一层消耗的上下文极少即使有几十个技能也不会拖慢 Agent。第二层技能说明书 5000 tokens当 Agent 判断某个任务需要用到某个技能时才会加载完整的SKILL.md文件。这就像点开技能详情页看到完整的使用说明、注意事项和示例。第三层技能资源包按需加载如果技能需要执行脚本、查阅参考文档或使用模板这些资源会被放在scripts/、references/、assets/等子目录中只在真正需要时才加载。这种设计非常聪明。想象一下如果把所有技能的完整说明都塞进 Agent 的初始上下文那得消耗多少 tokens而渐进式加载既保证了 Agent 能知道自己有哪些技能又不会在一开始就被海量信息淹没。三、技术架构深度解析简单背后的精妙设计虽然 Agent Skills 的使用很简单但它的设计却处处体现着工程智慧。让我们深入看看它的技术架构。3.1 YAML Frontmatter元数据的艺术每个SKILL.md文件都以 YAML frontmatter 开头这不是随便选的格式。YAML 的可读性强既方便人类编辑也容易被程序解析。规范定义了以下字段--- name: pdf-processing # 必需技能标识符 description: 提取、处理 PDF 文档 # 必需功能描述 license: Apache-2.0 # 可选许可证 compatibility: 需要 Python 3.11 # 可选环境要求 metadata: # 可选自定义元数据 author: example-org version: 1.0 allowed-tools: Bash(git:*) Read # 可选预批准的工具 ---这里有几个设计细节值得注意1. name 字段的严格约束技能名称必须是小写字母、数字和连字符的组合不能以连字符开头或结尾不能有连续的连字符长度不超过 64 个字符。更重要的是技能名称必须与文件夹名称完全一致。为什么这么严格因为这样可以确保技能的可移植性和可预测性。无论在哪个系统上pdf-processing这个技能都是同一个东西不会因为大小写或命名风格不同而产生混淆。2. description 字段的双重职责描述字段不仅要说明技能做什么还要说明何时使用。这是因为 Agent 在初始阶段只能看到这个描述它需要根据描述来判断是否激活这个技能。一个好的描述是这样的description: 从 PDF 文件中提取文本和表格填写 PDF 表单合并多个 PDF。当需要处理 PDF 文档、表单或文档提取时使用。一个糟糕的描述是这样的description: 帮助处理 PDF。前者明确了功能范围和使用场景后者则过于模糊Agent 很难判断何时该用它。3. allowed-tools安全性的前置声明这是一个实验性字段允许技能预先声明它需要使用哪些工具。比如Bash(git:*)表示需要执行 git 相关的 bash 命令Read表示需要读取文件。这个设计很有前瞻性。在生产环境中让 AI 随意执行代码是很危险的。通过预先声明需要的工具可以在技能加载时就进行权限检查而不是等到执行时才发现权限不足。3.2 参考实现skills-ref 库的精巧设计Anthropic 提供了一个 Python 参考实现skills-ref虽然标注为仅供演示但它的代码质量很高值得深入学习。核心模块架构整个库分为几个职责清晰的模块skills_ref/ ├── models.py # 数据模型 ├── parser.py # YAML 解析 ├── validator.py # 验证逻辑 ├── prompt.py # 提示词生成 ├── cli.py # 命令行接口 └── errors.py # 错误定义这种模块划分遵循了单一职责原则每个模块只做一件事而且做得很好。解析器的容错设计看看parser.py中的find_skill_md函数def find_skill_md(skill_dir: Path) - Optional[Path]: 查找技能目录中的 SKILL.md 文件。 优先使用 SKILL.md大写但也接受 skill.md小写。 for name in (SKILL.md, skill.md): path skill_dir / name if path.exists(): return path return None这个函数虽然简单但体现了良好的工程实践规范要求大写但实现上兼容小写。这样既保持了规范的一致性又给用户留了容错空间。验证器的国际化支持再看validator.py中的名称验证def _validate_name(name: str, skill_dir: Path) - list[str]: 验证技能名称格式和目录匹配。 技能名称支持国际化字符Unicode 字母加连字符。 名称必须是小写不能以连字符开头或结尾。 # Unicode 规范化 name unicodedata.normalize(NFKC, name.strip()) # 检查是否小写 if name ! name.lower(): errors.append(f技能名称 {name} 必须是小写) # 检查字符合法性 if not all(c.isalnum() or c - for c in name): errors.append(f技能名称 {name} 包含非法字符)注意这里使用了unicodedata.normalize(NFKC, ...)这是 Unicode 规范化的标准做法。为什么需要规范化因为同一个字符可能有多种 Unicode 表示方式比如带重音的字母规范化可以确保比较的准确性。这个细节说明 Anthropic 在设计时就考虑到了国际化场景不是只为英文环境设计的。提示词生成的 XML 格式prompt.py模块负责生成供 Agent 使用的提示词。它采用了 XML 格式available_skills skill namepdf-processing/name description从 PDF 文件中提取文本和表格/description location/path/to/pdf-processing/SKILL.md/location /skill /available_skills为什么选择 XML 而不是 JSON文档中提到这是 Anthropic 为 Claude 模型推荐的格式但其他实现可以根据自己的模型选择不同的格式。XML 的优势在于它的结构化和可读性对于大语言模型来说XML 标签提供了明确的语义边界比 JSON 的花括号更容易理解。而且 XML 的层次结构天然适合表达这种技能列表的嵌套关系。3.3 CLI 工具开发者的贴心助手skills-ref提供了三个命令行工具# 验证技能格式 skills-ref validate path/to/skill # 读取技能属性输出 JSON skills-ref read-properties path/to/skill # 生成提示词 XML skills-ref to-prompt path/to/skill-a path/to/skill-b这三个命令覆盖了技能开发的完整流程validate在开发过程中随时验证格式是否正确read-properties快速查看技能的元数据输出 JSON 方便集成到其他工具to-prompt生成可以直接粘贴到 Agent 系统提示词中的 XML特别是to-prompt命令它可以一次性处理多个技能目录生成完整的技能列表。这对于集成到 Agent 系统中非常方便。四、集成实战如何让你的 Agent 支持 Skills理解了原理接下来看看如何在实际项目中集成 Agent Skills。根据 Agent 的运行环境有两种主要的集成方式。4.1 基于文件系统的集成推荐方式如果你的 Agent 运行在完整的操作系统环境中比如 Linux、macOS这是最简单也最强大的方式。工作流程技能发现扫描配置的技能目录找到所有包含SKILL.md的文件夹元数据加载解析每个技能的 frontmatter提取 name 和 description注入系统提示词将技能列表以 XML 格式添加到 Agent 的系统提示词中技能激活当 Agent 决定使用某个技能时执行cat /path/to/skill/SKILL.md读取完整说明资源访问通过 shell 命令访问 scripts、references 等资源这种方式的优势在于零额外开销。Agent 本来就需要文件系统访问能力技能只是普通的文件和目录不需要任何特殊的 API 或工具。示例代码Pythonfrom pathlib import Path from skills_ref import read_properties, to_prompt def discover_skills(skills_dir: Path) - list[Path]: 发现所有技能目录 skills [] for item in skills_dir.iterdir(): if item.is_dir() and (item / SKILL.md).exists(): skills.append(item) return skills def build_system_prompt(skills_dirs: list[Path]) - str: 构建包含技能列表的系统提示词 base_prompt 你是一个智能助手可以使用以下技能\n\n skills_xml to_prompt(skills_dirs) instructions 当你需要使用某个技能时 1. 使用 cat 命令读取技能的 SKILL.md 文件 2. 仔细阅读说明理解如何使用 3. 按照说明执行相应操作 4. 如需执行脚本使用 bash 命令运行 scripts/ 目录中的文件 return base_prompt skills_xml instructions # 使用示例 skills discover_skills(Path(/path/to/skills)) system_prompt build_system_prompt(skills)4.2 基于工具的集成如果你的 Agent 没有完整的文件系统访问权限比如纯 API 调用的 Agent需要实现专门的工具来支持技能。需要实现的工具# 工具 1列出可用技能 def list_skills() - dict: 返回所有可用技能的元数据 return { skills: [ { name: pdf-processing, description: 从 PDF 文件中提取文本和表格... }, # ... ] } # 工具 2激活技能 def activate_skill(skill_name: str) - str: 加载技能的完整说明 skill_path SKILLS_DIR / skill_name / SKILL.md return skill_path.read_text() # 工具 3读取技能资源 def read_skill_resource(skill_name: str, resource_path: str) - str: 读取技能的参考文档或其他资源 full_path SKILLS_DIR / skill_name / resource_path return full_path.read_text() # 工具 4执行技能脚本 def execute_skill_script(skill_name: str, script_name: str, args: list) - str: 执行技能的脚本 script_path SKILLS_DIR / skill_name / scripts / script_name # 注意这里需要严格的安全检查 result subprocess.run([script_path] args, capture_outputTrue) return result.stdout.decode()这种方式的优势是安全可控。你可以精确控制 Agent 能访问哪些文件、能执行哪些操作适合对安全性要求较高的场景。4.3 安全性考虑给 AI 权限前先三思让 AI 执行代码听起来很酷但也很危险。在集成技能系统时安全性必须放在首位。几个关键的安全原则沙箱隔离在容器或虚拟机中运行技能脚本限制其访问范围白名单机制只允许执行来自可信来源的技能用户确认对于可能产生副作用的操作删除文件、网络请求等先征得用户同意审计日志记录所有技能的激活和脚本执行便于事后追溯权限最小化技能脚本只应该拥有完成任务所需的最小权限allowed-tools字段就是为安全性设计的。通过预先声明需要的工具可以在加载技能时就进行权限检查def check_skill_permissions(skill: SkillProperties, allowed_tools: set[str]) - bool: 检查技能所需的工具是否被允许 if not skill.allowed_tools: return True # 没有声明工具需求默认允许 required set(skill.allowed_tools.split()) return required.issubset(allowed_tools) # 使用示例 if not check_skill_permissions(skill, {Bash(git:*), Read, Write}): raise PermissionError(f技能 {skill.name} 需要未授权的工具)五、实际应用场景Skills 能解决哪些真实问题说了这么多理论让我们看看 Agent Skills 在实际场景中能发挥什么作用。场景 1企业知识库的智能化问题一家金融公司有复杂的合规审查流程涉及几十个步骤和大量的专业知识。新员工需要几个月才能熟悉而且容易出错。解决方案创建一个compliance-review技能--- name: compliance-review description: 执行金融产品的合规审查流程包括风险评估、文档检查和监管报告生成。 compatibility: 需要访问内部合规数据库 --- # 合规审查技能 ## 审查流程 ### 第一步风险等级评估 1. 检查产品类型参考 references/product-types.md 2. 根据投资金额确定风险等级 3. 使用 scripts/risk-calculator.py 计算风险分数 ### 第二步文档完整性检查 必需文档清单 - 产品说明书 - 风险披露声明 - 投资者适当性评估 ... ### 第三步生成监管报告 使用 scripts/generate-report.py 生成符合监管要求的报告这个技能把公司的专业知识固化下来新员工的 Agent 可以立即使用老员工也不会因为流程复杂而遗漏步骤。场景 2开发工具链的标准化问题一个开发团队使用多种技术栈每个项目的构建、测试、部署流程都不一样新成员经常搞混。解决方案为每种技术栈创建对应的技能--- name: react-project-setup description: 创建和配置 React 项目包括 TypeScript、ESLint、测试框架等标准配置。 --- # React 项目设置技能 ## 创建新项目 使用团队标准模板 bash scripts/create-react-app.sh project-name这会自动配置TypeScript 5.xESLint Prettier团队规则Vitest 测试框架标准的目录结构添加常用依赖参考 references/approved-packages.md 查看团队批准的依赖包列表有了这些技能Agent 可以帮助开发者快速搭建符合团队规范的项目不需要每次都查文档或问同事。 ### 场景 3数据分析的自动化 **问题** 数据分析师每天要处理各种数据源每种数据源的清洗、转换、可视化方法都不同重复劳动很多。 **解决方案** 创建针对不同数据源的技能 markdown --- name: sales-data-analysis description: 分析销售数据生成趋势图表和业绩报告。支持 CSV、Excel 和数据库导出格式。 --- # 销售数据分析技能 ## 数据清洗 使用 scripts/clean-sales-data.py 清洗原始数据 - 去除重复记录 - 标准化日期格式 - 填充缺失的地区信息 ## 生成标准报告 1. 月度销售趋势scripts/monthly-trend.py 2. 区域对比分析scripts/regional-comparison.py 3. 产品排行榜scripts/top-products.py 所有脚本输出符合公司报告模板assets/report-template.xlsx分析师只需要告诉 Agent分析这个月的销售数据Agent 就能自动完成整个流程生成标准化的报告。场景 4多语言文档的一致性维护问题一个开源项目需要维护英文、中文、日文三个版本的文档每次更新都要手动同步容易遗漏。解决方案创建文档同步技能--- name: doc-sync description: 同步多语言文档确保所有版本的结构和内容一致性。 --- # 文档同步技能 ## 检查文档一致性 使用 scripts/check-consistency.py 检查 - 所有语言版本是否有相同的章节结构 - 代码示例是否一致 - 链接是否都有效 ## 同步更新 当英文文档更新后 1. 识别变更的章节 2. 标记需要翻译的内容 3. 生成翻译任务清单references/translation-checklist.md 4. 验证翻译后的格式一致性这个技能让文档维护变得系统化不会因为人为疏忽导致不同语言版本的文档出现差异。六、生态系统谁在用 Agent SkillsAgent Skills 虽然是 Anthropic 提出的但它的开放性吸引了整个 AI 生态系统的参与。目前已经有多个主流 AI 开发工具宣布支持Claude Code Claude.aiAnthropic 自家产品原生支持Cursor流行的 AI 代码编辑器VS Code通过扩展支持GitHub Copilot集成到开发工作流OpenCode开源 AI 编码助手GooseBlock 开源的 AI Agent 框架Letta专注于长期记忆的 AI 系统这种广泛的支持意味着什么一次编写到处运行。你为 Cursor 写的技能可以直接在 Claude Code 中使用你在 VS Code 中调试好的技能可以分享给使用 Goose 的同事。这种互操作性是 Agent Skills 最大的价值之一。想象一下未来可能会出现一个技能市场就像现在的 VS Code 扩展市场或 npm 包仓库一样。开发者可以发布自己的技能其他人可以搜索、安装、评价。一个好的技能可能会被成千上万的 Agent 使用极大地提升整个社区的生产力。七、设计哲学为什么 Agent Skills 选择了简单在这个动不动就搞微服务、容器化、分布式的时代Agent Skills 的设计显得有些复古——就是一堆文件夹和 Markdown 文件。但这种简单恰恰是它最大的优势。7.1 可读性优先SKILL.md文件既是给 AI 看的也是给人看的。任何人打开一个技能目录都能立即理解它是做什么的、怎么用的。这种可读性带来了几个好处易于审查在企业环境中技能可能包含敏感的业务逻辑。Markdown 格式让审查者可以快速浏览不需要特殊工具便于协作团队成员可以直接编辑 Markdown 文件不需要学习新的 DSL 或配置格式版本控制友好纯文本文件可以完美地使用 Git 管理diff 和 merge 都很直观7.2 渐进式复杂度Agent Skills 的设计允许技能从简单到复杂逐步演进Level 1纯文本说明--- name: code-review-checklist description: 代码审查检查清单 --- # 代码审查检查清单 - [ ] 代码风格符合团队规范 - [ ] 有足够的单元测试 - [ ] 没有硬编码的敏感信息 ...Level 2添加参考文档code-review-checklist/ ├── SKILL.md └── references/ ├── style-guide.md └── security-checklist.mdLevel 3添加自动化脚本code-review-checklist/ ├── SKILL.md ├── scripts/ │ ├── check-style.sh │ └── scan-secrets.py └── references/ └── ...这种渐进式设计让技能的创建门槛很低——最简单的技能只需要几行 Markdown但同时也支持复杂的自动化场景。7.3 去中心化的架构Agent Skills 没有中心化的注册表、没有包管理器、没有依赖解析。技能就是文件夹你可以放在本地磁盘上提交到 Git 仓库通过网络共享打包成 zip 文件分发这种去中心化的设计避免了单点故障也给了用户最大的自由度。你不需要依赖某个平台或服务技能永远在你的掌控之中。八、未来展望Agent Skills 的进化方向虽然 Agent Skills 目前还是 0.1 版本但它的潜力远不止于此。让我们大胆预测一下未来可能的发展方向。8.1 技能组合与依赖管理目前的技能是独立的但未来可能会出现技能之间的依赖关系。比如--- name: advanced-data-analysis description: 高级数据分析包括机器学习模型训练 dependencies: - style="margin-top:12px">
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新公司网站建设流程新产品推广方案策划

测试数据管理的困境与破局 在敏捷开发与DevOps普及的今天,软件测试活动日趋频繁。传统的测试数据准备方式——无论是直接使用生产数据的“裸奔”行为,还是耗费大量人力手动编写模拟数据的“作坊”模式——都已无法满足现代软件工程对效率、安全与质量的…

张小明 2026/1/11 21:29:05 网站建设

简单的网站设计怎么做国家城乡和住房建设部网站首页

技术指南:项目托管、桌面小程序与进程通信全解析 在技术开发过程中,项目托管、桌面小程序开发以及进程间通信都是常见且重要的环节。下面将详细介绍如何在 Launchpad 上托管项目、桌面电源小程序的代码实现以及 D-Bus 进程间通信系统的相关知识。 在 Launchpad 上托管项目 …

张小明 2026/1/11 21:27:02 网站建设

国外做3d模型的网站商城网站 免费开源

OpenAI最新发布的GPT-5.2模型在30天内快速迭代,重点强化"打工能力"。通过实际测试,GPT-5.2在Excel处理、客服问题解决、超长文档处理等方面表现优异。GDPval测试显示其在74%的任务中达到或超过人类专家水平,且速度比人类快11倍。更…

张小明 2026/1/11 21:25:01 网站建设

九江网站排名网站建设业务员招聘

在AI搜索与自然语言交互成为主流入口的趋势下,有专家提出:中文域名匹配自然语言,正在影响企业在搜索与推荐中的可见性,因此中文域名注册保护应前置化。对企业来说,优先注册并使用核心名称的 .网址,有助于形…

张小明 2026/1/11 21:22:59 网站建设

家居网站建设素材wap网页游戏

深入理解 Linux 网络基础与管理 1. 主机解析顺序 在 Linux 系统中,主机解析顺序的最终确定依赖于 /etc/nsswitch.conf 文件。虽然 /etc/hosts 文件会首先被检查,但 /etc/nsswitch.conf 决定了主机解析的完整顺序。可以使用以下命令查看主机解析顺序: cat /etc/nss…

张小明 2026/1/11 21:20:57 网站建设

常州做网站建设装饰设计图片

作为AI图像转换项目的负责人,你是否面临这样的困境:既想享受云服务的便捷,又担心长期费用失控;既考虑本地部署的自主性,又纠结于高昂的硬件投入?今天,作为你的"成本侦探",…

张小明 2026/1/11 21:18:55 网站建设