Prime Agent 新手教程

技能系统

技能是按需加载的能力包——而且是「可执行的」:Python-backed 技能直接把函数装进持久内核。

1技能是什么、怎么被加载

Prime Agent 实现 Agent Skills 标准(agentskills.io),并把它扩展成 Python-backed 超集。

一个技能就是一个带 SKILL.md 的目录,内含工作流说明、安装步骤、辅助脚本与参考文档。加载机制是渐进式披露:

  1. 启动时扫描所有技能位置,只把名称与描述放进系统提示;
  2. 任务匹配时,代理用 ipython 读取完整 SKILL.md(模型不总会主动读,可用提示词或 /skill:name 强制);
  3. 代理按 SKILL.md 里的相对路径使用脚本与资产。

技能从这些位置被发现(内置技能优先级最低,同名技能后者覆盖内置):

位置类型路径
全局~/.prime/agent/skills/、~/.agents/skills/
项目.prime/agent/skills/、.agents/skills/(cwd 及其祖先目录,直到 git 仓库根)
包skills/ 目录或 package.json 的 pi.skills 条目
设置 / CLIsettings 的 skills 数组;--skill <path>(可重复)
安全提醒:技能可以指挥模型执行任意动作、可能带有可执行代码,使用前先审查内容。不想自动发现就用 --no-skills(显式 --skill 仍会加载)。

2三个内置技能

装好就有,行为与普通技能一致,只是优先级最低。

prime-intellect

Prime Intellect 产品工作流:verifiers 环境与 Environments Hub、评测、Hosted Training 与 prime-rl、沙箱、Prime Inference、GPU 算力等,参考文档按需加载。

skill-creator

教代理创建新技能:markdown 技能布局、frontmatter 规则、放置与优先级,以及完整的 Python-backed 技能契约与模板。

websearch

基于 Serper API 的 Python-backed Google 搜索。在 /login 的 MCP Connections 里填入 serper.dev 的免费 Key 即可,之后内核里直接 await websearch(...)。

print(await websearch("latest Prime Agent release"))

3SKILL.md:结构与 frontmatter

必填只有 name 和 description 两个字段,其余随意发挥。

my-skill/
├── SKILL.md              # 必需:frontmatter + 说明
├── scripts/              # 辅助脚本
│   └── process.sh
├── references/           # 按需加载的详细文档
│   └── api-reference.md
└── assets/
    └── template.json
---
name: my-skill
description: What this skill does and when to use it. Be specific.
---

# My Skill

## Usage

Run ./scripts/process.sh <input> before packaging.

name 规则:1–64 字符、小写字母数字连字符、不得以连字符开头结尾、不得连续连字符、必须与父目录同名。description 决定代理「什么时候想到它」——写得越具体,命中越准(缺 description 的技能不会被加载)。校验大多是警告,技能照样能用;disable-model-invocation: true 可把技能从系统提示里藏起来,仅允许 /skill:name 显式调用。

4Python-backed 技能:把函数装进内核

SKILL.md 之外多一个 Python 包,Prime Agent 会把它以 editable 方式装进内核 venv。

web-search/
├── SKILL.md
├── pyproject.toml
└── src/
    └── web_search/
        └── __init__.py

检测规则:有 pyproject.toml 即视为 Python-backed;导入名 = 技能名连字符转下划线;src/<import_name>/__init__.py 必须存在。若模块定义了 run(),整个模块被包成异步可调用:

await web_search("prime agent skills")
await web_search.run("prime agent skills")
help(web_search)

还能在 pyproject.toml 里声明 console script 暴露 shell 命令(脚本名必须与导入名完全一致):

[project]
name = "web-search"
version = "0.1.0"
dependencies = ["requests"]

[project.scripts]
web_search = "rlm.skill:cli"
async def run(query: str, limit: int = 5) -> str:
    """Search the web and return a concise summary."""
    ...

之后模型既能在 Python 里调用,也能在 shell 模式里跑 !web_search "prime agent" --limit 3。内核 venv 默认在 ~/.prime/agent/kernel-venv;改了 pyproject.toml 依赖,Prime Agent 会自动重建 venv。

5让 Prime Agent 自己造技能

内置的 skill-creator 让你用自然语言描述需求,代理来写包、验导入。

Create a project Python-backed skill named release-audit in
.prime/agent/skills/release-audit. It should expose
await release_audit(repository, target_version), include concise SKILL.md
instructions, declare its dependencies, and verify the callable in a fresh
Prime Agent session.

描述需求时说清三件事:

  • Scope(放哪):项目技能 .prime/agent/skills/<name>/(随仓库提交),个人技能 ~/.prime/agent/skills/<name>/;
  • Kind(哪类):以指令为主选 markdown 技能;要在 REPL 里调用可复用功能选 Python-backed;
  • Contract(契约):预期的 Python 调用、入参、输出、依赖、凭据与验证方式。

新建或改完技能后 /reload 重新发现;Python-backed 技能要开新会话,让内核 setup 完成安装与导入。另外,Claude Code / OpenAI Codex 的技能目录也能直接挂进来:

{
  "skills": ["~/.claude/skills", "~/.codex/skills"]
}
辨析

「已安装的 Python-backed 技能」是磁盘上的真实包,给内核加可执行功能;「Continual Harness 技能条目」只是 /refine 沉淀的可复用调用描述。前者替代不了后者,反之亦然。

Prime Agent 新手教程