<aside> 🧭

如果把大模型比作一个能够理解语言和推理的“大脑”,那么 Prompt 是给它的任务说明,Context 是它当前能看到的信息,Tool 是它能够使用的外部能力,而 Agent 则是在这些能力之上加入状态、规划、执行、反馈和控制之后形成的完整系统。

</aside>

一、先建立一张完整的 AI 应用知识地图

很多概念之所以难理解,不是因为定义复杂,而是因为它们经常出现在同一套系统里。如果只单独记住名词,很容易把 Prompt、Tool、Memory、RAG、MCP、Workflow 等概念混在一起。

更好的方式,是先按照它们在系统中的位置进行分类。

flowchart TB
    APP["AI Application / Agent"]
    APP --> L1["LLM 调用层"]
    APP --> L2["Agent 智能体层"]
    APP --> L3["知识增强层"]
    APP --> L4["工程控制层"]
    APP --> L5["安全与可靠性层"]
    APP --> L6["可观测与评估层"]

    L1 --> A1["Prompt / System Prompt"]
    L1 --> A2["Temperature / Token"]
    L1 --> A3["Context Window"]
    L1 --> A4["Structured Output"]
    L1 --> A5["Function Calling / Streaming"]

    L2 --> B1["Agent / Tool"]
    L2 --> B2["State / Memory"]
    L2 --> B3["Planning / Routing"]
    L2 --> B4["Reflection / Workflow"]

    L3 --> C1["RAG / Embedding"]
    L3 --> C2["Vector DB / Retrieval"]
    L3 --> C3["Hybrid Search / Rerank"]

    L4 --> D1["Session / Checkpoint"]
    L4 --> D2["Orchestration / MCP"]
    L4 --> D3["Model Routing"]

    L5 --> E1["Timeout / Retry / Fallback"]
    L5 --> E2["Idempotency / Guardrails"]
    L5 --> E3["Human in the Loop"]

    L6 --> F1["Logging / Tracing"]
    L6 --> F2["Metrics / Observability"]
    L6 --> F3["Evaluation / Token Cost"]

可以先记住六层关系:

  1. LLM 调用层:解决“模型怎么被调用、输入什么、输出什么”。
  2. Agent 智能体层:解决“系统怎么决定下一步做什么”。
  3. 知识增强层:解决“模型如何获取它本来不知道的外部知识”。
  4. 工程控制层:解决“任务如何被编排、保存、恢复和扩展”。
  5. 安全与可靠性层:解决“调用失败怎么办、危险操作怎么控制”。
  6. 可观测与评估层:解决“系统到底运行得怎么样、回答得好不好、成本是多少”。

二、LLM 调用层:模型最基础的几个概念

1. Prompt:给模型的任务说明

Prompt 可以理解为发送给模型的输入指令。

最简单的 Prompt 可能只有一句话:

请解释什么是 Redis 缓存穿透。

但在真实应用中,一个 Prompt 往往不仅包含问题,还可能包含角色、背景、任务目标、约束、输入数据、示例以及输出格式。

例如: