news 2026/9/8 6:11:22

大模型选型实战:五款主流LLM对比评估方法、评测脚本与成本分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型选型实战:五款主流LLM对比评估方法、评测脚本与成本分析

最近帮团队做大模型技术选型,正好赶上 GPT-5.6、Gemini 3.6 Flash、Grok 4.5、Kimi K3、GLM-5.2 这些新版本密集上线。打开官方文档看一眼,各家都在强调自己“推理更强”“长文本更好”“速度更快”,但真要给业务选一个接入,光靠官网宣传是远远不够的。这篇文章不打算直接给你一个“谁最强”的排行榜,而是想分享一套可以复用的对比评估方法论,包含评估维度拆解、一份可直接改写的 Python 评测脚本、结果解读思路和选型建议。适合正在做 LLM 选型的后端工程师、算法工程师和技术负责人,也适合想系统了解大模型能力的初学者。

1. 为什么大模型对比越来越难做

先说一个很现实的问题:版本号已经成为最不可信的参考指标。

GPT 到了 5.6,Gemini 出了 3.6 Flash,Grok 到 4.5,Kimi 到 K3,GLM 到了 5.2。只看名字,你根本不知道哪个更适合你的业务场景。因为不同模型背后的设计目标不一样:有的追求综合能力上限,有的追求低延迟,有的死磕长文本,有的主打开源私有化。

更麻烦的是,官方公布的 Benchmark 分数往往不能直接迁移到你的数据上。举个例子:某个模型在数学评测集上拿了高分,但在你业务里那份充满行业黑话的客服对话上,表现可能非常一般。这说明大模型对比不能靠“看新闻”“看榜单”下结论,而是要围绕自己的真实业务场景设计评测集,然后用统一流程去测。

另一层麻烦是“版本漂移”问题。大模型厂商经常在后台悄悄换版,今天测试的模型行为和下周可能就不完全一样。所以对比评测不是一次性工作,而是需要沉淀成一套脚本和基准集,持续回归。

这也意味着,你真正需要的不是一篇“谁第一”的文章,而是一套自己可以反复执行的能力评估方案。下面我们先把五款模型的定位梳理清楚,再进入评测细节。

2. 五款模型定位快速梳理

先说清楚:这里梳理的是基于厂商定位、版本命名习惯和过往公开信息的“通用认知”,不代表对具体版本的最终评测结论。真正选型之前,一定要用你的实际数据跑一遍。

模型所属厂商版本特性方向典型想象场景
GPT-5.6OpenAI通用旗舰能力,生态完善通用助手、代码辅助、复杂 Agent 工作流
Gemini 3.6 FlashGoogleFlash 后缀定位低延迟高性价比,原生多模态多模态理解、语音交互、对延迟敏感的在线服务
Grok 4.5xAI与 X 生态联动,实时信息与个性化风格实时资讯问答、社交媒体内容分析
Kimi K3月之暗面超长上下文与中文能力,Agent 方向持续演进长文档分析、中文知识库、Agent 应用
GLM-5.2智谱 AI开源与云 API 并存,中文优化,可私有化私有化知识库、数据敏感行业、国产化技术栈

下面逐一听一下定位细节。

2.1 GPT-5.6:通用能力的生态标杆

从 GPT 系列一路的发展来看,OpenAI 的模型始终在走“通用智能能力最大化”的路线。GPT-5.6 延续这一方向,综合能力依然是很多团队做能力对标时的“基准线”。

它的优势更多体现在工程生态上:OpenAI 开放了包括 Chat Completions、Assistants、Realtime API、Batch API 在内的一整套接口,周边工具链成熟,社区资料丰富。如果你要做复杂 Agent、多步工具调用、代码解释器,GPT 系列通常是很稳妥的起点。

不过也要注意,综合能力强的模型往往意味着 API 单价不算低。对于高并发、海量 token 的场景,成本压力需要认真评估。

2.2 Gemini 3.6 Flash:多模态与低延迟

Google 的 “Flash” 后缀代表轻量、高吞吐、低成本路线。Gemini 3.6 Flash 面向的是对响应速度和性价比更敏感的生产环境。

Gemini 系列的原生多模态能力是明显长板,文本、图片、视频、音频可以统一处理。和 Google Cloud、Android 生态深度集成,也让它成为 Google 技术栈团队的首选候选之一。

如果你的业务有大量图片理解、语音输入、视频内容结构化需求,Gemini 3.6 Flash 值得纳入评测。它的短板通常体现在复杂推理任务的绝对分数上,和“大杯旗舰”相比,理解深度可能有所妥协。

2.3 Grok 4.5:实时信息与个性化

Grok 系列从一开始就不是“标准答案型”助手,它的特点是实时信息获取能力和更自由的生成风格。和 X 平台的数据联动,使其在社媒话题理解、热点洞察方面有先天优势。

如果你是做舆情分析、社媒内容生成、实时资讯问答,Grok 4.5 可以提供另一种风格。并且它的 API 在设计上对 OpenAI 的接口模式做了兼容,迁移成本相对可控。

需要提醒的是,Grok 系列的访问条件和模型开放范围与地区、平台订阅策略有关,接入前要先去官网确认账号权限与可用模型列表。

2.4 Kimi K3:长文本与中文 Agent

Kimi 在国内开发者群体中口碑一直不错,尤其是超长上下文能力让人印象深刻。到了 K3,长文本处理依然是核心卖点,同时在 Agent、工具调用方向上进一步发力。

对于中文业务来说,Kimi 对中文语境的理解、中文长文档的归纳总结能力通常是优势项。如果你需要“喂进去一本手册让它回答细节问题”,Kimi K3 是非常适合放进评测集的候选。

同时 Moonshot 开放平台也提供了 OpenAI 兼容接口,切换成本不高。中文开发者在技术文档、问题排错上也会更顺手。

2.5 GLM-5.2:开源与私有化部署

智谱 AI 的 GLM 系列有一个显著特点:既提供云 API,也开放模型权重,支持企业私有化部署。这对于有数据安全要求、必须内网运行、需要国产化方案的团队来说,是很关键的优势。

GLM 的中文优化能力整体较强,在很多中文行业场景下表现不输国际闭源模型。如果你所在企业对数据合规格外敏感,或者希望把模型部署在自己的 GPU 环境里,GLM-5.2 是必须纳入候选名单的。

当然,私有化部署需要自己处理算力规划、模型调优、推理加速、运维监控等工程问题。这部分成本也要算进选型决策里。

3. 大模型对比的核心评估维度

确定了候选模型之后,就需要一套统一的评估维度。下面 7 个维度是日常开发中最常关注的,每个维度我都会说明“为什么要测”和“怎么设计用例”。

3.1 基础理解与意图识别

基础理解能力是底线。不管模型在其他维度吹得多厉害,如果连用户意图都抓不准,业务就没法用。

测试方法:设计一些多义句、口语化表达、隐含意图的问题。例如“帮我看看账户余额”可能意味着查余额,也可能是子账号权限受限后的吐槽。模型能否区分字面意思与真实意图,直接决定它能不能做合格的业务入口。

3.2 数学与逻辑推理

推理能力是衡量大模型“智商”的重要维度。但要注意,太简单的题大家都会做,没有区分度。应该设计需要多步推导、容易踩陷阱的题目。

例如经典的蓄水池问题、逻辑真假话问题、带约束的调度问题。评测时既要看最终答案,也要看推理过程是否完整、有无明显步骤错误。

3.3 代码生成与程序理解

对开发团队而言,代码能力几乎是必测项。测试内容可以分成两类:一类是“生成代码”,比如让它根据需求写一个函数;另一类是“理解代码”,比如给一段烂代码让它找 bug 或解释逻辑。

更专业的做法是准备一个包含单元测试的小项目,把模型生成的代码直接跑测试用例,通过率就是可量化的评分指标。这种方式比人工看代码更客观。

3.4 长文本处理能力

长文本能力包括三个层面:能不能完整接收长输入、能不能在长内容中准确找到关键信息、能不能对长文档做高质量归纳。

单纯的“上下文窗口多大”只是基础,更关键的是“长文本有效注意力”。有些模型窗口很大,但内容一长就忘掉前文细节。测试时可以用“大海捞针”实验,也就是在一篇长文里埋入一句关键信息,看模型能否准确找到并回答相关提问。

3.5 工具调用与 Agent 能力

现在大模型已经不只是“聊天”,更多是作为 Agent 的“大脑”。工具调用能力决定它能不能正确解析函数参数、按格式输出调用请求、处理工具返回值。

测试时可以给它一个模拟工具集,比如“查询天气”“发送邮件”“计算费用”,让它完成一个多步骤任务。观察点包括:是否调用正确的工具、参数是否完整、工具返回错误后能否自行修正。

3.6 速度、延迟与成本

在对比中,速度与成本往往被忽略,但实际落地时非常重要。

需要关注的指标包括:首 Token 延迟(TTFT)、每秒输出 Token 数、并发能力、单次请求成本、长上下文下的成本。不要只看官方宣传的“最高吞吐”,要在真实负载下测平均值。

3.7 多模态与安全合规

如果你的业务涉及图片、语音、视频,就要测试多模态理解能力。比如图片中的文字识别、图表理解、视觉问答等。

安全合规方面,可以设计一些越狱 prompts、隐私泄露场景、敏感词过滤场景来测试模型边界。对 To B 业务来说,这甚至可能是一票否决项。

4. 完整实战:搭建多模型统一评测脚本

下面我们用一个 Python 脚本,把以上维度中的“文本类”用例统一跑起来。脚本设计思路是:抽象一个 BaseModel 基类,不同厂商实现自己的 Provider,然后用同一批评测用例逐个请求,最后输出 CSV 报告。

4.1 环境准备

建议使用 Python 3.10+,并先安装依赖:

# 安装 OpenAI SDK 与 Google GenAI SDK # 其他厂商若提供 OpenAI 兼容接口,可复用 openai 包直接调用 pip install openai google-generativeai

需要准备的内容:

  • 各模型的 API Key(在官方开放平台创建)
  • 能访问外网的服务器或本机环境
  • 评测用例文件,建议用 JSON 或 Python 列表维护
  • 注意:不同账号可用的模型名可能不同,记得去官方模型列表里确认准确标识

4.2 设计评测集

我们建立一个 Python 文件eval_cases.py,存放评测用例。每个用例包含编号、分类、Prompt 和参考答案:

# 文件路径:llm_compare/eval_cases.py EVAL_CASES = [ { "id": "math-01", "category": "数学推理", "prompt": "一个水池有一个进水管和一个排水管。" "单独打开进水管 6 小时可以注满水," "单独打开排水管 12 小时可以排空满池水。" "若两个水管同时打开,多久可以注满水池?请给出推理过程。", "reference": "12小时", }, { "id": "logic-01", "category": "逻辑推理", "prompt": "有甲、乙、丙三个人,一个人是律师,一个人是医生,一个人是教师。" "甲比教师年龄大,丙和医生年龄不同,医生比乙年龄小。" "请问三个人分别是什么职业?请说明推理过程。", "reference": "甲是医生,乙是律师,丙是教师", }, { "id": "code-01", "category": "代码生成", "prompt": "请用 Python 写一个快速排序函数," "并对 [5, 3, 8, 1, 9, 2] 排序,输出结果。", "reference": "[1, 2, 3, 5, 8, 9]", }, { "id": "intent-01", "category": "意图识别", "prompt": "用户说:‘你们这个软件怎么老闪退,刚写的内容全丢了!’" "请判断用户真实意图,并生成客服回复。", "reference": "用户表达强烈不满,需要安抚并排查闪退问题", }, { "id": "summarize-01", "category": "长文本总结", "prompt": "“请阅读下面这篇文章,然后用 3 句话概括核心观点。" "(文章内容请替换为你的业务文档,或直接用一篇 2000 字行业长文)”", "reference": "无唯一答案,人工评分", }, ]

说明:summarize-01这种长文本用例,建议在正式评测时从一个真实文档文件里读取内容,再拼接到 prompt 里,这里只展示占位形式。

4.3 编写模型调用基类

接下来编写核心脚本。先定义统一的BaseModel基类,包含measure方法,负责计时、调用、异常捕获:

# 文件路径:llm_compare/model_provider.py import time from abc import ABC, abstractmethod class BaseModel(ABC): """所有模型 Provider 的统一基类""" def __init__(self, name: str, api_key: str): self.name = name self.api_key = api_key @abstractmethod def generate(self, prompt: str, system_prompt: str | None = None) -> str: """子类实现具体的模型调用逻辑""" pass def measure(self, prompt: str, system_prompt: str | None = None) -> dict: """测量单次请求的耗时并返回结果""" start = time.time() try: content = self.generate(prompt, system_prompt=system_prompt) status = "success" except Exception as e: content = f"{type(e).__name__}: {e}" status = "error" return { "model": self.name, "latency": round(time.time() - start, 3), "content": content, "status": status, }

4.4 实现 OpenAI 兼容 Provider

现在大部分模型厂商都提供了 OpenAI 兼容接口,包括 OpenAI 本体、xAI、Moonshot、智谱等。因此只要改base_urlmodel_name,就能用同一套代码接入多个模型:

# 文件路径:llm_compare/model_provider.py from openai import OpenAI class OpenAICompatibleProvider(BaseModel): """适用于 OpenAI、Grok、Kimi、GLM 等兼容 OpenAI 协议的服务""" def __init__(self, name: str, api_key: str, base_url: str, model_name: str): super().__init__(name, api_key) self.base_url = base_url self.model_name = model_name def generate(self, prompt: str, system_prompt: str | None = None) -> str: client = OpenAI(api_key=self.api_key, base_url=self.base_url) messages = [] if system_prompt: messages.append({"role": "system", "content": system_prompt}) messages.append({"role": "user", "content": prompt}) resp = client.chat.completions.create( model=self.model_name, messages=messages, temperature=0.2, # 注意:不同模型对 temperature 的支持范围可能不同 # 如果模型不支持 temperature,可改为 top_p 或去掉该参数 ) return resp.choices[0].message.content

4.5 实现 Gemini Provider

Gemini 使用独立的google-generativeaiSDK,接口模式不同,单独写一个 Provider:

# 文件路径:llm_compare/model_provider.py import google.generativeai as genai class GeminiProvider(BaseModel): """适配 Gemini 系列模型""" def __init__(self, name: str, api_key: str, model_name: str): super().__init__(name, api_key) genai.configure(api_key=api_key) self.model_name = model_name def generate(self, prompt: str, system_prompt: str | None = None) -> str: model = genai.GenerativeModel( self.model_name, system_instruction=system_prompt ) resp = model.generate_content(prompt) return resp.text

4.6 初始化五个模型

下面在入口脚本中初始化五个模型。注意:下面的model_name是示例写法,实际要替换为你账号中真实可见的模型标识。

# 文件路径:llm_compare/run_eval.py import os from model_provider import OpenAICompatibleProvider, GeminiProvider # 从环境变量读取 API Key,不要把密钥硬编码到代码里 OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") XAI_API_KEY = os.getenv("XAI_API_KEY") MOONSHOT_API_KEY = os.getenv("MOONSHOT_API_KEY") ZHIPU_API_KEY = os.getenv("ZHIPU_API_KEY") # OpenAI GPT 系列 gpt_5_6 = OpenAICompatibleProvider( name="GPT-5.6", api_key=OPENAI_API_KEY, base_url="https://api.openai.com/v1", model_name="gpt-5.6", # 以你的账号实际模型名为准 ) # Grok 4.5:xAI 提供 OpenAI 兼容接口 grok_4_5 = OpenAICompatibleProvider( name="Grok-4.5", api_key=XAI_API_KEY, base_url="https://api.x.ai/v1", model_name="grok-4.5", ) # Kimi K3:Moonshot 提供 OpenAI 兼容接口 kimi_k3 = OpenAICompatibleProvider( name="Kimi-K3", api_key=MOONSHOT_API_KEY, base_url="https://api.moonshot.cn/v1", model_name="kimi-k3", ) # GLM-5.2:智谱开放平台提供 OpenAI 兼容接口 glm_5_2 = OpenAICompatibleProvider( name="GLM-5.2", api_key=ZHIPU_API_KEY, base_url="https://open.bigmodel.cn/api/paas/v4", model_name="glm-5.2", ) # Gemini 3.6 Flash gemini_3_6_flash = GeminiProvider( name="Gemini-3.6-Flash", api_key=GEMINI_API_KEY, model_name="gemini-3.6-flash", ) ALL_MODELS = [ gpt_5_6, gemini_3_6_flash, grok_4_5, kimi_k3, glm_5_2, ]

4.7 执行评测并输出报告

主函数逻辑:遍历每个评测用例,对每个模型发起请求,并把结果写入 CSV。

# 文件路径:llm_compare/run_eval.py import csv from eval_cases import EVAL_CASES def run_evaluation(models, cases) -> list[dict]: results = [] for case in cases: print(f"正在评测用例:{case['id']} - {case['category']}") for model in models: print(f" 调用模型:{model.name} ...") result = model.measure(case["prompt"]) results.append({ "case_id": case["id"], "category": case["category"], "model": model.name, "status": result["status"], "latency": result["latency"], "output": result["content"], }) return results def write_report(results: list[dict], output_path: str = "eval_report.csv") -> None: if not results: print("没有评测结果,请检查模型配置和 API Key") return fieldnames = ["case_id", "category", "model", "status", "latency", "output"] with open(output_path, "w", newline="", encoding="utf-8-sig") as f: writer = csv.DictWriter(f, fieldnames=fieldnames) writer.writeheader() writer.writerows(results) print(f"评测完成,报告已写入:{output_path}") if __name__ == "__main__": all_results = run_evaluation(ALL_MODELS, EVAL_CASES) write_report(all_results)

4.8 运行与预期输出

llm_compare目录下执行:

export OPENAI_API_KEY="你的 key" export GEMINI_API_KEY="你的 key" export XAI_API_KEY="你的 key" export MOONSHOT_API_KEY="你的 key" export ZHIPU_API_KEY="你的 key" python run_eval.py

运行后终端会输出进度,最终生成eval_report.csv。打开 CSV 后,你可以人工评审每个模型的输出内容和耗时,给输出质量打分,再把得分填进表格中对比。

5. 评测结果如何解读与走向选型

拿到 CSV 报告之后,不要急着看谁分高。正确做法是把输出内容逐条看一遍,重点关注:

  • 数学题推理过程是否完整,还是只猜了答案
  • 代码输出是否能直接运行,还是看似正确实际上有 bug
  • 中文回答是否自然,有没有明显的英文腔
  • 长文本总结是否抓到了重点,还是只摘抄了开头

在真实项目中,我们通常会做两次评分:第一次自动记录“能不能跑通”,第二次人工按“业务满意度”打分。两条线结合,才更接近生产环境的效果。

5.1 按业务场景选择优先候选

下面这张表是基于能力方向的“候选建议”,不是最终结论。你可以把它当作评测顺序参考:

业务场景优先关注方向可优先纳入评测的模型原因
中文长文档智能问答长文本、中文语义Kimi K3、GLM-5.2中文优化和长上下文是长期积累的方向
低延迟在线助手首字延迟、吞吐Gemini 3.6 FlashFlash 系列定位就是低延迟高性价比
复杂 Agent / 工具调用函数调用、指令遵循GPT-5.6、Kimi K3Agent 生态成熟,工具调用方案完整
实时资讯与社媒分析实时数据、风格生成Grok 4.5与 X 平台数据联动是特色
私有化部署与数据合规权重可得、合规、算力GLM-5.2支持私有化部署,国产化方案成熟

5.2 成本与性能的平衡

有时你会遇到模型 A 效果最好、模型 B 效果只是略差但成本便宜一半的情况。这时候不要直接选 A,而是算一笔账:如果业务每天调用量在百万级别,成本差异可能就是每月几万甚至几十万元。

建议在评测报告里增加一列“单次估算成本”。估算公式大致为:

单次成本 = (输入 token 数 / 1000) × 输入单价 + (输出 token 数 / 1000) × 输出单价

把成本列和人工评分列放在一起对比,才能做出真正理性的选型决策。

5.3 私有化与数据合规

如果业务对数据出境、存储位置、隐私保护有强要求,闭源云 API 可能直接出局。这种情况下,优先考察 GLM-5.2 这类支持私有化部署的模型。

要注意,私有化部署不只是“拿模型权重跑起来”,还包括:GPU 资源规划、并发性能压测、模型推理优化、版本更新策略、监控告警。这些工程成本也要计入选型总账。

6. 常见问题与排查思路

在实际跑评测脚本的过程中,你大概率会遇到下面这些问题。

问题现象常见原因解决思路
调用时报 model not found账号未开通该模型,或模型名版本号写错登录官方模型列表,复制准确标识
请求一直超时网络环境限制,或未配置代理检查服务器网络,确认可以访问目标 API 域名
多次生成结果差异大temperature 过高,或未固定随机种子设置 temperature=0,或多次运行取平均效果
长文本输入被拒上下文窗口超限做内容截断、分段摘要,或选择长上下文模型
成本超出预期输入 token 太长,且单价较高使用缓存、摘要、Batch API,或换轻量模型
中文效果一般未显式指定中文语境在 system_prompt 中要求用中文,并补充行业词表
Gemini 调用报错SDK 版本不匹配或参数不支持升级 google-generativeai SDK,按官方入参调整

还有一个容易被忽略的坑:不同厂商对temperature参数的支持范围不一致。有的模型只支持 0 到 1,有的模型传入过高的 temperature 会直接报错。建议在统一 Provider 里做参数兼容,或者干脆把 temperature 固定为 0.2 这种安全值。

7. 大模型选型最佳实践

最后总结几条我们在项目中反复验证过的工程经验,希望能帮你少走弯路。

7.1 自建评测集,不要全信榜单

官方跑分使用的是公开数据集,模型可能见过原题。你应该抽一批自己业务里的真实样本,脱敏后建设评测集。哪怕只有 50 条,也比看一份没有业务背景的榜单更有参考价值。

7.2 同一模型跑 3 次,取中位数

大模型生成有随机性,单次请求结果不能代表真实水平。建议每条用例对同一个模型跑 3 次,取人工评分的中位数,再参与对比。这样更容易排除偶发性失误。

7.3 把 Prompt 和评测集版本化

Prompt 写法的微小差异会影响模型输出质量。建议把评测用的 Prompt 模板、system_prompt、用例集都纳入 Git 管理。后面模型更新或者 Prompt 调整时,可以回溯比较。

7.4 用统一网关隔离厂商切换

如果业务已经上线,建议在大模型调用层加一个统一网关(例如通过 OpenAI 兼容接口做一层代理),上层业务只依赖抽象接口。这样以后换模型时,只需要更换网关后面的 Provider 配置,不用改业务代码。

7.5 关注版本更新与灰度发布

大模型在持续迭代,一定要关注官方发布日志。新的小版本往往会在推理能力、延迟、价格上发生变化。建议在评测脚本里保留“回归模式”,每次模型升级后重新跑一遍评测集,确保效果没有回退。

7.6 合法合规与权限管理

最后,所有评测和生产调用都必须遵守合法合规要求。使用模型 API 时,需要获得相应权限,并在最小权限原则下管理密钥。不要使用未授权的方式测试模型安全边界,也不要把敏感数据随意传给它方平台。涉及隐私数据时,优先选择私有化或已签署合规协议的云服务。

8. 总结

大模型对比不是一锤子买卖,而是一套持续更新的工程流程。本文从定位分析、评估维度、评测脚本、结果解读到选型建议,给你搭了一个完整框架。你不需要纠结“GPT-5.6、Gemini 3.6 Flash、Grok 4.5、Kimi K3、GLM-5.2 哪个更强”,而是应该把这套评测脚本跑起来,让真实数据替你做决定。

下一步建议:先复制本文代码,替换成你自己的 API Key 和模型名,跑通一个小规模评测集,然后慢慢扩充评测样本。等积累到一定量级后,你就能形成自己团队的“模型能力基线”,以后再遇到新版本发布,也可以直接用同一套体系做快速评估。如果本文对你有帮助,可以收藏备用,后续做选型时照着搭一套就行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 19:58:22

基于Python与CANoe COM接口批量解析BLF日志中的UDS否定响应码(NRC)

这次我们来看一个针对汽车电子测试工程师的实用需求:如何从海量的 CANoe 日志文件(.blf格式)中,批量筛选出包含特定诊断否定响应码(NRC)的报文。这不是一个全新的开源项目,而是一个结合了 CANoe…

作者头像 李华
网站建设 2026/9/5 19:11:11

抓包实战指南:从底层原理到工具选型与HTTPS解密

在开发联调、接口排查、移动端真机调试甚至线上故障定位时,抓包几乎是最先要考虑的排查手段。很多人对抓包的印象还停留在“用 Wireshark 看一眼报文”,但实际项目里,抓包既是一套完整的数据观测方法,也是一种需要掌握边界和原理的…

作者头像 李华
网站建设 2026/9/5 20:28:21

Claude Code删掉80%系统提示词,上下文工程新范式

如果你一直在关注 AI 编程工具,最近应该被一个消息刷屏过:Claude Code 的团队把自己产品的系统提示词删掉了大约 80%。这听起来像是一个反直觉的操作。过去两年,整个提示词工程圈的主流做法,是把系统提示词越写越厚,越…

作者头像 李华
网站建设 2026/9/8 17:08:48

第307篇 模仿学习——从示范中学习

前面六篇把强化学习的核心算法过了一遍。RL的核心问题是:需要大量的试错和奖励信号来学习。但在机器人领域,试错成本很高(可能损坏硬件),奖励信号也很难设计。有没有一种方法,让机器人看看专家怎么做的&…

作者头像 李华
网站建设 2026/9/4 15:30:14

遍历性游戏:为什么期望值为正却长期必亏?

这次我们来看一个概率论里的经典反直觉模型:The Ergodicity Game(遍历性游戏)。它不依赖 GPU,不需要安装几十 GB 的模型,也不需要什么高端显卡。它只用一个简单的抛硬币游戏,就能演示一个在经济学、量化和风…

作者头像 李华
网站建设 2026/9/8 13:40:55

前端构建工具链拆解:从Webpack到Vite+tsup+Rolldown的迁移实践

Webpack 统治前端工程化的时间太久,久到很多团队已经把“项目复杂就必须上 Webpack”当成默认选项。但项目一旦过了某个规模,Webpack 的配置膨胀、构建变慢、调试链路拖泥带水,就会成为开发效率最直接的阻碍。用 TS tsup Vite Rolldown 这…

作者头像 李华