边做边查:Agent、Skill 和 MCP 基础概念
用轻联的例子,解释模型、Agent、Skill、MCP、工作流,以及工程交付和产品体系里的常用词。
遇到陌生名词时,可以回到这里查。你不需要先记住所有术语,再开始做工具。先分清谁负责理解、谁负责操作、哪些东西可以复用。例子尽量取自贯穿全课的轻联(Device Center)。
先看这一张概念地图#
模型提供理解和生成能力;Agent 围绕目标选择步骤;工具执行具体操作;Skill 提供可复用的做法;工作流组织过程;规则约束权限;项目代码承载最终应用。
以轻联为例:它要让主力电脑上的 Agent 使用自己的闲置设备。做这样一个工具时,模型理解需求;Agent 决定先读项目说明再实现功能;工具读取文件、修改代码和运行检查;Skill 告诉它怎样写项目档案、怎样验收;代码仓库提供产品起点。结果应该是你能启动、修改和验证的工具:在本机运行 npx --yes device-center@beta start,打开 http://127.0.0.1:5174,就能看到这台电脑真实的内存和磁盘。
MCP 是连接外部工具和数据的一种标准,不要求所有工具都通过 MCP。轻联的本机面板带一个 /mcp 入口,加到本机 Agent 后,它能调用六个工具:四个只读的本机工具(连接器状态、本机与 SSH 设备资源、SSH 别名、能力说明),再加查询同账号设备和读取已授权日志。接上 MCP 不等于拿到权限:日志要由设备主人在目标设备上单独授权,Agent 不能用 MCP 给自己授权。一次固定脚本可以完成的任务,也不一定需要 Agent。
工作流和 Agent 怎么选#
下面的查阅表分成六组,遇到哪个词,就看对应一组。「首次出现」写正文第一次用到这个词的章节;后面有一篇专门展开时,再写第二个编号。
概念与首次出现的章节#
理解任务与执行操作#
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| 模型 / LLM | 理解输入、生成内容的模型 | 负责分析和生成;实际文件、网络等操作由工具和运行环境执行 | 01、03 |
| Prompt / 提示词 | 本次给模型的任务、要求和输入 | 第 00 篇发给 Agent 的那段任务就是一条提示;它不是完整可维护的工程 | 03 |
| 上下文 / Context | 这次任务能看到的材料和状态 | 项目说明、代码、历史决定与工具结果;相关、准确比堆得多重要 | 03 |
| Agent / 智能体 | 围绕目标选择步骤、调用工具并根据结果继续处理的 AI 系统 | 先读代码、做小步修改、运行检查,再决定如何修复 | 00、03 |
| Tool / 工具 | 能执行一个具体操作的能力 | 读取文件、执行测试、查询 API;有哪些权限由环境决定 | 03 |
| Skill / 技能 | 打包的任务方法,通常包括说明及可选脚本、参考资料、模板 | 告诉 Agent 在某种任务下如何做;不是新模型,也不自动授予权限 | 00、03 |
| Workflow / 工作流 | 预先安排好的过程和检查步骤 | 需求 → 实现 → 测试 → 审阅;过程内可以包含 Agent | 03 |
给 Agent 方法与边界#
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| Rules / 规则 | 持续有效的边界和约束 | 项目结构、兼容身份、哪些操作需要授权;不同于一次任务提示 | 03 |
| MCP | AI 应用连接外部工具与数据的标准协议 | 轻联在本机提供 /mcp,接上后 Agent 能调用它的工具;能读哪些日志,仍由目标设备授权 | 00、03 |
| Memory / 记忆 | 保存并检索之后可能用到的经验和事实 | 换任务时回忆经过核验的经验;旧记忆不自动成为当前指令 | 03 |
把产品拆成服务#
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| 前端 | 用户看到和操作的页面 | 公开页面、工作区、管理页可以共用一个产品前端 | 00、04 |
| 业务后端 | 执行产品规则并管理领域数据的服务 | 轻联的设备登记、回报和撤销归它自己的云端控制面,账号核验交给共享服务 | 04、07 |
| 共享服务 | 多产品可以复用、通过合同使用的公共能力 | 账号核验、应用登记、限定权益/计量;不吞下所有产品逻辑 | 04、08 |
| API / 合同 | 服务之间的请求、响应、身份、错误与限制约定 | 不是只约定字段名;要说明谁能对哪些资源做什么 | 00、04 |
| 数据库 | 保存可查询的结构化数据 | 轻联控制面用 Node.js 24 内置的 SQLite;数据所有者和写入权限要明确 | 02、07 |
| 对象存储 | 保存图片、音频、文件等对象 | 公开素材与私人文件的访问策略不同 | 09 |
交付、实验与商业验证#
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| 服务器与服务 | 服务器提供运行资源,服务是其上运行的程序 | 一台服务器可以部署多个独立服务,不等于一个服务一台机器 | 02、12 |
| Nginx / 反向代理 | 接受公开请求,再分发给对应服务 | 页面给前端,业务请求给产品 API;它不代替业务权限校验 | 04、12 |
| Docker / 镜像 | 把程序与运行依赖整理成可部署产物 | 固定产物来源,方便复现;持久数据不随临时容器丢失。轻联的容器只代表它自己,不能代替本机连接器 | 03、12 |
| CI/CD 与 Runner | 自动检查/构建/部署的流程,以及执行这些任务的环境 | Runner 不是产品业务后端;检查成功、部署成功、用户可用分别核验 | 04、12 |
| Fixture / 测试替身 | 为实验提供的固定数据或模拟依赖 | 模拟账号和模型使实验易复现;不作为真实登录或实际 AI 效果证据 | 07、11 |
| MVP / 最小产品 | 能完整完成一个核心用户任务的第一版 | 控制范围,同时保留必要的权限与错误反馈;轻联把任意远程命令、通用文件传输、计费等列为“尚未提供” | 01、02 |
| 商业验证 | 用实际用户行为检查付费与持续使用的假设 | 安装了支付接口不代表有人愿意付款;收入和成本分别记录 | 14 |
| 开源与许可证 | 以开源许可证公开源码,或发布可安装的包 | 先看许可证、依赖和适用版本;轻联的 npm 包按 MIT 发布,包公开不自动改变 GitHub 仓库的可见性 | 05、17 |
工程与交付#
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| CLI / 终端 | 用输入命令的方式操作程序 | 第 00 篇在项目目录运行 codex 或 claude;轻联用 npx --yes device-center@beta start 启动本机面板 | 00 |
| Git / commit / 分支 / PR / SHA | Git 记录代码历史:commit 是一次提交,分支是一条修改线,PR 请求把分支合进主线,SHA 是某次提交的唯一编号 | 部署回执写源分支与 SHA,线上运行的版本要能对回一个 commit | 05、12 |
| 锁文件与依赖 | 依赖是项目用到的第三方包,锁文件记下每个包的确切版本 | 在干净环境里按锁文件安装;轻联用 npm-shrinkwrap 固定依赖,从源码运行先 npm ci | 05 |
| 密钥与凭据 | 能证明身份或打开权限的秘密,如密码、令牌、私钥 | 只由服务端运行环境提供,不进仓库、浏览器和日志;轻联的设备私钥留在设备上,不放进脚本、prompt 或压缩包 | 02、05 |
| 固定身份(App ID / Bundle ID) | 被登录、存储、签名或用户数据引用的标识,改了可能断掉兼容 | 显示名可以改,App ID、Bundle ID 先查清引用;历史项目不为统一好看批量改名 | 05 |
| 鉴权与授权 | 鉴权确认“你是谁”,授权决定“你能对哪个资源做什么” | 轻联控制面先经统一账号鉴权;设备配对只授权资源回报,读日志还要目标设备另外授权 | 03、07 |
| 持久化与事务 | 持久化让数据活过重启;事务让几步写入要么全部生效,要么都不生效 | 第 07 篇创建记录后重启服务再读;轻联用 SQLite 持久保存防重放记录和中转计数 | 02、07 |
| 幂等 | 同一个操作做一次和做多次,结果相同 | 重复点击、网络重试、重复到达的付款事件,都只能生效一次 | 10、13 |
| 唯一写入方 | 一类数据只由一个服务写入,其他组件按合同读取或调用 | 迁移前先定谁还能写;轻联的设备数据归它的控制面,App Services 只核验账号 | 04、07 |
| 签名地址 | 带签名和有效期的临时访问地址,到期失效 | 撤销分享挡不住已签发、未到期的地址,所以有效期要短 | 04、09 |
| 回滚 | 出问题时把程序切回上一个可用版本 | 程序回滚不等于数据恢复;轻联的说明写明,切到多账号后不能只切回旧代码而继续用多账号数据库 | 04、15 |
| 健康检查与烟测 | 健康检查看进程是否在回应;烟测在部署后走一遍最关键的路径 | 健康接口通过,不代表账号、数据库和存储正常;还要用公开域名走一次主路径 | 11、12 |
| Webhook 与沙箱 | Webhook 是外部服务主动推送的事件通知;沙箱是不产生真实交易的测试环境 | 付款以验签后的事件为准,先在沙箱试成功、重复、乱序和验签失败;轻联目前没有计费 | 13 |
| HTTPS / 证书 / 域名 | 域名是对外地址,证书证明地址归属,HTTPS 用它加密传输 | 轻联在网络不通时回退到 HTTPS 密文中转,证书错误直接停止;自建时由反向代理提供 HTTPS | 04、12 |
| 负向用例与权限矩阵 | 负向用例检查不该发生的事确实被拒绝;权限矩阵把账号、资源和动作排成表逐格检查 | 账号 B 直接用 A 的资源 ID 读取、修改、删除,都应按合同被拒绝 | 11 |
| 日志 / 告警 / 备份 | 日志记录发生了什么,告警在需要人处理时通知你,备份是可以恢复的数据副本 | 日志不记完整凭证;告警只发需要行动的变化;备份在独立环境恢复过才算数 | 02、15 |
| 额度与预算 | 额度是产品给用户的用量上限,预算是你自己愿意承担的费用上限 | 轻联的中转额度是每账号每 UTC 日 100MiB、全实例每天 1GiB,计数持久保存 | 02、13 |
| 提示注入 | 藏在材料里的指令,试图改变模型或 Agent 本来允许的动作 | 用户材料、网页和检索结果只当数据;轻联的日志读取不能经 MCP 自行授权,要设备主人批准 | 10 |
Owen 的产品体系#
我自己的几款产品按一份产品体系规范组织,分成门户、共享平台、独立模块、研发基建四层,模块之间只通过公开的接口协作。下面几个词在课程里会用到,这里只写定义和职责。
| 概念 | 通俗解释 | 在专题里怎样理解 | 首次出现 |
|---|---|---|---|
| 门户 | 对外介绍和导航的入口,在我这里是个人站 owenshen.top | 介绍产品、放公开内容、提供统一登录界面和跨应用运营总览;不管其他产品的业务数据和规则 | 04、19 |
| 共享服务与 App Services | 多款产品共用的平台能力;App Services 是我的实例 | 负责账号与会话、应用登记、产品空间、权益、用量、AI 网关、上传签名;只收两款以上产品都需要、或必须集中管安全与费用的能力,产品领域数据不放进来 | 04、08 |
| 产品空间 | 用户在某一款产品里的成员身份 | 共享登录只恢复“你是谁”,不会自动把你加入每款产品;影片这类 L3 产品才用到它 | 04、08 |
| 接入等级 L0–L3 | 按模块接入了多少共享能力分的四级 | L0 独立、L1 展示、L2 统一账号、L3 平台能力;Demo 是 L1,轻联是 L2,只核验身份,影片是 L3。等级不代表重要程度,升级要有真实需求 | 04、08 |
| 开源模块 | 源码或安装包以开源许可证公开的模块,仍属于产品体系 | 不靠我的服务器、账号或私有仓库也能运行,官方地址可以替换(轻联的 --cloud);仓库不放密钥和用户数据;私有模块可以依赖开源模块,反过来不行 | 17 |
用户请求怎样走到服务#
服务、服务器和 Runner#
概念口径与资料#
本专题用“Agent 自行选择处理步骤、工作流预先安排过程”区分两者。不同产品对 Agent 的用法可能更宽,学习时关注实际工具、过程和权限。Anthropic 对 Agent 与工作流的说明
Agent Skills 的开放格式以 SKILL.md 描述任务,并可携带脚本、参考和素材;具体加载、安装方式以支持它的客户端及实际验收为准。Agent Skills 官方说明
MCP 定义 AI 应用与外部工具、数据之间的连接方式;它本身不证明某个服务已经可用或具备所需权限。MCP 官方入门