当前位置: 首页 > news >正文

从‘code is cheap‘到‘show me the prompt‘:现代AI开发范式的演进与实战


从“code is cheap”到“show me the prompt”:现代AI开发范式的演进与实战


“code is cheap”这句话在十年前是真理:只要业务想清楚了,写代码就像搬砖,堆人就能堆上线。可到了大模型时代,代码依旧便宜,却不再是瓶颈——真正昂贵的是怎么把需求讲清楚。于是圈子里悄悄换了口头禅:
“别给我看代码,show me the prompt!”

一句话,把 AI 开发的范式变迁说透了:从“写逻辑”变成“写提示”。下面把我过去 12 个月在两条产品线踩过的坑、攒下的经验,一次性打包成“技术科普+实战笔记”,供还在纠结“要不要把 prompt 也写进版本控制”的同行们参考。


1. 范式对比:写逻辑 vs 写提示

维度传统“code is cheap”现代“show me the prompt”
核心资产代码仓库prompt 文本 + 版本记录
迭代成本需求→PR→CI→上线,按天计改两行 prompt,分钟级 A/B
容错手段单元测试、灰度回滚多模板采样、输出 guardrail
人才结构后端+算法+QAprompt 工程师+领域专家

场景举例

  • 老范式:电商客服意图识别,要标 2 万条数据、训 3 天模型、再调 1 周阈值。
  • 新范式:直接给 GPT-3.5 一段 180 字的 prompt,把“退换货/开发票/催发货”的样例塞进去,F1 从 0.78 干到 0.91,耗时 30 分钟。

2. Prompt 设计三板斧

2.1 角色定义——让模型“带人设”

第一行就告诉它“你是谁”,比任何正则都管用。

You are an experienced Python code reviewer. Your job is to spot security risks and give concise fix suggestions.

步骤分解——把“黑盒”拆成“白盒”

人类都怕长句,模型也一样。把复杂任务拆成 3-5 个编号步骤,每步只干一件事,输出稳定性立刻提升。

示例约束——“给模板、限格式”

与其事后解析 JSON,不如直接在 prompt 里塞“理想输出”:

Answer in the following JSON format: { "risk_level": "High|Medium|Low", "line": 12, "comment": "use parameterized query to avoid SQLi" }

3. OpenAI API 最佳实践(Python 版)

下面这段脚本是我司 GitLab CI 的“prompt 评测小推车”,每天凌晨自动跑,把线上 200 条真实 query 喂给模型,打质量分。亮点全在注释里。

import os, json, time, openai from tenacity import retry, stop_after_attempt, wait_exponential openai.api_key = os.getenv("OPENAI_API_KEY") @retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=2, max=10)) def call_gpt(messages, model="gpt-3.5-turbo", max_tokens=600, temperature=0.2): """带退避重试的同步调用,保证 CI 不会因为偶发 502 失败""" return openai.ChatCompletion.create( model=model, messages=messages, max_tokens=max_tokens, temperature=temperature, request_timeout=30 ) def eval_prompt(prompt_template, test_query): messages = [{"role": "system", "content": prompt_template}, {"role": "user", "content": test_query}] t0 = time.time() try: resp = call_gpt(messages) latency = time.time() - t0 usage = resp["usage"]["total_tokens"] return { "answer": resp["choices"][0]["message"]["content"], "tokens": usage, "latency": round(latency, 2) } except Exception as e: return {"answer": None, "tokens": 0, "latency": -1, "error": str(e)} if __name__ == "__main__": template = open("prompt_v3.txt").read() queries = json.load(open("nightly_queries.json")) report = [] for q in queries: report.append(eval_prompt(template, q)) json.dump(report, open("report.json","w"), ensure_ascii=False, indent=2)

性能小贴士

  • gpt-3.5-turbo替代text-davinci-003,同质量 token 成本降 90%。
  • temperature=0.2几乎不影响分类任务准度,却能显著降低“胡言乱语”概率。
  • max_tokens压到“历史 95 分位 + 10%”即可,别让模型自由发挥写小说。

4. Token 消耗与延迟优化

  1. 先算一笔账:1k token ≈ 750 英文词 ≈ 450 中文字;gpt-3.5-turbo 每 1k 输入 $0.0015,输出 $0.002。
  2. 用 tiktoken 离线算长度,超预算就提前截断,比事后心疼账单更有效。
  3. 对“高并发+低延迟”场景,把系统 prompt 做静态缓存,只把动态 user 提问塞进去,可减少 30-50% 流量。
  4. 流式接口 (stream=True) 能把首 token 延迟降低 40%,但别在 CI 评测里开,不好对齐 token 计数。

5. 生产环境避坑指南

  • 敏感词过滤
    再聪明的模型也可能“口无遮拦”。用双重策略:

    1. 输入侧:正则 + 敏感词树,毫秒级拒绝;
    2. 输出侧:对模型返回再做一次关键词+语义相似度过滤,命中即打回“该回答涉及敏感内容”兜底文案。
  • 结果格式校验
    强制 JSON 输出仍可能被模型“画蛇添足”。推荐pydantic做字段校验,失败自动重试三次,仍失败就降级到规则模板。

  • 版本管理
    把 prompt 当代码:Git 跟踪 + MR 评审 + 自动 A/B。文件名里带版本号,prompt_v3.2.1.txt,回滚只需git checkout

  • 日志留痕
    记录完整 messages、response、token、latency,方便事后审计与精调。千万别只落“答案”,丢了上下文就再也复现不了当时的“玄学”效果。


6. 三个留给你的思考题

  1. 当 prompt 长度逼近模型上限,你会先“丢示例”还是“丢指令”?哪一类信息对指标伤害更大?
  2. 如果业务要求 100% 确定性输出,prompt 工程会不会遇到天花板?你会如何与规则系统分工?
  3. 提示词的可解释性到底体现在哪?当监管需要“说明模型为何如此回答”,你准备拿什么材料交差?

写完回头看,这一年我们少写了 30% 的后端代码,却多写了 300% 的 prompt 文本。代码依旧便宜,但“把话说清楚”忽然成了最稀缺的技能。愿这篇笔记能帮你省下第一次上线时的 200 万 token 和 3 个通宵——要是真省下了,回来留言告诉我,一起迭代 prompt vNext。


http://www.jsqmd.com/news/353967/

相关文章:

  • 自动化可解释性:LIME/SHAP报告在软件测试中的实战应用
  • 深入解析ChatGPT内Agent架构:从核心原理到生产实践
  • AI智能客服对话整体流程实现详解:从架构设计到核心代码实战
  • 百考通AI数据分析报告生成:让数据智能说话,驱动精准决策
  • 阿如那新戏热血番男主,扛起现实主义大旗!
  • 你的论文没毛病,是系统“过敏”了!百考通「降重+降AI」,帮认真的人安全过关
  • 算法笔记 16 二分搜索算法 - 教程
  • 不是你写得差,是系统“太敏感”!百考通「降重+降AI」,帮认真的人把好论文安全交上去
  • 不等式
  • 写论文没抄没用AI,却被系统“误伤”?百考通「降重+降AI」,专治学术审核“过敏症”
  • 2026年税务服务权威推荐:非凡远大集团税务咨询/筹划/注销/申报/稽查应对全流程服务 - 品牌推荐官
  • 基于FPGA和W5500的TCP网络通信探索
  • 【高精度气象】气象预报的信任危机:2026年新能源行业为何不敢用“高精度”预报?
  • 嵌入式硬件实战解析:电容与电感的黄金组合设计
  • 2026年AIGC行业现状及发展趋势白皮书
  • 【开题答辩全过程】以 个性化汽车推荐系统为例,包含答辩的问题和答案
  • AI Agent:OpenClaw实操学习手册(2026)
  • 2026年北京好用的财务外包公司排名,资深品牌企业推荐 - myqiye
  • 基于大模型的智能客服知识库架构设计与实战优化
  • 2026年印花/全自动/热转印/小型/双工位压烫机厂家推荐:东莞市艺大机械科技多场景适配方案 - 品牌推荐官
  • 基于SpringBoot和Vue毕设:新手入门实战指南与避坑清单
  • 协议转换的艺术:用ZLMediaKit搭建全协议兼容的直播中继站
  • 百考通AIGC检测服务:精准识别,守护学术原创性与真实性
  • 2026年工业/商用/酒店/化工用洗衣机厂家推荐:泰州市海豚洗涤设备有限公司全系解决方案 - 品牌推荐官
  • 2026年广州酒店一次性牙刷制造厂技术强排名,看看有哪些 - 工业推荐榜
  • 基于Coze搭建RAG智能客服的实战指南:从架构设计到生产环境部署
  • 一山不容二虎:旷世奇才的嫉贤本能,历史早写透人性真相
  • 【收藏】大模型 Agent 进阶:从上下文工程到记忆工程,解锁多智能体协作核心
  • java+vue基于springboot框架的智能考试作弊记录系统
  • 2026年神秘顾客服务公司推荐:北京凯恩思市场咨询,系统/调查/分析/暗访全流程服务 - 品牌推荐官