← [ BACK_TO_NOTES ]

Tool Result Context

Tool Result Context 是工具执行结果注入到 LLM 上下文中的格式和策略。工具结果可能很大,需要压缩、格式化和结构化后再注入。

#concept #evergreen #ai

[!info] related notes

Tool Result Context

一句话定义

Tool Result Context 是工具执行结果注入到 LLM 上下文中的格式和策略。工具返回的结果可能是 JSON、文本、表格、错误信息,需要格式化后再注入。

核心原理

注入格式

import json

# 局部消息片段:messages 和 result 由调用方提供
# 工具结果作为 tool message 注入
messages.append({
    "role": "tool",
    "tool_call_id": "call_xxx",
    "content": json.dumps(result, ensure_ascii=False, indent=2)
})

结果预算与压缩

先在工具端限制查询条数、字段和响应体大小,再按模型上下文预算选择摘要或分页。保留调用 ID、来源标识与截断说明,避免把部分结果写成完整结论。

字符数不是 token 数:max_tokens × 4 只能是粗略估算,中文、代码、转义和模型 tokenizer 都会改变比例。严格预算需对最终消息连同 envelope、历史与预留输出一起计数;具体模型计数由适配层负责。

归一化与上下文的区别

结果归一化保留执行状态和数据结构;本篇决定哪些字段进入模型、占多少预算以及如何表达省略。不要复制一套把 JSON 直接切成半截的序列化逻辑。

tool message 片段只表示一种接口格式,必须关联真实待回应的 tool_call_id,且结果已通过权限与字段筛选。其他模型接口使用各自的结果消息契约。

错误和不可信内容

反馈稳定错误类别、可公开摘要和追踪 ID,不直接回传 str(exception)。检索页、工具输出中的指令仍是不可信数据,不能升级为系统指令或执行授权。

常见坑

  1. 先取无限结果再截断:上下文变小了,但网络与内存仍可能失控。
  2. 按字符切结构化数据:JSON 可能失效,字段、引用与结论也可能被截断。
  3. 省略却不标记:模型把前十项误判为全部结果。
  4. 把固定大小当容量结论:10KB 是否超预算取决于模型、已有上下文与预留输出。

参考资料

创建于 2026/6/30 更新于 2026/10/7
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本