最近用 AI 编程工具越来越多,脑子里一直有个问题:Claude Code、Cursor、Codex,底下跑的都是 Claude 或 GPT,为什么体验差别这么大?

花时间理了一下,核心就一句话:AI 干活的效果 = 模型能力 × Agent 工程水平。

这两件事,行业术语分别叫 LLMAgent。这篇笔记把它们之间的关系和常见术语整理清楚。

LLM:一个特别会接话的概率机器

LLM = Large Language Model,大语言模型

  • 核心原理:给一段已有文字,预测下一个字(token)最可能出现什么
    • 输入”今天北京天气” → 模型算出下一个字最可能是”怎” → 输出后拼上去 → 继续猜下一个字 → 如此反复,拼成完整回答
    • ChatGPT 里一个字一个字出现,不是特效,真的是一个字一个字”猜”出来的
  • 为什么猜得准? 规模效应。几百亿上千亿参数,啃过互联网几乎所有文本,”猜”就猜得惊人地准
    • 但它并不真的”懂”,只是高级版的模式匹配
    • 类比:老中医背了几万份病历,看到症状八九不离十能开方——靠的不是理解人体底层原理,是见过足够多案例

两个关键参数

  • 温度(Temperature):控制输出的随机程度
    • 温度低 → 每次挑概率最大的字 → 稳但死板(写代码用)
    • 温度高 → 偶尔选冷门字 → 有创意但可能跑偏(写文案用)
  • 上下文窗口(Context Window):模型每次回答时能看到的全部文字
    • 包括:你的问题 + 历史对话 + 系统设定,全部拼在一起
    • 目前主流 200k ~ 1M token(几十万字),听起来大,Agent 场景消耗飞快
  • 关于”记忆”的误解:模型不是”记住”了你的话,而是每次回答都把整个上下文重新看一遍
    • 聊太长、早期内容被挤出窗口 → 它就”失忆”了
    • 最佳实践:一个会话只聚焦一个问题,新问题开新会话

补充:Base 模型 vs Instruct 模型

  • Base 模型:纯概率预测,输入”中国的首都是” → 它接着写”北京,位于华北平原……”(在做文本补全)
  • Instruct 模型:经过指令微调 + RLHF,输入”中国的首都是” → 它回答”中国的首都是北京”(在回答问题)
  • 我们日常用的 ChatGPT、Claude 全是 Instruct 模型
    • PS:开源模型通常发布两个版本,如 Qwen2.5-7B(Base)和 Qwen2.5-7B-Instruct

补充:思维链(Chain of Thought)

  • 现象:让模型先写出推理过程再给答案,比直接猜答案准确率高很多
    • 例子:问”3个苹果买5个吃2个剩几个”,直接蹦数字可能错,先写”3+5=8, 8-2=6”就准了
    • 本质:每一步中间结果都成了后续推理的输入,相当于给自己打草稿
  • 推理模型:o1/o3、DeepSeek R1、Claude extended thinking 等,进一步做到”自我反思”——先给答案,再回头检查
  • 新趋势(2025下半年起):单一模型 + 思考强度参数,通过一个参数控制”想多久”
    • 以前复杂任务要单独调推理模型,现在一套代码就够了

LLM vs Agent:厨师和餐厅

这是最困扰我的问题,搞明白 LLM 原理后就有答案了。

  • LLM 的局限:它只是一个”非常聪明但只会说话的大脑”,没有钟不知道几点,没有手查不了数据库
  • Agent 的定义:给 LLM 装上手脚(工具),再放进一个循环里反复干活——这一整套工程就叫 Agent
  • 类比
    • LLM = 厨师(核心能力)
    • Agent = 餐厅(厨房 + 食材库 + 菜品流程卡 + 品控)
    • 同一个厨师,不同餐厅,出餐品质当然不一样 → Claude Code 用着舒服,不光是模型强,工程也到位
    • 同一间餐厅,不同厨师,出品也不一样 → 给 Claude Code 接弱模型,照样拉胯

Agent 内部在干什么?

核心循环:想 → 做 → 看

1
2
3
4
接到任务,开始循环:
模型看看当前情况 → 决定下一步
需要用工具 → 调用,把结果记下来
判断完成 → 输出结果,结束
  • 每轮三件事:(推理)→ (调工具)→ (观察结果)
  • 学术上叫 ReAct(Reasoning + Acting),说白了就是人类解决问题的方式
  • 实际场景举例——“帮我找到登录接口的 bug”:
    1. 搜索登录相关文件
    2. 读代码看逻辑
    3. 发现可疑,读依赖文件确认
    4. 定位 bug,改代码
    5. 跑测试,确认修复
  • 副作用:每轮工具调用结果都追加到上下文 → 上下文不断增长 → 窗口撑满就”失忆”

工具调用:模型怎么”动手”的?

  • 模型本身只输出文字,它”调用工具”的方式是:输出一段文字,告诉程序想调哪个工具、传什么参数
  • 程序拿到这段文字去执行,再把结果塞回上下文 → 全是文本在上下文里传来传去,没有魔法
  • 关键能力:指令遵从——模型能不能老实输出合法 JSON,不夹带废话
    • 早期 GPT-3.5 经常在 JSON 前面来一句”好的,下面是结果”,程序直接崩
    • 现在的模型在这方面靠谱多了

MCP:工具的”普通话”

  • 问题:各家模型厂商定义工具的格式不一样,同一个工具在 OpenAI 和 Anthropic 那里写法完全不同
    • 类比:简历去 A 公司要 Word,B 公司要 PDF,C 公司要纯文本——内容一样,光格式转换烦死人
  • MCP(Model Context Protocol):统一标准,写一次工具,所有支持 MCP 的 AI 工具都能用
    • 目前已是行业事实标准
    • 注意:MCP 没引入新能力,只是把接口标准化了,底层还是 Tool Use

更高级的能力

Agent 有了模型和工具,基本能干活了。但要在真实场景里靠谱跑起来,还需要几样东西。

Skills:给 Agent 准备 SOP

  • 定义:把操作流程文档化,交给 Agent 照着执行
  • 类比:与其让新实习生自己琢磨怎么发版,不如甩给他一份发版文档照着来
  • 巧妙设计:启动时只加载每个 Skill 的名字和一句话描述,需要用时再加载完整内容 → 省 token

RAG:让 Agent 翻你的内部资料

  • 问题:模型只学过公开数据,问它”我们项目数据库怎么配的”,它答不上来
  • RAG(检索增强生成):内部文档编码成语义向量存起来 → 用户提问时搜相关文档片段 → 塞进上下文 → 模型基于你的资料回答
    • 关键词搜索搞不定同义词(”忘记密码” vs “账号找回”),语义向量能搞定

记忆系统:别让 Agent 每次失忆

  • 问题:新会话上下文全空,之前积累的偏好、踩过的坑全忘了
  • Auto Memory:对话后自动把有价值的信息沉淀到文件,下次新会话启动时自动加载
    • 体感:这工具越用越懂我

Harness:给 Agent 上保险

  • 问题:LLM 是概率模型,一定概率出错。长任务里上下文反复压缩,早期约束可能悄悄消失
  • Harness 工程:给 Agent 套确定性的兜底机制
    • 事前约束:程序层面强制,比如”没读过的文件不许改”——不靠模型自觉
    • 事后反馈:改完代码自动跑测试,挂了把报错塞回上下文让它自己修
  • 核心原则:能用程序检查的事,别靠模型判断

一句话串起来

回头看,所有这些概念有一个共同点。

不管是思维链、工具调用、Agent 循环、MCP、Skills、RAG 还是记忆——全部都是文本,全部塞在上下文窗口里,交给同一个概率模型处理。

  • 模型能力是天花板
  • 上下文里塞什么、怎么塞、塞多少,决定了你离天花板有多近
  • 这就是为什么同一个模型,不同 Agent 工具效果差那么多

随着模型越来越强,围绕模型做工程优化的价值也会水涨船高。这不光是厂商的事——怎么写好 Skills、怎么管好上下文、怎么让 token 花在刀刃上——这些都是我们每个 AI 指挥师可以着手的方向。

站内搜索

没有找到内容!