无论 UI 是聊天框还是报表内核跑的都是同一套「预设上文 用户输入 模型生成」Agent 和 ChatBot 的区别在一件事上谁来构建上下文ChatBot 靠人喂你给它什么材料它就用什么材料Agent 会自己搜网页、读文档、调工具把有用的内容写进上下文发现不够还会自动回头继续找上下文的来源包括以下第一种是参数记忆也就是模型训练时读过的海量内容被压缩进了模型权重里这是广义上的上下文第二种是手动构建人把 Word、Excel、提示词这些材料喂进去第三种是自动构建AI 通过各种工具调用自己联网搜索、查知识库、调接口判断一个 AI 工具好不好用看它构建上下文的能力就够了幻觉的产生我们设想一下如果让 AI 给出某政策文件第 18 条原文但模型训练的时候又没有训练到那么会发生什么参数里没有这条原文上下文里也没有但它被要求必须给答案。于是模型从几个看起来合理的候选里猜了一个输出的东西形式上很像真的但可能是错的。这就是幻觉的产生过程是否适合AI去做怎么判断一件事交给 AI 合不合适看它能不能被准确表达成一段好的上下文CLAUDE.md 是唯一一个「全程加载、全程占 token」的方法。你写的每一行不管这次任务用不用得上都在消耗上下文窗口Subagents 也是一种上下文注入它是另起一个对话在自己独立的上下文窗口里跑跑完只把最终结果返回给主会话所以从主会话角度来看的上下文成本是零Subagents 是 .claude/agents/ 目录下的 markdown 文件用 YAML frontmatter 定义名字、描述、模型选择和可用工具。你可以把它理解成一个专门处理某类任务的独立助手Skills 的设计很聪明只有名字和描述在启动时加载完整内容等到被调用时才进上下文。用完之后如果上下文满了最旧的 skill 会被踢掉在 .claude/skills/ 目录下Hooks 完全绕过了上下文窗口。它是代码由 harness 在外部执行10.Rules :特定路径下的claude.md: 是.claude/rules/ 目录下的 markdown 文件动态工作流主要解决 迭代次数或执行路径在事先无法确定 的问题典型场景搜索/发现类任务 — 不知道能找到多少结果需要循环直到搜不到新的为止- 如遍历搜索代码库直到确认无遗漏- 如循环扫描直到发现 bug 稳定复现Token 预算驱动的任务 — 根据用户给的 token 限额500k动态决定工作量- 预算多就做更深更广的分析预算少就收缩范围多轮验证/对抗性检查 — 每一轮的结果影响下一轮的方向- 如代码审查 → 修复 → 再审查 → 直到通过不确定规模的 ETL/迁移 — 处理多少条记录、处理多少文件运行时才能确定简单说普通工作流适合已知固定步骤动态工作流适合走一步看一步的探索性任务