ai工具的一些概念

把书籍跟互联网数据,当作自己的数据库,接受到用户提出的问题后,一直去预测下一个词,再去介入微调就成了我们使用的ai模型。

LLM

定义: Large Language Model (LLM),本质是基于概率的“文字接龙”。

架构: 基于 Transformer(2017年 Google 提出)。

Token

https://platform.openai.com/tokenizer openai提供的 token切割的网站

定义: 大模型处理文本的最小单位。通过 Tokenizer(分词器)将文本切分为片段。

编码过程: 分两步 —— ① 文本切分为 Token ② 映射为 Token ID(数字)。

解码过程: 将 Token ID 还原为文本(无需切分步骤)。

Token 与自然语言单位的关系

语言单位 与 Token 的关系 示例
中文词语 非一一对应,可能被拆分 “程序员” $\rightarrow$ “程序” + “员”
英文单词 常见词通常对应 1 个 Token “hello” $\rightarrow$ 1 个 Token
复杂单词 可能被拆分 “helpful” $\rightarrow$ “help” + “ful”
特殊字符 可能需多个 Token 表示 “✅” $\rightarrow$ 3 个 Token

过程:

  • 用户提出问题,今天天气怎么样?

  • 切分用户问题,切分4个token

  • 持续输出token直到结束符

image-20260330145610063
Context

定义: 模型单次处理任务时接收的信息总和。

组成: 用户问题 + 对话历史 + 系统提示词 (System Prompt)。

限制: 受限于 Context Window(上下文窗口)。

扩展方案: RAG (检索增强生成)。通过从外部数据库检索相关片段,降低对原生窗口的依赖。

Prompt (提示词)
  • 分类:

    • User Prompt: 用户输入的内容。
    • System Prompt: 设定模型的人设、规则、语气。
  • 提示工程 (Prompt Engineering): 核心原则是 清晰、具体、明确。

Tool

核心作用

  • 定义: 大模型调用的外部函数,使其能够感知和影响外部环境。
  • 解决痛点: 弥补大模型无法获取实时信息(如天气)、计算能力有限等弱点

工作流程

  1. 用户提问 $\rightarrow$ 平台转发(含工具列表)
  2. 大模型分析 $\rightarrow$ 生成工具调用指令
  3. 平台执行调用 $\rightarrow$ 获取结果
  4. 大模型整理结果 $\rightarrow$ 自然语言输出

角色分工

  • 大模型: 选择工具、生成参数、归纳结果。
  • 工具: 执行具体功能(如查询天气)。
  • 平台: 转发信息、执行工具调用。
MCP
  • 全称: Model Context Protocol(模型上下文协议)。
  • 本质: 理解为统一的工具接入标准,解决不同平台工具接入规范不统一的问题。
  • 价值: 类似手机统一用 Type-C 接口。工具开发者只需按 MCP 规范开发一次,即可在所有支持 MCP 的平台使用。
Agent (智能体)

claude code / curos 都可以看作是一个Agent,本质就是模型规划

  • Agent 定义: 能够自主规划、自主调用工具,持续工作直至完成用户任务的系统。
  • 核心能力: 多步骤推理、工具选择、流程控制。
  • 典型构建模式: ReAct (Reason + Act)、Plan and Execute。
Agent Skill

核心功能

  • 定义: 给 Agent 的说明文档,包含任务规则、执行步骤、输出格式等。
  • 结构:
    • 元数据层: 名称 (name)、描述 (description)。
    • 指令层: 目标、执行步骤、判断规则、输出格式、示例。

技术实现

  • 存储形式: Markdown 文档(文件名必须为 SKILL.md)。
  • 存放位置: 特定目录(如 .claude/skills 文件夹)。
RAG

检索过程有点类似于es的倒排索引,本质就是把一段大的文本切割成很多小段,然后根据用户/检索的问题,去搜索对应的片段。可以节省token开支,也可以增加模型效率,跟上下文溢出的问题。

本质上是一个 ETL 过程:

  1. Load (加载): 读取 PDF、Word、数据库或 API 数据。
  2. Split (切片): 将长文档切成小块(Chunk),因为 LLM 的“内存”(上下文窗口)有限。
  3. Embed (向量化): 调用 Embedding 模型(如 OpenAI 的 text-embedding-3-small),将文字转为一串数字(向量)。
  4. Store (存储): 存入 向量数据库(Vector DB)。