#10236·dspy

定义混合 MCP 内容块的 DSPy 结果合同

作者: isaacbmiller创建于 2026年8月18日更新于 2026年9月10日

□ 问题

DSPy的MCP结果转换器目前将文本与非文本内容相分离,只要存在任何文本块就返回文本. 对于混合的MCP结果,可以将图像,音频,嵌入的资源,或资源链接从返回的值中省去.

这与#10235所添加的结构化的JSON选择无关:MCP " Content"是内容块的模型化序列,而"结构化Content"则是单独的机器可读值. 选择精确的结构化内容并不定义如何保留或呈现混合内容块.

□ 后续行动的范围

为混合MCP内容结果确定明确、后向兼容的合同。 设计应决定:

  • 是否以及如何保留原来的区块顺序;
  • 呼叫者是否选择原始内容区块或是否获得DSPy-本土代表;
  • 混合内容应如何接触模型工作流程;
  • URL、嵌入式资源和其他未经信任的服务器数据如何跨越DSPy的工具边界;
  • 倒置适用于支持的MCP SDK版本。

默认文本唯一行为不应意外改变. 测试应涵盖每个支持的非文本块类型、文本/非文本组合、顺序和出错结果。

□ 内容

  • #10188在不改变结果语义的情况下添加了MCP v2运输相容性.
  • 第10235号提议选入精确的 " 结构结合 " ,并故意将混合 " 内容 " 块排除在范围之外.

内容来源: stanfordnlp/dspy