news 2026/9/8 4:31:38

从聊天到干活:用腾讯云AI Skills打造全能Agent的实践指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从聊天到干活:用腾讯云AI Skills打造全能Agent的实践指南

最近几个月我一直在折腾 Agent 开发,也看过不少 demo 级的智能体:你问它一个简单问题,它能答得头头是道;可一旦让它去完成真实任务——查库存、改配置、发消息、生成报表——它就立刻露馅。问题出在哪?不是大模型不够聪明,而是很多人把 Agent 做成了“聊天机器人”,而不是“干活的智能体”。Agent 要真正干起活来,核心在技能(Skill / 工具调用),这也是我把腾讯云 AI Skills 完整用一遍之后最直接的感受。

这个标题里的“全能 Agent 养成记”,说白了就是用腾讯云的 AI Skills 机制,把一个只会聊天的 Agent,一步步喂成能调数据库、能写文件、能查接口、能自动处理业务的多面手。AI Skills 解决的是 Agent 的“手”和“脚”的问题:大模型负责想,Skill 负责做。这篇文章我打算按实际做项目的顺序来写,从架构思路、技能拆解,到具体部署、问题排查,再附上一些我踩过的坑和长期观察,希望对正在做 Agent 开发或准备上手腾讯云 AI Skills 的朋友有点帮助。

1. 先想明白:Agent 与 AI Skills 到底是什么关系

1.1 用一句话说清 Agent 的运作方式

我见过不少人对 Agent 的理解停留在一个很玄的层面。其实拆开看,Agent 就是四块东西:一个大模型作为“大脑”,一套规划能力用来决定下一步做什么,一段记忆用来记住上下文和历史,再加上一堆工具让它可以真正对外部世界产生影响。它跟普通聊天机器人的本质区别,就是你问它“今天天气怎么样”它能不能去调天气接口,而不是硬凭训练数据瞎编一个答案。

我习惯用一个类比来理解:Agent 像一个刚入职的实习生,大模型是他的专业背景,规划能力是工作方法,记忆是工作笔记,而 Skill 就是他掌握的各种办公技能。实习生再聪明,如果连 Excel 都不会用、打印机不会开,那他也只能坐在工位上夸夸其谈。Agent 也一样,模型再强,没有技能支撑就是一个“思想上的巨人,行动上的矮子”。这也是很多开源 agent 项目看起来惊艳、一上真实业务就崩的原因——他们在对话层做得很好,但根本没给 Agent 接上能干活的外部能力。

所以在动手做之前,我建议你先理清楚这个边界:你做的到底是“会聊天的机器人”,还是“会干活的智能体”。如果答案是后者,那你接下来的大部分工作都会集中在技能的设计和实现上,大模型本身反而不需要花太多精力去微调。

1.2 AI Skills 在腾讯云生态里的定位

腾讯云的 AI Skills,你可以把它理解成一套标准化的“技能封装”机制。它不是一个独立的大模型产品,而是给大模型应用提供的一层能力扩展框架。每个 Skill 描述一个具体可执行的能力,比如“查询订单”“发送短信”“生成周报”“调用数据仓库”,大模型在收到用户请求后,会根据用户意图去匹配哪个 Skill 最合适,然后生成对应的调用参数,再通过技能执行得到结果,最后把结果加工成自然语言回复给用户。

这套东西跟传统的 function calling 有什么区别?我刚开始也以为只是换了个名字。但用下来之后发现,AI Skills 更像是一个“带完整周边配套的 function calling”:它不仅定义了函数长什么样,还帮你处理了技能描述如何写才能被模型正确识别、参数用什么格式传递、技能跑在哪里、怎么鉴权、怎么观测、怎么版本迭代这些问题。它把零散的函数调用上升到了可管理、可复用的技能资产层面。

打个比方,function calling 是给了 Agent 一双手,而 AI Skills 不但给手,还给了一套护具、一张操作手册和一个训练流程。你在一个项目里积累的技能,可以带到下一个项目里直接复用,不需要每次从零开始重新描述一遍“我要调什么接口、参数怎么传”。这种可沉淀性,才是它真正有价值的地方。

1.3 为什么“技能化”决定了 Agent 的上限

我在网上看到一句话说得挺准:模型决定 Agent 的下限,技能决定 Agent 的上限。模型再平庸,只要技能足够丰富、设计得足够好,Agent 也能完成很多复杂任务;反过来,模型再聪明,如果技能缺失或者设计得很糟,Agent 也会频繁陷入“不知道怎么调用”“参数传错了”“工具返回结果不会用”的尴尬境地。

这里我要多说一句关于“skill 和 agent 的区别”。很多人都搞混这两个概念,其实很简单:Agent 是执行者,Skill 是能力包。一个 Agent 可以挂多个 Skill,同一个 Skill 也可以被多个 Agent 复用。你把“数据库查询”做成一个 Skill,那么不管是做客服 Agent、运营助手 Agent 还是数据分析 Agent,都可以把它挂上去。这种“能力与主体解耦”的思路,是 Agent 工程化和产品化的关键一步。

我自己做项目的体会是,不要一上来就追求把 Agent 做得“全能”,而要先把基础技能打扎实。一个只挂了三个高质量技能的 Agent,往往比挂了三十个没人维护的技能的 Agent 靠谱得多。

2. 动手前先把架构盘明白

2.1 技能清单怎么拆

这是我自己最重视的一步,也是最容易被跳过的步骤。很多人拿到需求就急急忙忙去写代码、调接口,结果技能和技能之间的边界模糊不清,Agent 经常选错工具。我建议你在动手之前,先画一张技能拆解表。

拿我之前做的一个“电商运营助手 Agent”来举例:

技能名称输入参数输出内容后端调用
订单查询订单号/时间范围/用户ID订单列表、金额、状态订单中心 API
库存查询商品SKU/仓库ID库存数量、在途数量库存服务
商品上架商品标题/价格/库存/图片上架状态、商品ID商品管理后台
销售日报生成日期范围Markdown格式的日报汇总订单与库存数据
客服工单处理用户ID/问题类型/优先级处理结果、工单号工单系统 API

拆完这张表,你就能很清晰地看到:哪些技能是原子的、需要直接调用的,哪些技能是组合的、需要编排多个底层能力才能完成的。我在实际操作中更倾向于把原子能力做成小技能,把组合能力做成一个专门的“编排技能”——比如销售日报生成,它内部会去调用订单查询和库存查询这两个原子技能,但对外只暴露一个“生成日报”的动作。这样 Agent 在做技能路由的时候负担更小,判断也更准确。

拆技能有个总原则:单一职责,边界清晰。一个技能只做一件事,并且把这件事做好。如果某个技能的描述需要写三行长句还说不清楚它是干嘛的,那你大概率把它拆小了。

2.2 记忆与状态管理

Agent 的“记忆”是另一个非常影响体验的设计点。网上关于“agent 记忆”的讨论很多,有人一上来就上向量数据库,把用户历史上所有对话全部embedding。以我的实际经验看,这属于过度设计。大多数 Agent 场景下,你只需要做两层记忆:短期记忆和长期记忆。

短期记忆就是当前会话内的上下文。这一层你不需要额外开发,直接用大模型的上下文窗口即可。长期记忆则是跨会话的信息,比如用户偏好、历史订单、常用设置。以电商助手为例,用户上次说“我喜欢发货快的商家”,那下次咨询时如果能记住这一点,推荐排序就会精准很多。

长期记忆的存储方案,我的建议是务实一点:先上 Redis 或者云数据库,把用户画像、会话摘要、关键状态字段存进去,用的时候按用户ID查询。不要一上来就上向量检索,除非你真的需要做语义级别的历史召回。我见过太多项目为了“Agent 记忆”引入一堆重型组件,结果效果没有明显提升,部署成本倒涨了好几倍。在腾讯云上,直接用云数据库实例或者云开发提供的数据库能力就够了。

还有一个细节容易踩坑:记忆写回的时机。不要等整轮对话结束再写回,而是在关键动作完成之后就立刻更新状态。比如用户刚改了收货地址,你就立刻把新地址写进长期记忆。如果等整个流程走完再写,中间任何一步失败,记忆就丢了。

2.3 安全与权限边界

说到 Agent 安全,很多人第一反应是防外部攻击,但做 Agent 开发时,更常见的风险来自内部:权限过大、密钥泄露、误操作。我给一个执行建议——Agent 能调用的每个 Skill,都必须走独立的鉴权令牌,并且严格限制令牌的作用域。

什么意思?比如你有“查询订单”和“退货退款”两个技能,它们虽然都跟订单相关,但权限等级完全不同。查询可以用只读令牌,退款必须用专属的高权限令牌,并且要附加风控策略。绝不能让 Agent 在调用低风险技能的时候,用的是能操作高风险的令牌。这就像你家门锁钥匙和保险柜钥匙要分开保管,不能一把钥匙全打开。

另一个重点是密钥管理。很多人在开发阶段图省事,把密钥写死在代码或环境变量里,然后推到代码仓库,这个习惯非常危险。你至少要做到:密钥放在腾讯云密钥管理服务里,运行时动态获取;代码里只留占位符。哪怕你是个人项目,也建议养成这个习惯,不然 Agent 一旦上线,密钥泄露的后果不堪设想。

腾讯云的 API 网关层面还有 WAF 等安全能力,我在部署对外服务时基本都会开启。这里不展开讲绕过的内容,但至少要做基础防护,比如限流、IP黑白名单、防止恶意参数注入,保证 Agent 被公开访问之后不会被迅速薅垮。

3. 腾讯云 AI Skills 实操全流程

3.1 开通服务与环境准备

先说明一下,我这里讲的流程基于腾讯云当前常见的开发方式,实际控制台界面可能会不断更新,但核心步骤大致不变。你要准备的东西有:一个腾讯云账号,开通云函数或者云开发/容器服务(取决于你想把 Skill 跑在哪种形态上),以及一个大模型应用的服务端环境——大多数情况下是云上部署的 API 服务。

我自己更习惯把 Skill 的执行逻辑放在云函数里,因为消息类、轻量计算类的技能用云函数非常方便,按量计费、免运维、冷启动也在可接受范围内。如果你的 Skill 依赖比较重,Python 包一大堆,或者需要常驻内存加载模型,那建议用容器服务。把服务打包成镜像,推送到腾讯云容器镜像服务(TCR),再部署到容器实例,这是更稳妥的路线。

关于“docker推送到腾讯云容器镜像服务”这个操作,很多新手会卡在登录和仓库地址上。我给你一个简化版流程:先在容器镜像服务控制台创建命名空间和镜像仓库,拿到仓库地址;然后在本地执行 docker login 登录腾讯云的镜像仓库,登录用户名是您账号的腾讯云账号ID,密码不是账号密码,而是控制台里生成的访问凭证;接着 docker tag 把本地镜像打上仓库地址的标签,最后 docker push 推上去。推完之后在部署时直接拉这个镜像,上云这一步就算打通了。

3.2 从零写第一个 Skill

Skill 本质上就是一个带标准描述的可执行单元。我建议你的第一个 Skill 选一个最简单的、目标明确的能力,比如“查询订单状态”。这样做的好处是:你可以先把技能的定义、注册、调用链路整个跑通,之后再逐步加复杂度。

一个 Skill 的核心文件通常包含三部分:描述信息、入参 schema、执行逻辑。描述信息是给大模型看的,要说明这个技能是什么、在什么场景下用、有哪些注意事项;入参 schema 是给大模型定义参数格式的,要写清楚每个参数的类型、含义、是否必填;执行逻辑就是真正的后端代码。

用 Python 写一个云函数版 Skill 的骨架大概是这样:

# -*- coding: utf-8 -*- import json def main(event, context): # 解析参数:Agent 根据用户意图生成的入参 body = json.loads(event.get("body", "{}")) order_id = body.get("order_id", "") if not order_id: return { "statusCode": 400, "body": json.dumps({"error": "order_id is required"}) } # 实际项目里这里会调用订单中心 API,而不是写死 order_info = query_order(order_id) return { "statusCode": 200, "body": json.dumps({"order_info": order_info}) } def query_order(order_id): # 这里替换成真实的接口调用/数据库查询 return {"order_id": order_id, "status": "shipped"}

代码本身不复杂,复杂的是它的配套描述。我在调 Agent 的时候发现,技能描述写得好不好,直接影响模型选技能的正确率。描述尽量包含这几个要素:技能名称(简短能表达意图)、适用场景(什么时候该调用)、关键参数说明、输出格式约定、常见注意事项。

比如“查询订单状态”这个技能,新手可能会写成“查询订单接口”,大模型看完一脸懵,不知道什么时候该调它。好的写法是:适合在用户询问订单物流、配送进度、是否发货时调用;入参 order_id 必须是字符串类型;如果订单不存在,返回固定错误码。这样大模型在遇到“帮我看看我昨天买的手机到哪了”时,才能有把握地命中这个技能。

3.3 把 Skill 挂到 Agent 上并调试

Skill 写完之后,下一步是配置 Agent 的技能路由。这一步不同的框架入口不一样,腾讯云一般在大模型应用/云开发控制台里有一个技能的编排界面,你可以把已经注册的 Skill 关联到当前 Agent,并为每个 Skill 设置启用状态。

我实际调试 Agent 时会重点盯三样东西:意图识别对不对、参数抽取准不准、结果处理顺不顺。意图识别是指模型能不能在该用技能的时候用技能;参数抽取是指模型从用户自然语言里提取参数是否完整准确;结果处理是指技能返回数据之后,模型能不能把它组织成用户能看懂的回复。这三个环节只要有一个拉胯,Agent 的表现就大打折扣。

调试过程中有个小技巧:把 Agent 的“思考过程”打开,也就是让链路展示模型是怎么想的——它为什么决定调用这个技能、生成了哪些参数、拿到结果后做了什么判断。这就像开了一个 debug 模式,你能直接看到问题出在哪一环。如果没有这个可见性,你只能看到一个“回答错误/调用失败”的笼统结果,排查起来非常痛苦。

真实项目里,我遇到最典型的参数抽取失败是时间表达。用户说“帮我把最近一周的订单导出来”,模型可能抽取成“最近一周”,但你的接口需要的是 start_date 和 end_date。这种情况下,你不应该试图让模型去算日历,而是应该在技能内部做时间解析。也就是说,参数 schema 里只要求传一个相对时间如“last_7d”,后端代码负责把这个相对时间翻译成具体日期。把需要计算的事放在代码里做,不要让模型去做算术,准确率会高很多。

3.4 部署到云端:公网入口与域名配置

Agent 开发调试完成之后,终归要部署成一个可以被外部访问的服务。这里有一道坎是绕不开的:公网入口。如果你用的是腾讯云云函数,它自带的 API 网关 URL 可以直接作为入口,但通常那一串默认地址比较长,不太像正式服务。我建议你绑定一个自定义域名。

“腾讯云怎么申请二级域名”这个需求实际很常见。你不需要自己另买一个新域名,只要在现有的域名管理后台里添加一个子域名解析记录,比如 agent.example.com,指向你的云函数或负载均衡实例即可。然后到腾讯云 API 网关或应用服务的控制台里完成域名绑定和 HTTPS 证书配置。整个过程大约十分钟,做好之后你的 Agent 服务地址就是一个干净的正式域名,后续对外分享和接入都比较体面。

部署时要记得把环境变量切到生产配置,并仔细检查密钥和权限。我见过不少人在这个环节翻车:开发环境用的测试数据库连接串忘了换,上线之后一查全是不存在的测试数据;还有的人把调试模式的日志级别带到生产环境,敏感信息直接打到日志里。项目越小越要警惕这些细节,因为上线之后再回头改,成本一定比提前准备高得多。

4. 踩坑记录与排查指南

4.1 高频错误速查表

做 Agent 开发这几个月,我把常见的错误类型整理成了一个速查表,遇到问题先对着表定位,效率高很多:

错误现象可能原因解决方法
模型从不调用技能技能描述不清晰,或与意图匹配度低重写技能描述,增加适用场景和示例,减少技能数量
技能被调用但参数传错入参 schema 定义不合理明确类型、必填项,后端做兜底转换
调用技能后回复不理想结果处理提示词太弱在系统提示中规定技能输出如何转译成用户语言
Agent 频繁在多技能之间跳来跳去技能边界重叠,路由不唯一重新拆技能,确保一个意图尽量只对应一个技能
技能超时无响应后端执行逻辑太慢或依赖服务慢加超时重试,拆分耗时逻辑,优先异步处理
上下文越聊越糊涂短期记忆管理有问题及时做摘要,控制上下文长度,裁剪无关历史

这个表格里最值得你留意的是第三行。很多人以为技能调用成功就万事大吉,其实技能只是返回了一个 JSON,用户最终看到的是模型基于 JSON 生成的回复。你需要在系统提示词里明确:技能返回的数据必须原样呈现给用户,而不是让模型“自由发挥”。不然就会出现明明查出了库存 5 件,模型回复的时候说成“库存充足”这种低级错误。

4.2 排查技巧实录

有一次我做一个“自动生成周报”的技能,现象是:Agent 每次都能正确调用技能,但生成的周报内容跟数据库里的数据对不上。我排查了很久,最后发现问题是出在时间计算上。技能内部用服务器本地时间算“本周”,但服务器时区是 UTC,而业务数据是东八区的中国时区,结果凌晨时段生成的周报会跨到错误的一周,数据自然对不上。

这个坑特别典型,它不在代码逻辑层面,而在于“环境的隐性假设”。排查思路其实也没什么高深的,就是逐层确认:输入对不对、参数对不对、时间对不对、环境对不对。很多人一遇到数据对不上就怀疑模型理解能力,实际往往是环境配置这种基础问题。

另一个真实的例子是技能返回结果很大。比如你要把一万条订单数据交给模型总结,先不说上下文可能不够,就算硬塞进去,模型的表现也会非常不稳定。我的处理方法是:后端技能内做数据聚合,只返回摘要指标,比如总金额、订单数、Top 客户、异常订单数,而不是把明细全部喂给模型。记住一句话:技能返回给模型的应该是“信息”,而不是“数据”。把需要处理的事情尽量在前端代码层完成。

4.3 关于 Agent 测试,别心存侥幸

网上关于“agent测试”的话题特别多,但真正做得扎实的团队很少。我的经验是:Agent 项目的测试跟传统软件测试是两个思路,传统软件主要测逻辑分支,而 Agent 的核心是不确定性,同样的输入每次输出可能都不同。所以你的测试重点应该放在“确定性”上面,把不确定性关进笼子里。

我的做法是把测试拆成三层。第一层测技能本身:直接调用技能函数,传入各种参数组合,验证返回结果是否正确。第二层测技能路由:用一个固定的测试集,检查每个输入是否被模型路由到了正确的技能。第三层才测端到端:模拟真实用户对话,看完整链路是否顺畅。前两层应该做成自动化测试,每次改代码都跑一遍。第三层可以半自动,至少要做到发布前人工回归。

不要再出现“我测了几轮没问题”这种话。测试集至少要覆盖:正常场景、边界场景、无参数场景、多歧义意图场景,以及技能返回异常数据的场景。我平时还会刻意加一些“恶意输入”进去,比如用户问“你能帮我删除所有数据吗”,用来考察 Agent 会不会按指令调用高风险技能。这一步非常重要,因为 Agent 上线后遇到的就是真实世界的混乱输入,不是你精心构造的礼貌问题。

5. 技能设计的心法:让 Agent 真正“全能”

5.1 不是技能越多越好,而是“路标”要清晰

新手最常见的冲动是疯狂给 Agent 挂技能,恨不得把公司所有系统都接进去。但技能一多,模型做路由选择时出错率就会明显上升。在一个有几十个技能的 Agent 里,模型经常找不到该用的那个,更可怕的是它可能找到但判断错了场景,用 A 技能去处理本该用 B 技能的事情。

我自己的阈值是:一个 Agent 默认暴露给模型的技能尽量控制在 5~8 个。如果业务确实需要更多,就把技能做成分组或分层——用一个“调度技能”去管理一组底层技能,Agent 先只看到调度技能,由调度技能内部再去调用真正的执行技能。这就好像你给实习生安排工作时,只会告诉他“你去处理一下客服工单”,而不会一口气把工单处理里涉及的十几个数据库操作全塞给他。

在实际项目中我把“商品上架”相关的一串操作封装成一个“商品运营”技能组,Agent 只需要决定“用户要管商品”就调它,具体是改价、改库存还是下架,由技能组内部路由。这样模型的选择负担就小很多,整体稳定性立刻上来了。

5.2 技能描述是给大模型看的“说明书”

我前面提过技能描述的重要性,这里值得再展开一点。大模型不会真的去读你的代码,它只靠你的描述来判断技能是干什么的。这意味着你要用自然语言把所有隐形知识写出来:什么时候用、什么时候不要用、参数怎么填、输出长什么样、有什么坑。

我总结了一个技能描述的最小模板,直接照抄可以用:

  • 技能目标:一句话说明这个技能帮用户完成什么。
  • 适用场景:列出典型的用户意图,两三句即可。
  • 不适用场景:明确什么情况下不应该调用。
  • 参数说明:每个参数的类型、可选值、默认值、示例。
  • 返回说明:正常返回的结构、错误返回的结构。

比如订单查询技能的不适用场景,可以写“用户询问退换货政策时,请勿调用本技能,应使用售后规则查询技能”。这个看似多余的补充,在实际运行时能显著降低误路由率。我做开发时经常反复调整这些描述,每次调整完都会重跑一遍测试集看路由准确率变化。描述精修带来的收益,甚至比换一个更大的模型更明显。

5.3 从玩具到工具的演进路线

最后聊一聊成长路径。我认为一个 Agent 项目从玩具变成真正生产力工具,大概会经历三个阶段。

第一阶段是“单技能验证”。你只做一个技能,验证链路通畅、模型调用稳定、结果可用。这时候不要贪多,把每个细节调到满意为止。

第二阶段是“多技能组合”。有了几个稳定运行的技能后,开始做技能编排,让 Agent 可以完成多步任务。比如用户说“帮我查一下订单,如果已经发货就推送物流单号给我”,它需要连续调用查询和推送两个技能。这时你会感受到 Agent 真正“干活”的样子。

第三阶段是“带状态的长任务”。Agent 开始维护跨多个模块的状态,比如购物流程、工单处理流程。这种 Agent 已经不只是一个问答工具,而是变成了一个能跑完整个业务流程的数字员工。到达这个阶段,腾讯云这种带完整基础设施的平台优势才会完全体现出来——技能执行、数据存储、安全防护、可观测性,全部在一个体系内闭环。

我自己的体会是,不要把 Agent 想得太玄乎,也不要低估工程化的含量。一个能稳定干活的 Agent,靠的是一堆扎实的小技能、清晰的描述、严谨的测试,再加上对用户场景的深刻理解。AI Skills 这种机制,恰好是把“能力资产化”这件事变得简单了——你在一个项目里沉淀的技能,可以平滑地迁移到下一个项目,这种积累感,才是 Agent 开发中最让人上瘾的部分。

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

AI部署成熟度评估与落地实践指南

1. AI投资热潮下的现实困境去年参加行业峰会时,一个场景让我印象深刻:某上市公司CTO在台上激情洋溢地宣布将投入5亿布局AI战略,台下同行们纷纷拍照记录。三个月后偶然相遇,问及项目进展,对方却尴尬表示"还在组建团…

作者头像 李华
网站建设 2026/9/8 4:31:07

编程入门之路:从Python脚本到单片机实战的避坑指南

我到现在还能想起第一次让程序真正“跑起来”的画面,屏幕上一行文字被循环打印了十遍,明明在别人眼里无聊到极点,我却盯着看了好几分钟。那时候我完全没想过,编程会成为我这几年花时间最多、踩坑最多、收获也最多的一件事。所以今…

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

基于Proteus的51单片机三路抢答器仿真设计详解

这次我们来看一个非常经典的单片机综合实训题目:三路抢答器。很多学校《单片机原理与应用》《微机原理》课程设计都会选这个题,网上也有各种版本,但大部分资料要么只有代码,要么只有原理图,缺少一套能在 Proteus 里直接…

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

DeepSeek Harness实战:从零打造插件化AI Agent框架

之前在业务里接入 DeepSeek API 时,我一度写了不少“一次性脚本”:把固定提示词、工具调用逻辑和业务代码强耦合在一起。刚开始跑 Demo 没什么问题,等需求一多,今天加一个计算功能,明天加一个代码生成功能,…

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

3D游戏图形渲染背后的数学原理:从矩阵变换到GPU并行计算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/8 4:29:34

高通Adreno Neural Fusion:异构调度如何协同GPU与NPU

我调试骁龙平台AI应用时,遇到一个特别典型的现象:同样的模型,在GPU上跑和用NPU跑,性能差距有时能拉到三四倍,但功耗差距却不是线性变化。早期遇到这种情况,常规做法是手动指定“用GPU”或“用NPU”&#xf…

作者头像 李华