在多后端 AI 调用中,单靠“请返回 JSON”无法保证结构正确。
解决方案:
1. Prompt 里写入完整 JSON Schema,让模型直接按约定的 envelope 输出。
2. 代码层提供数组包裹回退:若模型返回裸数组,自动包装成
{ "entities": [...] }。这两层互补:Schema 降低错误率,回退保证残余错误不致导致后续验证失败。
在三种后端(Claude CLI、Claude SDK、codex)中,只有 SDK 能在 API 层强制结构;其余两种仍需 Prompt+代码双重防御。
核心要点
- Prompt 作为合同,明确期望形状。
- 代码层仅做已知偏差的 deterministic 包装,避免“修复”假设。
- 结构验证与内容质量分离,后者留给模型本身。
实践意义
- 对多后端系统而言,Prompt 里的 Schema 是唯一通用防线。
- 当单一后端提供原生结构输出时,可将 Prompt 作为补充。
- 通过此双层策略,能显著减少因 JSON 形状错误导致的流水线中断。
GitHub: GitHub
#开发者 #工具 #JSONSchema #多后端 #AI流水线 #PromptEngineering #Zod #SDK #Claude #codex
@DevToolboxHub
