Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

范围、取舍与边界

1. 本书的范围

本书讨论「模型之外、系统之内」的 agent 工程层。用一句话界定:

给定一个(可能不可靠的)模型,如何构造一个有状态、有工具、有预算、可观测、可评估、可治理的执行系统。

具体覆盖:

层章节核心问题
机制1–4循环怎么转、动作怎么协议化、执行怎么隔离、权限怎么收敛
上下文5–8状态怎么投影、记忆怎么取用、计划怎么搜索、多 agent 怎么协调
质量9–12怎么评估、怎么观测、怎么防注入、怎么审计与审批
实践13–14两个能跑、能测、能审计的项目

2. 明确的非目标

以下内容不写,或只在边界处引用:

非目标去哪读本书最多写到
进程、信号、IPC、socket、epoll 的原理与 API《Linux 系统与内核》第 2 篇沙箱需要的 wait status、进程组、超时、收尸
namespace、cgroup、seccomp、容器运行时同书第 3/5 篇组合次序、agent 场景的陷阱、OCI 字段映射
TCP/IP、DNS、HTTP、TLS同书第 4 篇egress 策略、DNS 重绑定、SSRF、代理边界
神经网络、注意力、反向传播、训练《深度学习导论》token、上下文窗口、成本、延迟等工程含义
模型选型与提示词技巧大全各厂商文档只写与协议、预算、评估相关的部分
具体框架的 API框架文档用标准库实现机制,框架只作对照
法律意见合规律师只做工程可执行的审计与证据链映射

这张表说明什么:边界不是「不重要」,而是「已经有人写得更专业」。本书的价值在于把边界接到 agent 的决策点上,而不是重复教科书。

3. 版本基线

Agent 工程的最大事实是:接口在变。本书把版本写在正文里,而不是假设「最新版」。

对象本书基线对照/迁移
MCP2026-07-282025-11-25(initialize + session)、2025-06-18、2025-03-26
OpenAI toolsResponses API 与 Chat Completions 并列字段差异见 2.3
OCI Runtime Specv1.3.0(2025-11)v1.0.2 的字段基本兼容
OpenTelemetry semconv1.44.0GenAI/MCP 属性仍在演进
Linux6.8(Ubuntu 24.04)Landlock ABI 4;更新内核的 ABI 5–9 只作提示
Python3.11+实验只用标准库
Bash5.2macOS 自带 3.2 的差异在实验中标注

结论要带条件:例如「在 Linux 6.8 上,Landlock ABI 4 支持 TCP bind/connect 限制」,而不是「Landlock 支持网络」。版本一换,结论可能就不成立。

4. 取舍:为什么有些主题只给一章

4.1 为什么安全只有一章

安全很容易写成一套独立的卷:注入、外泄、供应链、模型窃取、对抗样本……但 agent 的安全边界是能力边界:只要不可信数据不能获得执行权,大部分攻击就失去杠杆。第 11 章围绕这一条展开,把具体攻击当作「能力边界失效的症状」,而不是另起一套分类。

治理(第 12 章)同理:它不是安全的下游文档,而是「谁在什么条件下能批准什么」的执行流程。两章分工是:第 11 章管「攻击面与防御」,第 12 章管「授权、审计与责任」。

4.2 为什么评估与观测分开

评估回答「这次改动是不是更好」,观测回答「这次运行为什么这样」。两者的数据都来自 trace,但方法不同:评估需要数据集、采样、统计与门禁;观测需要 span 模型、属性、日志、指标与回放。合成一章会变成两份内容的压缩,双方都讲不透。

4.3 为什么项目是两章而不是附录

项目不是「练习题」,而是把前面所有层拼起来的验收。项目一压沙箱与工具协议,项目二压评估与平台。每个项目都按 Stage 组织,每个 Stage 有可运行的验收命令;跳过项目,前面的章节很容易停留在「知道」而不是「做过」。

5. 方法论:路径、边界、证据

本书每一节尽量按同一顺序展开:

  1. 路径:这件事在真实系统里怎么发生?给出调用链、数据流或时间线。
  2. 机制:为什么是这样?给出状态转移、协议字段、内核对象或统计公式。
  3. 边界:什么时候不成立?给出反例、版本差异、失败条件。
  4. 证据:怎么验证?给出可运行实验、观测命令或 trace 片段。

如果一个结论只有「路径」没有「边界」,它大概率是营销;如果只有「机制」没有「证据」,它大概率是猜测。三者都有,才值得写进书里。

6. 读者假设

我们假设你:

  • 能读 Python 与 C,能用命令行;
  • 知道进程、文件描述符、HTTP 的基本概念;
  • 用过至少一个 LLM API,见过 tool calling 的 JSON;
  • 不要求你会训练模型,也不要求你读过内核源码。

如果你缺其中某一项,书里会给出指向《Linux 系统与内核》或《深度学习导论》的具体章节,而不是让你去搜「XX 入门」。