结构化上下文¶
context 是 Agent 声明的一部分,定义上下文来源、去向、schema 和继承字段。两端都声明 context 的管道会传递 AgentContext。Python 应用也可通过 agent.run(previous.last_context()) 显式传递。
完整声明¶
本例只声明上游与下游 Agent,编译无需模型。
protocol Findings { summary: string }
agent Researcher {
prompt: "Extract the facts."
context {
source: upstream,
sink: downstream,
output_schema: Findings,
inherit: [messages]
}
}
agent Writer {
prompt: "Write from the facts."
context {
source: upstream,
sink: downstream,
input_schema: Findings,
inherit: [messages, artifacts]
}
}
| 字段 | 用途 |
|---|---|
source / sink |
选择上游输入与下游输出方式 |
input_schema / output_schema |
声明上下文契约;名称按名义相等比较 |
inherit |
选择继承的消息或 artifact 字段 |
max_history_turns |
限制保留的历史回合 |
shared:name 在同一 flow 内共享深拷贝快照;discard 不生成下游 context。跨 schema 传递需要显式转换,单纯字段相似不会通过名称检查。
上下文预算¶
当前上下文限制把序列化 UTF-8 字节数作为保守 token 上界;provider 的实际 usage 单独记账。Chat 按完整 user turn 裁剪,保持工具调用与结果配对。最新单回合超限会失败。
原生 Responses/Anthropic 保留 opaque items;历史或上下文超限时要求缩短输入,避免丢失协议状态。详见模型协议。
来源与验证 · context / providers