技术探索不是炫技,是解决问题的耐心

日志观察员
2026-03-06 02:27
阅读 860

上周五晚上十点半,我还在公司调一个线上诡异的内存泄漏问题。新来的实习生小张在 Slack 上发了个“哥,你咋还没走?”,我回了句“等这个 Pod 稳住就撤”。他秒回:“35 岁还写代码,太卷了吧!”——我差点笑出声,但转念一想,这不就是我现在的状态吗?

入职这家新公司刚满两个月,从上一家大厂裸辞后,本以为能躺平一阵子,结果发现创业公司节奏更快。老板嘴上说“我们要做技术驱动”,实际上每天都在催 MVP 上线。更离谱的是,产品需求文档里居然写着“用 AI 自动化所有运营流程”——行吧,反正我这几年早和 ChatGPT、Claude 成了“数字工友”,Prompt 写得比代码还溜。

今天这篇文章,就想聊聊我对技术探索与实践的真实看法。不是那种“AI 将颠覆一切”的鸡汤,而是作为一个还在敲键盘的老程序员,在求职、架构、日常开发中踩过的坑、攒下的经验。


问题从来不在技术本身,而在“人怎么用”

刚入职那周,CTO 丢给我一个任务:把客服系统的工单处理流程自动化。当前流程是运营同事手动查数据库、复制用户 ID、粘贴到内部工具、再发邮件——一天重复几百次。产品说“我们要用 AI 做智能客服”,但其实他们连基础数据都没结构化。

我第一反应是:别急着上 LLM,先理清楚业务流。于是花了三天时间,和运营小姐姐对齐了 12 种常见工单类型,画了状态机,定义了输入输出格式。这时候我才意识到,真正的瓶颈不是算法,而是 Prompt 工程没做好

比如,我们最初让模型直接读用户聊天记录,结果它经常把“取消订单”理解成“确认收货”。后来改成结构化输入:

{
  "user_id": "u12345",
  "last_message": "我不想买了,能退吗?",
  "order_status": "paid",
  "refund_policy": "7天无理由"
}

再配合精心设计的 system prompt:

“你是一个客服助手,只根据提供的上下文判断是否满足退款条件。若满足,输出 {'action': 'refund', 'reason': '...'};否则输出 {'action': 'deny', 'reason': '...'}。禁止自行推测或编造信息。”

效果立竿见影。准确率从 60% 提升到 92%。这让我想起去年面试时,有家公司问我:“你怎么看 Prompt 工程?”我当时脱口而出:“它是新时代的接口文档。”现在看来,一点没错。


Moltbot:一个小工具,解决大问题

说到工具,不得不提最近我们团队自研的 Moltbot。名字是我起的,取自“molting”(蜕皮),寓意系统要能不断进化。它的核心目标很朴素:让非技术人员也能安全地使用 AI 能力

背景是这样的:运营团队想用 AI 生成促销文案,但每次都要找我改 prompt,效率低不说,还容易出错。于是我拉了个小项目,用 FastAPI + LangChain 搭了个 Web 界面,前端用 Vue3(毕竟老前端出身,手痒)。关键设计点:

  1. 模板化 Prompt:运营只能选预设模板,不能自由输入,避免 prompt injection。
  2. 输出沙箱:所有 AI 生成内容必须经过规则引擎校验(比如不能包含“最便宜”“绝对”等违禁词)。
  3. 版本快照:每次生成都记录 prompt + output + model version,方便回溯。
# moltbot/core/engine.py
def generate_copy(template_id: str, variables: dict) -> str:
    template = get_template(template_id)
    prompt = template.render(**variables)  # Jinja2 渲染
    
    # 加入安全围栏
    safe_prompt = f"【安全模式】{prompt}\n\n请严格遵守以下规则:..."
    
    response = claude_client.messages.create(
        model="claude-3-sonnet",
        max_tokens=300,
        messages=[{"role": "user", "content": safe_prompt}]
    )
    
    return sanitize_output(response.content)  # 过滤敏感词

上线两周,运营自己生成了 200+ 条文案,审核通过率 85%。产品经理终于不用半夜微信我“能不能改个 prompt”了。技术探索的价值,不在于用了多新的模型,而在于是否真正嵌入了业务流程。


求职时,别被“AI 工程师”头衔忽悠了

最近帮几个朋友内推,发现一个现象:很多公司 JD 里写着“熟悉 LLM 应用开发”“有 Prompt 工程经验优先”,但实际工作内容还是 CRUD。甚至有家公司,所谓“AI 团队”就是用 OpenAI API 包一层,前端填个表单就叫“智能系统”。

作为过来人,我想说:求职时,一定要问清楚“AI”在你们业务中的真实角色。 是噱头?还是核心链路?有没有数据闭环?模型迭代机制?

我自己跳槽前就列了三个红线:

  • 不能只是调 API,要有模型微调或 RAG 的空间;
  • 必须有可观测性,不能“黑盒跑就行”;
  • 团队得有工程规范,不能全靠 prompt 玄学。

幸运的是,现在这家公司虽然小,但 CTO 本人就是 NLP 博士出身,对技术债零容忍。上周 Code Review 时,他直接 comment:“这段 prompt 逻辑太复杂,拆成两步,加单元测试。”——这种氛围,值了。


架构设计:平衡“快”与“稳”

说到工程规范,就不得不提我们在做 Moltbot 时的架构权衡。初期为了赶 Demo,我直接用 SQLite + 内存缓存,结果压力测试时一并发就崩。运维大哥在群里吐槽:“你这玩意儿上线,K8s 集群怕是要哭。”

痛定思痛,我们做了三件事:

  1. 异步化:所有 AI 调用走 Celery 队列,前端轮询结果;
  2. 降级策略:当 Claude 响应超时,自动 fallback 到本地 tinyLLM(量化后的 Phi-2);
  3. 监控埋点:记录每个 prompt 的 token 消耗、响应时间、错误率。

下面是性能对比表:

方案 P99 延迟 错误率 Token 成本/千次
同步直连 2.1s 8.7% $12.5
异步 + 降级 1.4s 1.2% $9.8
全本地模型 3.8s 0.3% $0.0

最终我们采用混合方案:简单任务走本地模型,复杂任务走云端。技术探索不是追求“全用最新”,而是找到成本、性能、可靠性的甜点。


写给还在路上的你

有时候我会想,35 岁还在写代码,是不是该焦虑?但看到 Moltbot 被运营用起来,看到自己写的 Prompt 成了公司标准模板,又觉得挺踏实。技术这行,深度比热度重要,解决问题比追新框架重要

别被“AI 取代程序员”的言论吓到。真正危险的,不是会写代码的人,而是只会写代码、不懂业务、不愿沟通的人。而像我们这样,既懂 Prompt 工程,又能和运营对需求,还能在架构上做权衡的老兵,反而越来越稀缺。

最后送大家一句我贴在显示器边的话:“代码是手段,不是目的。用户的问题,才是你的 KPI。”

下周我要开始搞 A/B 测试模块了,如果顺利,Moltbot 会支持自动对比不同 prompt 的转化率。到时候再写篇续集。哦对了,实习生小张昨天问我:“哥,Prompt 工程要不要学?”我回他:“先学会怎么问问题,再学怎么让 AI 回答问题。”

—— 一个还在加班的 35 岁程序员,凌晨 1 点于工位

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝