用途:把 LangChain 1.0 项目中的提示词当作代码管理,解决提示词散落、版本不可追溯、回滚需重新部署、A/B 测试成本高等问题,并修复四类常见提示词层缺陷(P57、P58、P53、P03)。
主要能力:将分散的 f-string 提示词整合为 prompts/ 模块,每个逻辑提示词一个文件并导出 ChatPromptTemplate;通过 LangSmith 提示词中心 push_prompt / pull_prompt 做版本管理,生产环境按 8 位短提交哈希固定,开发按标签拉取;对包含用户自由文本的模板改用 template_format="jinja2",避免用户输入中的 { 触发 KeyError;按 Claude 约定使用 <document>、<example>、<context> 标签,并把人设放在顶层 system 字段;用 SemanticSimilarityExampleSelector 或 MaxMarginalRelevanceExampleSelector 做动态少样本选择(k 建议 3–10);用特性开关按租户路由两个提交哈希实现提示词 A/B 测试,并在 LangSmith 追踪中打 variant 标签;抽取模式使用 ConfigDict(extra="ignore") 与判别联合,替代 Optional[list[X]]。
使用方式:需 Python 3.10+、langchain-core >= 1.0 < 2.0、langsmith >= 0.1.99,以及至少一个提供方包(如 pip install langchain-anthropic langchain-openai);配置 LANGSMITH_API_KEY、LANGSMITH_TRACING=true,可选 LANGSMITH_PROJECT,以及 ANTHROPIC_API_KEY 或 OPENAI_API_KEY。按步骤先整合提示词模块,再推送/拉取,切换 jinja2,应用 XML 标签,接入少样本选择器,最后做 A/B 测试与抽取模式加固。
适用场景:LangChain 1.0 生产项目的提示词治理、多环境发布、Claude 抽取与问答、需要动态少样本的领域分类,以及结构化输出抽取。
限制:资料未提供具体收费、价格与效果数据;部分行为(如 XML 标签对 GPT-4o、Gemini 的收益差异)为资料中的经验性描述,未给出量化基准;示例中的特性开关、向量库等依赖需自行实现或另行配置。