news 2026/10/10 4:10:25

从“感觉好用”到“算得清账”:大模型价值的量化评测方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从“感觉好用”到“算得清账”:大模型价值的量化评测方法

前几天有位刚入门量化研究的朋友问我:“你天天研究GPT价值,那你到底怎么量化它给你带来的价值?”我当时愣了一下,因为这个问题确实比大多数“怎么用GPT更高效”的问题更接近本质。

大多数人是这样用GPT的:遇到问题就粘贴进去,看输出不错就直接采用,输出不满意就换一种说法再试。过程很顺畅,但问他们“GPT到底帮你省了多少时间、质量提升了多少、哪些任务真正值得交给它”,没有人能说出一个准确数字。我自己也经历过这个阶段,看起来每天都在用,实际上一到写总结时就只能写“显著提高了效率”——这种话没有任何信息量。

后来我做了一个调整:把“用GPT”这件事当成一个正经的研究课题来对待。给任务建评测集,记录每一次调用的输入输出、token消耗、人工后处理时长、质量评分,再用这些数据去回答“什么任务值得交给模型”“什么流程必须保留人工把控”。这篇文章就是这段时间摸索出来的完整思路,包括怎么建评测集、怎么算成本收益、怎么避免量化过程中的自欺欺人。适合正在做研究或数据分析的从业者,也适合所有想系统评估大模型辅助价值的人。

1. 为什么“先用起来”不等于“拿到价值”

1.1 模糊的“好用”等于没有价值

我见过两类极端的人。第一类对GPT输出完全不信任,每句话都要逐字核对,花两个小时改一段其实可以直接采用的文本;第二类完全不审查,模型输出什么就粘贴什么,直到某次数据引用出错才回过头来抱怨“AI不行”。这两类人都会得出“GPT没什么用”的结论,但真正的问题不在模型,而在他们从未定义过“有用”的标准。

在量化研究里,我们不接受“效果好”这样的模糊评价,因为效果好坏必须对应可观测、可复现的指标。放到GPT上也是一样。如果你说“GPT帮我提高了写综述的效率”,那就必须回答:提高了多少?是写初稿时间从8小时降到3小时,还是返工次数从5次降到1次?用哪个指标衡量?换句话说,价值必须先被翻译成数字,才能被获取和复制。

这个道理跟餐厅管理很像。顾客说“你们家菜很好吃”是主观感受,没法作为改进依据。但“人均消费”“翻台率”“复购率”这些数字一旦统计出来,就知道后厨哪道菜最赚钱、客人更愿意为哪种服务买单。GPT的价值也是一样,只要没有被量化成指标,你所谓的使用经验就永远停留在“感觉挺好”的层面。

1.2 把“提示词技巧”误当成“价值杠杆”

还有一个常见的误区是把价值获取等同于“提示词技巧”。很多人花大量时间研究“如何提问才能让模型输出更好的答案”,这当然有用,但提示词只是价值链路中最末端的一环。真正的价值来自更早的地方:任务拆解、评测集设计、人工审查的位置、输出验证的闭环。

举个例子。我处理过一个文献综述任务,用同一套资料让GPT生成三版综述框架。第一版思路是“写一个好看的开头”,第二版思路是把资料按研究主题分块再逐块总结,第三版思路是先建立研究问题的检索池,再让模型按维度提取要点。输出质量差异很大,但真正拉开差距的不是提问措辞,而是模型在这个任务里的“工作结构”。量化研究教会我的恰恰是:先定义结构,再谈提示词,否则做再多调整都无法归因——你不知道提升到底来自哪里。

所以,获取GPT价值的正确路径不是收藏一百条提示词,而是建立一套属于自己的评测和记录机制,让每一次调用变成一条可分析的数据。下面从最有价值的一步说起:建评测集。

2. 量化研究从建立一个评测集开始

2.1 构建任务基线:从真实任务里抽样,而不是从想象里抽

做量化研究的人都明白,结论可靠不可靠,首先看样本是否有代表性。放到GPT价值评估里,第一步就是建立一个“任务评测集”——一组能代表你日常真实需求的测试任务,将来每次评估模型、改动提示词、换工作流都用这一组任务重新跑一遍,用分数的变化判断改动是否有价值。

评测集的核心来源是真实任务,不是你觉得模型“应该擅长”的任务。所以先收集过去一两周里你实际让GPT做过的所有事,然后按类型归类。我当时建评测集的思路是这样:从聊天记录里翻出所有真实请求,去重后挑出三类样本——高频任务,比如“把这段代码的报错原因找出来”,这类最能反映日常体验;棘手任务,比如“从这几篇论文里提炼出指标计算的差异”,这类决定你能走多远;边界任务,比如“根据这几个表格数据推测变化趋势”,这类暴露风险和限制。

为了让评测集更可用,我给每个任务配了一张结构化卡片:

  • 任务描述:一段固定不变的指令,保证每次测试的输入一致;
  • 输入材料:附带的资料或代码,统一存放;
  • 期望输出类型:是“返回结论”“返回对比表”还是“返回修改建议”;
  • 验收要点:输出必须满足的硬性条件,比如“引用原文数据”“指出数据来源”;
  • 难度系数:从1到3,用于后续分难度统计。

第一批先收20到30个任务就足够了,重点是把你会反复遇到的高频场景覆盖住,而不是追求数量。建好之后,评测集就成了你的“标准试卷”,未来换模型、换提示词、加检索增强,都在同一份试卷上做前后对比,这样得出的结论才有说服力。

2.2 定义打分卡与责任矩阵

有了任务还得有评分标准。直接问“这个回答好不好”仍然太主观,我最后用的是五维打分卡,每一维单独打分后再算加权总分:

  • 信息完整性:应该提到的关键点是否都覆盖了;
  • 逻辑一致性:前后结论是否矛盾,推理链是否通畅;
  • 可执行性:给出的步骤、代码、建议是否可以直接落地;
  • 合规与安全性:是否包含风险表述、隐私泄露隐患或不适用的建议;
  • 知识准确性:事实、数据、引用本身是否正确,特别留意编造文献这类问题。

每一维按0到5打分,任务不同权重不同。比如代码调试任务里“可执行性”权重最高,文献综述任务里“信息完整性”和“知识准确性”权重更高。这个打分体系不是一成不变的,你可以先用一个粗糙版本跑两周,看哪些维度对你有实际参考价值再调整。

同时我还引入了“责任矩阵”的思路,用于回答一个量化研究者必须回答的问题:这份输出里,到底哪些是模型的贡献,哪些是人的贡献?

每完成一个任务,我会记录两个数字:原始得分,即模型初稿直接打分;最终得分,即人工介入、修改、校验之后最终交付物的评分。两者的差值可以粗略看作“人的必要劳动量”。如果一个任务的原始得分有4.5分而最终得分只有4.6分,说明模型产出已经接近可交付,这个任务适合高杠杆使用;如果原始得分只有2分,人工改到5分花了40分钟,说明这个任务目前不适合大规模委托给GPT,至少需要更重的结构化约束。

这套“双评分”机制让我后来做了很多次有效决策。比如某类会议纪要整理任务,原始得分一直稳定在4.8分左右,我就彻底放权交给模型,只保留最后30秒抽查;而某类需要精确计算的任务,原始得分经常出现3字头,我就把它拆成“模型生成方案+人工核算公式”的协作流程。没有数据支撑前,这些决定全靠拍脑袋。

3. 三类典型任务的价值衡量方法

3.1 单轮问答:先看覆盖率和稳定性

评测集建立之后,接下来是给不同类型的任务设计合适的度量方式。我先说单轮问答任务——你把一个问题连同资料一次发给模型,拿到一个回答,任务结束。处理文献查证、概念解释、代码报错排查这类需求经常落在单轮问答上。

衡量单轮问答的价值,我主要看三个指标。第一个是首轮命中率,也就是不经过任何追问、不修改提示词、直接回答就满足验收要点的比例——这个指标反映模型对任务的原生理解能力。第二个是答案稳定性,同一个问题和相同的输入材料连续跑三次,看看输出之间是否还有一致性;如果三次给的重点都不一样,那GPT在该任务上的表现就不可预期,实际使用时就要提高审查粒度。第三个是信息覆盖率,也就是回答是否覆盖了验收要点里列出的所有关键项,这个通常跟“信息完整性”维度关联。

有一个实测经验:小心“看起来回答得很完整但关键项一个没中”的情况。比如我让模型从一段会议纪要里找出所有待办事项及负责人,它的输出格式工整、措辞专业,但漏掉了一个在某个角落里出现的关键待办,这种漏报很难通过“读一眼”发现。所以单轮问答一定要对照验收要点逐项检查,而不是凭整体印象打分。

如果你觉得每次跑三轮太麻烦,可以按任务类型抽样——比如每周随机抽取三类任务各5个,用固定的提示词跑三轮,记录命中率。稳定性和命中率的数据积累几个月后,你会很清楚自己的核心任务里,哪些模型已经足够可靠,哪些永远需要人工兜底。

3.2 多轮研究与写作:关键在任务拆解和上下文管理

真正能拉开人和人之间效率差距的,是多轮、长上下文的研究型任务,比如写文献综述、整理项目背景、分析多份材料的一致性。这类任务的量化方法完全不同,因为流程比单次输出更重要。

我常用的做法是“先拆后跑”:先把一个大任务拆成几个子任务,每个子任务单独一轮跑,人工在节点之间做过滤和判断。举例来说,一份30页的研究报告,我不会一次性让模型生成综述,而是先让模型逐章抽取事实要点,输出成带来源标注的列表,人工确认无误后再让模型基于列表生成对比表,最后才生成综述初稿。

这样每个子任务都是可度量的,我可以分别统计每个环节的首轮通过率、人工修改时长,从而知道整个流程的瓶颈到底在哪里。实际跑下来发现,拆成子任务后的总耗时比“一次性生成全文”要少,因为一次性生成时,模型会在错误的推理链上跑很远,导致后期返工的时间完全抵掉了一次生成“看起来很顺”的愉悦感。这个反直觉的结论,没有量化对比根本看不出来。

上下文管理也是影响成本和质量的关键。把大量材料一次性塞进上下文,输出质量和token成本都会上升,所以我一般会采用“分块提取+汇总对比”的方式,把长材料切成可处理的块,分别做关键信息提取,再做一次聚合。具体做法可以这样:

  1. 先把材料按章节或主题切成块,每块控制在可完整理解的范围;
  2. 针对每块,让模型只做“提取事实”这一件事,输出固定格式的要点列表;
  3. 汇总所有块的结果后,人工检查有没有明显遗漏;
  4. 最后再把完整要点列表交给模型,要求基于列表生成有结构的综述。

每一步用到的输入输出长度、耗时、人工审查时长都做好记录。这样你不仅知道哪个环节最费时,还能算出“多轮拆解”相对“一次生成长文本”在质量和成本上的真实差异。

3.3 编码与数据分析:别用行数衡量

代码和数据分析任务的价值度量,跟写作任务完全是另一套逻辑。很多人会下意识地用“模型写了多少行代码”来衡量价值,但这跟用“写了多少字”来评价一篇论文质量一样不靠谱。我更关注的是“通过率”和“人工修改率”。

可以设计一个简单实验:挑10个日常开发任务,每个任务记录“模型初稿是否直接通过测试”和“通过前需要人工修改多少处”。如果一个任务里模型初稿的通过率是80%,那把它交给模型是划算的;如果通过率只有30%,而人工改的代码比重新写还麻烦,那不如自己来。

数据分析任务还要额外注意“链路完整性”。所谓链路,就是从拿到数据、清洗、做计算、生成可视化、得出结论的整个过程。模型可能轻松生成一张漂亮的图,但结论跟图对不上,或者对上了但计算过程有误,这种问题很难一眼看出来。所以我建议把“从数据到结论的正确链路数”作为核心指标——一个任务里,从数据处理到最终结论的每个环节是否正确闭环,都记录下来,再除以总任务数,得到链路完整率。

我自己踩过一个大坑:让模型根据一组销售数据做归因分析,它输出的图表很专业,但回归模型选错了,导致结论完全偏离实际。如果只看图表输出,会以为这轮交互质量很高;只有对照“结论是否正确”这个验收要点,才发现整条链路是断的。现在我对任何数据分析类输出都会强制要求模型给出“结论的依据链路”,并单独审查这一步。

4. 经济账与ROI:把每一次调用变成一条记录

4.1 Token成本其实是可以算清楚的

研究人员的职业病是凡事算经济账,GPT使用也不例外。很多个人用户从来不关心token成本,但一旦进入高频使用或团队协作,成本就会从“无所谓”变成“需要管理的资源”。

token费用的计算并不复杂。主流大模型API的计价普遍按“输入token数”和“输出token数”分别计费,价格区间大致在0.005元到0.03元每千token之间,不同模型差别很大。你可以按自己使用的实际报价填写,方法是把一次完整对话的输入文本长度、输出文本长度分别记录下来,乘以单价,就得到单次调用的直接费用。

举个例子,一个文献综述子任务,每轮调用输入材料约2万token,输出约3千token,按当前主流模型的中位价估算:输入成本约0.2元,输出成本约0.06元,单次成本不到0.3元。跑完一个完整流程如果做20次调用,总成本大约6元。看起来不贵,但如果你把人工审查时间也算进去——假设每次调用后人工处理10分钟,20次就是3小时以上——就会发现真正的成本大头根本不在API费用,而在人工时间。

因此我设计了一张“任务成本卡”,每次记录5个字段:任务名称、调用次数、输入token总量、输出token总量、人工后处理时长。月底统计一遍,成本结构一目了然。

4.2 三种工作流的时间与质量对比

为了更直观地展示量化能带来的决策价值,我做过一个对比实验:同一份文献对比表任务,分别用三种工作流完成。

传统人工模式:所有资料人肉阅读,手动整理成表,总耗时8小时,质量评分4.5分。直接AI生成模式:资料一次性全部塞给模型,输出初稿后人工仅做“顺眼”的检查,总耗时5小时,但质量评分只有3.5分——因为存在两处关键数据引用偏差,人工没检查出来。结构化协同模式:先让模型分块提取要点,人工花30分钟确认要点无遗漏,再让模型基于要点生成对比表,最后人工只做针对性核对,总耗时3小时,质量评分4.7分。

三种模式的成本对比如下:

工作流总耗时质量评分核心特征
传统人工8小时4.5质量可控但耗时最长
直接AI出稿5小时3.5省时不省心,存在漏检风险
结构化协同3小时4.7质量最高且耗时最短

这个对比当时给我的冲击很大。直接AI出稿确实比人工快,但质量反而下降,因为“检查”比“生成”更难。而结构化协同之所以又快又好,根本原因是把人工介入点放到了信息提取和验收两个环节,而不是让模型一次性包办全流程再由人类逐字救火。

所以,评估GPT价值不能只看“替代了多少人工”,还要看“引入了多少新的返工成本”和“质量是否达到了交付标准”。量化不是替你证明AI好用,而是帮你找到流程中哪一步最值得交给模型、哪一步必须留给人。

4.3 用A/B测试的心态做每次升级

量化研究的另一个好处是可以把“升级模型”“修改提示词”“引入检索增强”这些本来很主观的试验,变成可控的对照实验。我的方法是始终让评测集保持稳定,每次只改一个变量,然后对比前后分数。

具体流程是:先记录当前工作流在评测集上的基线分数,然后把要做的改动应用进去,在同样的评测集上重跑一轮,比较每一维分数的变化。改动有效的证据是相关维度的分数明显提升,而其他维度没有显著回落;如果整体分数变化幅度很小,那就说明这个改动只是心理安慰,不值得增加复杂度。

有一次我给一个检索增强方案跑评测,信息完整性从4.1分涨到4.7分,但可执行性却从4.3分掉到3.6分——原因是检索引入的额外内容干扰了模型对原始任务的聚焦。如果只看完整性这一个指标,我可能会误判这是一次成功升级;有了多维度对比,才发现它在另一个维度上造成了实际损失。这就是“不变量控制”的价值:真正的提升不是听起来更聪明,而是所有相关指标的综合结果变好。

5. 量化过程中最容易翻车的四个细节

5.1 评测集污染:模型见过答案后分数会虚高

量化最隐蔽的坑是评测集污染。我最初把历史任务直接当作评测集使用,跑出来的分数高得惊人,后来才发现问题在于那些任务原本就是我带着“参考答案”的意识去提问的,模型在训练过程中很可能已经接触过相似内容,输出的只是“见过”的答案,而不是“推理”出的答案。

更危险的是自己把答案喂给模型。有时候为了让模型输出更符合预期,我会在提示词里附上一段“示例回答”,这相当于把答案贴在了题目旁边。后续再用类似任务测试时,模型只是在模仿格式而不是解决问题,分数自然虚高。

避免方法有两条。一是设置时间窗:用最近两周的新任务积累评测集,避免使用那些在网络上反复出现、模型训练时几乎肯定会见到的经典案例。二是“只存不出”:已经放进评测集的任务,不再用于任何正常使用和提示词示例,防止数据回流。做到这两条,评测集才具有真正的区分度。

5.2 人工评分的稳定性:先背对背,再对齐

量化过程中最大的主观变量来自人本身。同一个答案,我在精力充沛时可能打4.5分,在连续加班后可能打3.5分。如果评分不稳定,后面的对比就无从谈起。

解决这个问题,我借鉴了内容分析里的评分者一致性思路。最简单的做法是:让两个人先独立背对背打分,再对比差异,差异大的答案现场协商对齐。个人使用场景下,你可以不用每次都双人打分,但至少每批评测中抽取5到10条做“间隔复评”——隔几天后再把同样的答案重新打一次分,看看自己的评分波动有多大。

更系统的做法是写一份打分细则,给每一分位配一段行为锚定描述。比如“可执行性”维度,4分的意思是“步骤可以直接照做,不需要补充说明”,3分的意思是“步骤基本完整但缺少关键参数”,2分是“步骤仅部分有效,需要大量调整”。有了行为锚定,评分就从一个抽象感觉变成了一个对照判断,稳定性会明显改善。

5.3 高频使用不等于高价值:要盯高杠杆任务

量化过程中还有一类思维偏差,是把“使用频率”等同于“价值高低”。一个人每天问GPT几十次,记录下来数量惊人,但真正推动工作进展的可能是少数几个高杠杆任务。

建议在记录表里增加两个字段:“任务杠杆”和“任务频率”。杠杆高、频率高的任务,比如每周都要做的数据分析报告,是最值得优化的对象,哪怕节省20%的耗时都有实际意义。杠杆低、频率高的任务,比如“帮我想一个标题”,哪怕每天用也不要过度投入。还有一种情况是杠杆高但频率低的任务,比如季度技术方案,这类任务优化空间同样很大,因为一次效率提升就意味着一整天时间的释放。

如果只统计调用次数,最后会得到一个“看起来我用了很多AI”的假象,却说不清它到底改变了什么。量化价值,要衡量的是“这类任务的结果改善”,不是“这类任务的使用次数”。

5.4 风险成本同样是成本:安全、合规与隐私一定要纳入

最后一条,量化价值时必须把风险成本算进来,否则算出来的收益大概率是带坑的收益。数据处理类任务尤其如此——一旦涉及敏感信息或未公开资料,把原始内容直接交给外部模型本身就有合规风险,这种潜在损失不能因为“省了几十分钟”就被无视。

我的处理原则是:先分级,再决定权限。对涉及数据隐私、内部未公开信息的任务,坚持使用数据脱敏后再调用,并记录“脱敏耗时”,纳入任务成本;对不涉及敏感内容的通用信息处理任务,则放开使用。另外,无论任务类型,输出都要做“合规性检查”——看看回答是否包含无依据的断言、是否引用了不存在的来源、是否存在对特定群体的不公平概括。这些风险一旦发生,一次就足以抵消前面十次“高效”的收益。

从量化角度说,给每个任务加上一个“风险等级字段”,高风险的减分项不达标时即使时间节省再多也要否决流程。安全维度的打分,宁可保守也不能放松,因为它的真实成本往往不在当下账单里,而在后续影响里。

6. 落地模板:我建议你这样记录一个周期

6.1 单次任务记录表

理论说了这么多,真正让这套方法转起来的是一张简单的记录表。不用任何复杂系统,一个电子表格就够。每个任务一行,我通常这样记录:

  • 日期:任务发生的日期;
  • 任务名与类型:比如“文献对比表-多轮研究”;
  • 调用次数:该任务总共发起了多少次模型请求;
  • 输入token:把所有请求的输入token累加;
  • 输出token:把所有请求的输出token累加;
  • 模型初稿评分:按五维打分卡给出原始分;
  • 最终交付评分:人工介入后的最终质量分;
  • 人工耗时:自己的审查、修改、对齐时间;
  • 风险等级与处理方式:是否脱敏、是否人工复核高敏感内容。

记录表的最大作用不是事后统计,而是倒逼你在调用之前就想清楚:这个任务为什么值得交给模型、验收要点是什么、要投入多少人工核对时间。每次多写一行,下一次的使用决策就会更理性。

6.2 一周复盘动作

数据积累一周后,花30分钟做一次复盘,我习惯做三件事。第一,计算这周的平均模型初稿分和人工耗时,判断关键任务的质量趋势是上升还是下降。第二,挑出人工耗时最长的前五个任务,考虑能不能通过调整提示词或拆分子任务来优化。第三,标记那些初稿分很高但最终交付分没变化的冗余环节,考虑直接放权。

跑了几轮这样的复盘之后,你会发现自己面对GPT的心态会发生一次本质变化:从“它能帮我做什么”变成“我应该让它做什么”。前者是好奇心驱动,后者才是价值驱动。这个心态切换,我认为才是标题里“正确获取价值”的核心——如果你没有数据支撑,你只是在尝试使用GPT;有了数据支撑,你才是在管理GPT的产出。

最后再分享一个小技巧。我设计评测集的时候,特意把“评估本身”也做成一个可拆解的任务:每周分类统计一次调用类型、成本与分数对比,然后用GPT辅助汇总生成周报草稿,我只需要审阅修改。量化方法帮我节省的第一段时间,恰恰就是做量化记录所用的这段时间。把这个循环跑通之后,这套机制就不再是额外负担,而是日常研究工作的一部分了。

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

二叉树的层平均值怎么求?BFS双循环模板与DFS备选写法

1. 读懂题目在问什么:层平均值到底在考什么1.1 题目输入输出与关键约束先把手上的题目完整还原一遍:给定一棵二叉树,返回一个列表,列表里的每一项是对应层的节点值的平均值。比如一棵三层的树,第一层只有根节点&#x…

作者头像 李华
网站建设 2026/10/10 4:09:51

从零搭建智能体:任务拆解、记忆系统、工具调用与决策循环

直接说结论:很多人聊智能体,其实聊的是套壳对话机器人。真正的智能体,不是“能聊天”,而是“能干活”。它能自己拆解目标、调用工具、记住上下文、从错误里恢复,像一个有执行力的实习生,而不是一个有问必答…

作者头像 李华
网站建设 2026/10/10 4:09:41

自动整列机交期失控?掌握这几点把交期主动权攥回手里

去年年底我接过一个项目,甲方采购经理跟我抱怨:供应商合同上白纸黑字写着45天交货,结果到第40天连装配的照片都没发过来,电话打过去,那边支支吾吾说“料道工件还在线切割”。生产线等着设备上线,包装工段的…

作者头像 李华
网站建设 2026/10/10 4:08:55

Kettle数据预处理作业实战:从环境配置到批处理调度

简介:面向大学课程设计中的数据预处理作业场景,Kettle学习资源包适合正在学习ETL工具、需要完成数据清洗与转换任务的学生,也可作为瑞翼工坊项目实训的辅助材料。压缩包内含9个文件,总大小136.82MB,主要文件包括6个SQL…

作者头像 李华
网站建设 2026/10/10 4:08:42

CNC物联网网关选型指南:协议适配与现场部署实战

CNC物联网网关这个品类,这几年问的人明显多起来了。厂里上了数控设备之后,生产数据拿不上来,设备状态全靠人工盯,日报表靠手填,老板想看个开机率都得等统计员下班前赶出来。这些问题说到底就是缺一个能把CNC和上位系统…

作者头像 李华
网站建设 2026/10/10 4:08:40

技术博客系列翻译工程化实践:术语管理、代码处理与协作流程

1. 这个翻译项目到底在做什么第一次看到“PaperSpace 博客中文翻译(六十九)”这个标题,很多人会以为只是又一篇普通的译文搬运。但真正动手做过系列翻译的人都知道,能推进到第六十九篇,背后一定有一套稳定的流程和协作…

作者头像 李华