大模型项目最常见的翻车方式不是“做不出来”,而是:
PoC 演示很强,上线效果不稳、成本不可控、问题不可定位。
这篇给你一套工程化路线图:从 PoC 到生产,拆成 7 步,每一步都写清楚交付物和验收标准,并补一个“最小评测脚手架”,让你能持续迭代而不是靠感觉。
0)先统一一个概念:PoC 的目标不是演示,是可复制交付
你可以用一句话判断 PoC 是否成功:
PoC 成功 = 在代表性任务上可复现地达到目标,并能说清楚成本、风险、边界与兜底。
1)第 1 步:定义成功指标(Success Metrics)
交付物
- 代表性任务集(10–30条起步)
- 质量指标(正确性/引用质量/格式)
- 线上指标(失败率/延迟/成本/人工兜底率)
验收标准(示例)
- 离线通过率 ≥ X%(按场景分层)
- 平均延迟 ≤ X 秒、峰值 ≤ Y 秒
- 日成本上限 ≤ Y(先写上限再谈优化)
2)第 2 步:选形态与链路(Chat / RAG / Agent)
一句话:
- 要内容 → Chat
- 要证据 → RAG
- 要动作 → Agent(并补护栏)
链路图建议至少画到“兜底”:
User -> 预处理 -> LLM/RAG/Agent -> 后处理 -> 输出
│
└-> 失败/不确定 -> 兜底(转人工/拒答/返回引用)
3)第 3 步:做一个接入层(避免业务代码写死)
建议最小交付:
llm_client.py:统一入口(超时/重试/日志/缓存)prompts.py:提示词模板与版本
示意(OpenAI 兼容写法,参数以你所用服务为准):
from openai import OpenAI
class LLMClient:
def __init__(self, api_key: str, base_url: str, model: str):
self.client = OpenAI(api_key=api_key, base_url=base_url)
self.model = model
def chat(self, messages):
resp = self.client.chat.completions.create(
model=self.model,
messages=messages,
)
return resp.choices[0].message.content
4)第 4 步:最小评测体系(没有评测就没有迭代)
RAG/Agent 很容易“越改越玄学”,根因是缺评测。
交付物
eval_cases.jsonl:样例集(至少 30–100 条)eval_runner.py:跑评测、输出报告(最小可用)- 失败归因字段:检索错/生成错/数据错/格式错
最小评测脚手架(示意)
import json
def load_cases(path: str):
with open(path, "r", encoding="utf-8") as f:
for line in f:
yield json.loads(line)
def score(pred: str, expected: str) -> int:
# 最小做法:先人工;或做简单规则(包含关键点/格式)
return 1 if expected in pred else 0
def run_eval(cases, infer):
total, ok = 0, 0
for c in cases:
pred = infer(c["input"])
ok += score(pred, c["expected"])
total += 1
return ok, total
RAG 建议加一层“检索评测”:Top-k 是否命中正确资料。检索不命中,生成再强也会瞎编。
5)第 5 步:线上可观测(能回答三件事:哪里慢、哪里贵、哪里错)
最小日志字段建议:
- request_id / scene / model / latency_ms
- prompt_tokens / completion_tokens / total_tokens
- error_code / retries / cache_hit -(RAG)top_k / hit_docs / rerank_used -(Agent)steps / tool_calls / tool_latency
验收标准:
- 任意一次失败都能定位(链路与原因)
- 成本与延迟有可视化看板
6)第 6 步:安全护栏(Agent 必做)
最小交付:
- 工具白名单 + 参数校验
- 关键动作二次确认
- 审计日志可回放
7)第 7 步:灰度上线与持续迭代(把失败样本变资产)
交付建议:
- 灰度策略(按人群/流量/场景)
- 线上失败样本回收 → 加入评测集 → 下一轮迭代
- 降级/回滚(模型不可用、成本超限、失败率升高)
生产就绪 Checklist(上线前必过)
- 指标明确 + 边界明确
- 评测集 + 回归测试
- 线上日志/指标
- 超时/重试/限流/缓存
- 降级/兜底/回滚
- 权限最小化 + 审计 + 关键动作确认(如涉及工具)
资源区
如果你们要做多模型对比/评测,实践里常见做法是用 OpenAI 兼容接入方式把入口统一起来(多数情况下只改 base_url 与 api_key)。
我自己用的是大模型聚合平台 147ai 官网(参数以其文档与控制台为准)。