LLM 学习笔记——模型与 Agent 基础知识
本文关注大模型的用户使用,整理一下大模型与 Agent 工具的基础知识。
大模型分类
大模型可以按定位分类:
- 旗舰模型
- 日常模型
- 低成本模型
- 多模态模型
- …
还可以按开放程度可以分类:
- 闭源模型:只能通过官方产品、API、云平台或聚合平台访问。通常能力领先、产品体验完整,但版本和价格由厂商控制。
- 开放权重模型:公开权重和主要架构信息,但训练数据、训练代码和完整训练流程通常不公开。优点是可私有部署、可固定版本、可微调。
- 完全开源模型:尽量公开训练代码、数据处理、权重和复现流程,多见于研究社区。
常见概念
- 上下文窗口:指模型一次调用能看到的 token 总量,包括输入、历史对话、工具结果、文件内容和系统提示等
- 由于长对话每次会把之前所有对话内容都提交,在内容长度接近上下文窗口时,需要使用 Agent 工具对之前的对话内容进行压缩(手动压缩或自动触发)
- 越强的大模型,支持的上下文窗口越大。但是实际使用中,长对话的效果还是会显著变差
- 结构化输出:指要求大模型的输出是结构化的,通常是指定的 JSON 格式,用户提供 schema 约束
- Function Calling:让模型以结构化方式调用外部函数或 API,模型只需要理解用户提供的函数接口,把自己的意图反馈为函数接口的调用需求即可,函数的实际调用通常是由用户侧的 Agent 工具负责完成的。
Agent Loop
不是所有 AI 工具都算 Agent。普通聊天更像“输入 prompt -> 生成回答”;Agent 则要让模型进入一个可重复的任务循环:看状态,决定下一步,调用工具,读取结果,再继续判断。
简化一下:LLM 负责决策,工具负责执行,环境返回结果;这个循环一直跑到任务完成,或者需要人接手。
1 | +---------+ +-----------+ +--------+ |
Agent 和普通工具调用的区别,不是能不能调一次 API,而是能不能把多次工具调用组织成闭环:前一步结果会影响下一步计划和动作。
Agent 的经典框架是 ReAct (Reason + Act):模型一边推理,一边行动。论文和早期框架里常写成:
1 | Thought -> Action -> Observation -> Thought -> Action -> Observation -> ... |
现实产品通常不会把 Thought 原样暴露出来,但循环结构还在。可以按四步看:
- Observe:收集用户目标、已有上下文、文件、搜索结果、日志、测试输出和工具返回。
- Plan / Reason:判断目标、拆分步骤、选择工具、估计风险,必要时调整计划。
- Act:执行一个动作,例如读文件、改代码、跑命令、查网页、调 API、操作浏览器。
- Check:检查动作结果是否推进了目标;如果失败,就根据 observation 修正下一步。
这个 loop 才是 Agent 的核心。一次工具调用只是 function calling,多轮 观察 -> 推理 -> 行动 -> 反馈 才像 Agent。
Agent 的各种能力也围绕这个 loop 展开:
- 上下文获取服务于 Observe,让模型知道当前状态。
- 任务规划服务于 Plan,让模型决定下一步而不是随机试。
- 工具调用服务于 Act,把决策变成外部动作。
- 验证交付服务于 Check,判断动作是否真的有效。
- 状态管理让 loop 能跨 session、checkpoint、compact 继续。
- 权限控制限制 Act 的边界,避免错误动作造成过大副作用。
- 协作分工让复杂 loop 可以拆给 subagent 或后台任务。
AGENTS.md
很多工具支持 AGENTS.md、CLAUDE.md 或类似文件。本质上就是稳定、可复用、低成本的项目上下文。
常见用途包括:
- 说明项目背景和目录结构。
- 规定编码风格、测试命令、构建命令。
- 说明哪些目录可以修改,哪些不能动。
- 规定提交、分支、PR 习惯。
- 说明危险操作限制。
- 告诉 agent 什么时候应该使用特定 skill 或工具。
项目规则不宜太长。对 agent 最有用的是目标、边界、命令、验证方式和禁止事项。
MCP
MCP (Model Context Protocol) 是工具和上下文协议,用来把外部能力用相对统一的方式暴露给 agent。
比较适合:
- 数据库、知识库、企业系统接入。
- 浏览器、设计工具、项目管理工具接入。
- 多个 agent 客户端复用同一个工具 server。
- 需要权限、资源列表和结构化参数的场景。
Skills
Skills 可以看作给 agent 用的可复用说明包。常见内容包括:
SKILL.md:入口说明。scripts/:可选脚本。assets/:模板或静态资源。references/:详细参考资料。
好处是渐进式披露:agent 先看到名称和简介(SKILL.md 的头部元数据),模型觉得需要时再读详细说明。
Skill 适合封装:
- 固定工作流程。
- 项目约定。
- 领域知识。
- 输出模板。
- 可复用脚本。
- 检查清单。
Session
session 记录一次连续任务里的对话历史、工具调用、观察结果和中间决策。
session 很像一条单链表:每轮用户输入、模型输出、工具调用和工具结果都会追加成新的节点。因为历史是可追加的数据结构,很多 Agent 工具自然可以支持 fork、branch、resume、share、checkpoint、compact 等操作。
通常提供 session 的回滚操作,但是注意这里的回滚是独立于项目中的实际内容,后者的回滚仍然需要依赖 Git 或其他版本控制系统。
