10-生产上线清单
核对日期:2026-05-18
官方资料:LangChain overview https://docs.langchain.com/oss/javascript/langchain/overview;LangSmith observability https://docs.langchain.com/langsmith/observability-quickstart。
官方概念
LangChain 提供组件和集成,但生产上线还需要版本锁定、权限、观测、评测、回滚和成本治理。官方文档能告诉你 API 和推荐模式,不能替你完成企业内控。
机制
上线前至少确认:
| 维度 | 验收问题 |
|---|---|
| 依赖 | LangChain、provider、vector DB、工具包是否锁版本 |
| 权限 | 工具和检索是否先鉴权 |
| 输出 | structured output 是否有失败兜底 |
| RAG | citation 是否可追溯 |
| 观测 | trace 是否脱敏且可关联业务 run |
| Eval | 是否覆盖失败路径和安全路径 |
| 回滚 | prompt、schema、retriever 参数是否可回滚 |
TypeScript 写法
本手册项目把验收变成脚本:
npm run typecheck
npm test
npm run examples
npm run projects:eval
npm run docs:check
这不是生产全部测试,但能防止学习项目停留在不可运行文档。
Python 差异
Python 项目也应有同等检查:类型或静态检查、单测、eval、trace 脱敏检查、依赖锁定。语言不同,不改变上线门槛。
工程边界
- 学习项目不接真实企业系统,不处理真实用户数据。
- mock runtime 只用于教学,生产必须替换为官方包和真实 provider。
- 任何外部工具、MCP Server 或数据库连接都要走最小权限。
常见反模式
| 反模式 | 后果 |
|---|---|
| prompt 改动不走 review | 行为不可控 |
| eval 不进 CI | 回归靠记忆 |
| 让 Agent 自行决定权限 | 模型输出不可作为安全边界 |
练习任务
- 把
npm run projects:eval作为提交前 gate。 - 为一个工具增加幂等 key 设计。
- 设计一次 LangChain 版本升级的回归步骤。