你好 👋

我是刚哥,一名10年测试开发老兵。

Claude Skills 和 Prompts、Projects、MCP、Subagents 的区别

Anthropic 官方专门写了一篇文章来解释。看完之后你会发现,这几个概念不仅不重复,反而各有分工,组合起来才能发挥完整的 AI 能力。

从零开始编写你的第一个 Agent Skill

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 Agent Skills 的发展简史 Agent Skills 的出现,其实是 AI 能力组织方式自然演进的结果。 早期的大模型应用主要靠提示词工程,把任务规则、流程说明、输出格式全部写进 System Prompt。这种方式简单直接,但提示词越写越长,上下文窗口被大量占用,关键指令容易被淹没,而且很难在不同项目之间复用。 随后 Function Calling 和工具调用逐渐普及,模型开始能够调用搜索、代码执行、数据库查询等外部能力。但这更多解决的是"能不能调用工具"的问题,还没有很好地回答"应该按什么流程、遵循什么标准、产出什么格式"的问题。 2025 年 10 月,Anthropic 在 Claude Code 中首次推出 Agent Skills 能力,把可复用的任务流程封装成以 SKILL.md 为核心的文件夹结构。 同年 12 月 18 日,Anthropic 将 Agent Skills 规范作为开放标准发布,并开源官方技能库,随后 OpenAI Codex、GitHub Copilot、VS Code、Cursor 等产品陆续跟进支持。 到 2026 年,Agent Skills 已经从单一产品的功能扩展为跨平台的能力封装格式,公开可用的 Skills 数量逼近百万级,累计安装约 2.8 亿次。 从技术演进看,Agent Skills 标志着 AI 应用开发从"手搓提示词"走向"标准化技能工程"。它把专业知识、执行流程、脚本工具和验收标准打包在一起,让 Agent 不再只是会聊天,而是能稳定完成具体工作。 一个 Skill 长什么样 最简单的 Skill 只需要一个文件: my-skill/ └── SKILL.md 完整结构可以包含这些目录: my-skill/ ├── SKILL.md # 必需:元数据 + 指令 ├── scripts/ # 可选:可执行脚本 ├── references/ # 可选:参考文档 ├── assets/ # 可选:模板、资源 └── ... 核心文件 SKILL.md 的结构 SKILL.md 由两部分组成:YAML Frontmatter(元数据) 和 Markdown 正文(指令),用 --- 分隔。 ...

比 pip 快 100 倍的 Python 包安装工具

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 简介 uv是一款开源的 Python 包安装工具,GitHub star 高达56k,以性能极快著称,具有以下特性(官方英文原文): 🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more. ⚡️ 10-100x faster than pip. 🗂️ Provides comprehensive project management, with a universal lockfile. ❇️ Runs scripts, with support for inline dependency metadata. 🐍 Installs and manages Python versions. 🛠️ Runs and installs tools published as Python packages. 🔩 Includes a pip-compatible interface for a performance boost with a familiar CLI. 🏢 Supports Cargo-style workspaces for scalable projects. 💾 Disk-space efficient, with a global cache for dependency deduplication. ⏬ Installable without Rust or Python via curl or pip. 🖥️ Supports macOS, Linux, and Windows. 在 Python MCP SDK 的介绍中,也出现了 We recommend using uv to manage your Python projects 的字样,说明 uv 已经是一款实用性极强的工具。 ...

官网学习之控制流

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 if if 语句是最常见的控制流: >>> x = int(input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ... x = 0 ... print('Negative changed to zero') ... elif x == 0: ... print('Zero') ... elif x == 1: ... print('Single') ... else: ... print('More') ... More for for 语句用来遍历: ## Create a sample collection users = {'Hans': 'active', 'Éléonore': 'inactive', '景太郎': 'active'} ## Strategy: Iterate over a copy for user, status in users.copy().items(): if status == 'inactive': del users[user] ## Strategy: Create a new collection active_users = {} for user, status in users.items(): if status == 'active': active_users[user] = status range range 函数生成数字序列: ...

跟着官网学习 Python 系列

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 开篇 个人而言,Python 是写起来最顺手、看起来最喜欢的编程语言,也是实际工作中使用最多的编程语言。从 Python 入门,到完全使用 Java,再回归 Python,编程语言本质上是工具,与 Excel、XMind 无异。对于测试开发来说,要学习的东西很多,Python 是可以作为基础技术深入学习的。第 1 次通过菜鸟教程学习 Python,第 2 次阅读《流畅的 Python》学习 Python,第 3 次跟着官网学习 Python。该系列文章参考的是 Python3.13 版本官方教程,期望学习者具有一定编程基础。 Python 解释器 终端使用 uv 安装 Python3.13: uv python install 3.13 查看安装位置: which python3.13 进入 Python 解释器: $ python3.13 Python 3.13 (default, April 4 2023, 09:25:04) [GCC 10.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 计算器 平时我们基本不会这样来写 Python,但是可以当做计算器来用: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating-point number 1.6 >>> 17 / 3 # classic division returns a float 5.666666666666667 >>> >>> 17 // 3 # floor division discards the fractional part 5 >>> 17 % 3 # the % operator returns the remainder of the division 2 >>> 5 * 3 + 2 # floored quotient * divisor + remainder 17 >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 128 >>> width = 20 >>> height = 5 * 9 >>> width * height 900 >>> 4 * 3.75 - 1 14.0 >>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ # In interactive mode, the last printed expression is assigned to the variable _ 113.0625 >>> round(_, 2) 113.06 Python 也很适合用来学习算法,比如最简单的冒泡排序: ...

Python 并发编程从入门到进阶

本文是 Python 进阶系列专题的最后一篇文章了,学习一下 Python 并发编程。懂得并发编程,就算是真正进阶了。

Python 协程知多少

从概念上来说,我们都知道多进程和多线程,而协程其实是在单线程中实现多并发。从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。区别在于协程的 yield 通常出现在表达式的右边:datum = yield。这一下就让初学者瞬间觉得 yield 关键字不香了,本来以为 yield 就是简简单单的暂停执行顺手返回个值,结果还能放右边?

Python 上下文管理器

with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文。

长篇大论 Python 生成器

本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 Python 生成器是什么 一句话解释:包含了 yield 关键字的函数就是生成器,它的返回值是一个生成器对象。我简单画了个示意图: yield 相当于 return。 函数遇到 yield 就暂停,保存当前信息,返回 yield 的值。 在下次执行 next()时,从当前位置继续执行。 比较有意思的事情是,曾经有人建议生成器函数不应该使用 def,而应该发明一个新的关键字比如 gen,但是 Python 之父 Guido 并没有同意这样做。 生成器函数的工作原理 先通过一个简单示例来说明生成器的行为: ## 定义一个生成器 >>> def gen_123(): ... yield 1 ... yield 2 ... yield 3 ... ## 生成器本身是个函数 >>> gen_123 <function gen_123 at 0x0000019F60710790> ## 返回值是生成器对象 >>> gen_123() <generator object gen_123 at 0x0000019F606AC040> ## 生成器也是迭代器 >>> for i in gen_123(): ... print(i) ... 1 2 3 ## 验证生成器也是迭代器,定义迭代器g >>> g = gen_123() ## 可以通过next()获取yield生成的下一个元素 >>> next(g) 1 >>> next(g) 2 >>> next(g) 3 >>> next(g) Traceback (most recent call last): File "<input>", line 1, in <module> StopIteration 生成器的原理就是: ...

Python 可迭代的对象与迭代器的对比

什么是迭代?迭代是指按需一次获取一个数据。是否可以迭代,可以通过是否可以使用 for 循环取值来进行简单的判断。更准确的判断是使用iter()函数,这是一个 Python 内置函数。