欢迎回来!
上节课我们建立了上下文工程的认知框架——记忆的本质是构建 message list,治理的核心是加法和减法。你现在知道了"该做什么",但还不知道"在哪里做"。
这就像一个外科医生,知道病人需要切除肿瘤(减法)和植入支架(加法),但手术刀该从哪里下?什么时候下?
今天这节课,我们要回答的就是这个问题:Agent 的上下文,在它运行的整个过程中,有哪些时刻是你能"动手术"的? 这些时刻,就是上下文的生命周期节点。而且我们不只是讲概念——今天会写真正的代码,用 CrewAI 的 backstory 注入做 Bootstrap,用官方 @before_llm_call Hook 在模型调用前实现剪枝和压缩。
先把一个关键区别说清楚。

在 Workflow 里,上下文是你直接写的——你决定 Step 1 的输出传给 Step 2,Step 2 的输出传给 Step 3。每一步的 message list 是你在代码里显式构建的,完全可控。
但 Agent 不一样。Agent 运行在 ReAct 循环里:Thought → Action → Observation → Thought → Action → Observation……每一轮循环,模型自己决定调什么工具、传什么参数,工具返回的结果自动塞进 message list。你没法提前知道 Agent 会走哪条路,也没法提前决定 message list 里会有什么。
