Appearance
先建立共同语言
小a入职第一天,老板丢给他一份任务清单,上面写满了陌生词:token、tool call、session、compaction、MCP、RAG。他翻遍公司文档,每个词都好像认识,又都说不准——更糟的是,这些词的用法在不同的产品里还不一样。
他抱着电脑去找老z:“这些概念,我能不能直接照着别人的代码抄一遍就懂?”
老z摇头:“抄代码你只学会了‘别人这么写’,没学会‘为什么这么写’。**没有稳定的概念,直接进真实工程,只会把目录名、产品习惯和通用机制混在一起。**我们得先建一套共同语言。”
小a翻开笔记本:“那这套语言都讲什么?”
“先回答一个问题,”老z说,“你拿到一个 Agent 相关的新项目,通常想知道四件事:**它用什么模型、怎么把任务拆成动作、怎么让动作循环起来、怎么防止失控。**概念篇就按这条线展开——先讲模型,再讲动作,再讲循环,最后讲边界。”
本篇解决什么
读完概念篇,你可以区分模型生成、工具执行、状态循环、外部能力接入、资料检索、编排与安全边界;也能判断一次设计讨论,缺的是模型约束、工具契约、状态控制还是安全边界。
这里暂不解释某个产品的目录、接口或实现选择,也不承诺一套通用架构能覆盖所有任务。
“那这些概念,是不是按某个顺序走的?”小a问。
“是,而且这个顺序就是你要读的顺序。”老z在纸上画了一条线:“概念会从模型如何产生输出,逐步走到动作如何受控、资料如何进入上下文,以及系统如何限制最坏后果。这些依赖关系,会在相邻章节里自然展开。”
“具体一点?”小a追问。
“可以把它拆成三段。”老z说,“第一段是 LLM 相关——模型是什么、怎么选、怎么接、怎么给它下规矩;第二段是 Agent 本身——把模型、工具、循环组装起来的那个东西,它的定义和工作方式;第三段是 Agent 工程——工具、循环、记忆、扩展、多执行者、检索、编排,一直到安全护栏。每段都在前一段的地基上盖。”
概念篇的三段式
- LLM 相关(第1-6章):模型是组件不是神谕,选型靠评测不靠参数;理解生成机制、思考预算、Provider 抽象、System Prompt 与 Function Calling
- Agent 本身(第7章):一台自动接力的机器——模型提议、宿主批准、循环驱动
- Agent 工程(第8-17章):工具、循环、记忆、Hook、MCP、Skill、多 Agent、RAG、Workflow 与安全
“这三段式是概念篇自己的,还是整本书的?”小a问。
“是概念篇自己的,但和整本书对得上。”老z说,“概念篇讲‘边界’,源码篇讲‘落地’,实现篇讲‘取舍’——三篇是同一个对象的三个深度。概念篇的三段式,对应源码篇九包里的责任切分,也对应实现篇最小产物的装配顺序,只是每篇的颗粒度不同。先记住概念篇的边界,源码篇才有地图可对照,实现篇才有取舍可依据。”
“为什么把 Agent 放在第7章,而不是开头?”小a问。
“因为不先搞清楚模型、提示词、函数调用,你没法准确描述 Agent。”老z说,“第7章之前讲的都是‘零件’,第7章讲的是‘把这些零件装成一台机器’;后面再讲的是‘这台机器在真实环境里怎么工程化’。先有零件,再有机器,再谈工程——这个顺序反过来读会处处卡壳。”
小a正要走,老z叫住他:“还有一条阅读纪律,先记住——”
怎么读这一篇
- 把示意与事实分开:协议和安全结论附原始资料链接
- 工程建议说明适用范围,别当成放之四海皆准
- 任何产品行为留到源码篇核对,概念篇不提具体产品
“最后一句什么意思?”小a问。
“意思是:概念篇只回答‘这个东西通常怎么工作’,不回答‘某某产品具体怎么实现’。”老z说,“比如讲工具,概念篇讲工具该有描述、schema、执行边界;至于某个具体产品的工具注册表长什么样,那是源码篇的事。你在概念篇看到一个机制讲得再细,也先别假设某个产品就是照这个做的——验证要留给源码篇的基线。”
“那‘示意与事实分开’又怎么判断?”小a问。
“看它能不能被核对。”老z说,“事实是‘这个机制在某个规范里这么定义’,示意是‘假设一个典型场景会这样走’。书里凡是流程框图、伪代码、简化步骤,都标了‘示意’或‘简化’——它们是帮助理解的工具,不是能被引用的规范。读概念篇时,把带‘示意’标签的内容当成思维实验,不当成事实结论。”
“那每章结尾那个‘动手核验’是干嘛的?”小a问。
“让你把概念变成自己的。”老z说,“概念篇的每章结尾都有一个动手核验——不是答题,是让你亲手做一次:跑两个模型对比输出、给工具写 schema、让循环跑满预算。**概念是别人的,做过的核验才是你的。**读完不做,和没读差不多。”
“还有最后一张图,给你认路用。”老z摊开概念篇的完整地图:
概念篇 17 章路线图
LLM 相关
- 第1章 模型是组件——LLM 的角色与选型
- 第2章 接龙机器的真相——LLM
- 第3章 给思考留一张草稿纸——CoT
- 第4章 翻译局如何接通模型——Provider
- 第5章 先把规矩说清楚——System Prompt
- 第6章 从“会说”到“会做”——Function Calling
Agent 本身
- 第7章 一台自动接力的机器——Agent
Agent 工程
- 第8章 给能力装上把手——Tool
- 第9章 让工作真正循环起来——Agent Loop
- 第10章 记住什么,忘掉什么——Memory
- 第11章 在动作发生前插一句话——Hooks
- 第12章 给外部工具留一扇门——MCP
- 第13章 把经验装进说明书——Skill
- 第14章 一个人做,还是一群人做——Multi-Agent
- 第15章 让模型带着资料回答——RAG
- 第16章 当路线不止一条——Workflow & Graph
- 第17章 给自主性装上护栏——Security
“那这 17 章,是不是都得从头读到尾?”小a问。
“主线必须顺,但扩展面可以挑着读。”老z说,“第1-9章是一条完整主线——模型、提示、函数调用、Agent、工具、循环,少一章,后面的机制就接不上;第10-16章是相对独立的扩展面,每章讲一个机制,可以按你工作的相关性挑着读;第17章安全边界建议放最后,因为它把前面所有机制收束成一道护栏。第一次读:1-9 章全读,10-16 章挑相关的读,17 章必读。”
“那每章大概要花多久?”
“正文半小时到一小时,加上动手核验再翻倍。”老z说,“动手核验是概念篇最花时间也最值钱的部分——它把‘我读懂了’变成‘我验证过’。如果时间紧,宁可少读两章,也别跳过核验直接往后翻。”
“那读完概念篇,我大概到了什么水平?”小a问。
“到了‘能看懂设计讨论、但还不会做’的水平。”老z说,“概念篇结束,你能指着一份 Agent 架构说清楚:模型管什么、工具管什么、循环管什么、安全管什么——但你还不知道一个真实项目是怎么把它们组织起来的。这正是下一部分的起点:带着概念去读 pi-mono 的真实源码,看这些边界在工程里怎么落地。”
“记住了。”小a回到工位,翻开第一页。上面写着一个问题:模型生成的一段文本,为什么有时能变成一次受控的工程动作?
从这里开始:第1章 模型是组件——LLM 的角色与选型