从建筑工地到模型调优:一个30岁转行程序员的踩坑实录

全栈Code
2026-08-31 17:29
阅读 1097

三年前我还在工地看图纸,现在却在跟LangChain的Retriever死磕。聊聊半路出家做AI模型调优踩过的坑和土办法。

LangChain不是银弹,别一上来就上链

刚接触LangChain时什么都要套Chain,一个简单客服问答硬是写了五个链串起来,结果线上响应从800ms飙到4秒。

教训:LangChain的价值在于编排复杂流程。简单场景直接API裸调,代码少一半,速度快三倍。流程图超过三个节点才考虑引入。

Prompt工程:少谈玄学,多建评测集

调Prompt全靠“感觉”跟掷骰子似的。直到标注了200条测试集,才把调优从玄学变成工程。

具体做法:

  1. 固定30条典型问题作评测集
  2. 每次改Prompt跑一遍看准确率变化
  3. 用代码记录每次实验结果

有次把“你是一个客服助手”改成“你是一个在电商平台工作了五年的资深客服,回答要简洁、准确、友好”,准确率涨了4个百分点。没评测集根本发现不了。

Runway:提示词里动词比形容词重要

用Runway生成视频就像抽卡,调了二十多次参数还是像喝了假酒。后来发现规律:动词比形容词重要

写“镜头缓慢推近,光线从左上角照入,产品表面反光逐渐清晰”比写“高级感、科技感、大片质感”管用得多。Runway吃的是具体动作描述,不是氛围词堆砌。

另一个技巧:把勉强能用的片段下载下来,用“图生视频”作为起始帧再生成,成功率高不少。

AI搜索:别让模型“闭门造车”

做RAG系统最初用向量检索,经常“一本正经胡说八道”。用户问“今年年假政策”,模型把2024年的旧政策答出来了。后来加了时间过滤元数据筛选,把文档发布时间作为硬性条件传入。

另一个坑是分块策略。按固定500字切块,答案常被拦腰截断。改成按段落切、保留标题层级后效果明显改善。LangChain的RecursiveCharacterTextSplitter配合自定义分隔符比默认配置好使:

splitter = RecursiveCharacterTextSplitter(
    separators=["\n## ", "\n### ", "\n", "。"],
    chunk_size=500,
    chunk_overlap=50
)

写在最后

从工地到工位,从CAD到Python,我花了一年半。这行没有捷径,但有方法:把调优当实验做,把效果当数据看。少一点“我觉得”,多一点“我测了”。

模型调优调的不是参数,是耐心。

评论 0

最热最新
暂无评论
全栈CodeLv.1
0
影响力
0
文章
0
粉丝