定义混合 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