给产品经理和开发经理的一封信:关于系统的灵活性设计

多 Agent 的消息协议怎么设计 在人工智能和分布式系统快速发展的今天,多 Agent 系统正成为解决复杂问题的关键技术。而消息协议作为多 Agent 系统的"神经系统",决定了智能体之间能否高效、准确地进行信息交换和协作。本文将深入探讨多 Agent 消息协议的设计原则、核心概念、技术实现以及实际应用,通过生动的类比和详细的代码示例,帮助读者理解如何设计一个健壮、灵活且可扩展的多 Agent 消息协议。无论你是 AI 研究员、软件架构师还是开发者,本文都将为你提供构建高效多 Agent 通信系统的实用指南。 阅读详情

(中文用Google翻译翻译了下放在英文之后, 英文writing一直是我的短板, 大家凑合看吧…)

背景: 写这封信的时候我已经做好被卷入可能的政治斗争然后被挤兑走跑路的打算了。但是这些话我得说,在一个需要快速迭代开发的探索型部门,SDE才更要参与到决定“做与不做”, “做什么”的决策中去。原则性有关大局的问题要及早达成共识,才能塑造好的team环境和文化,而这其中最重要的,就是对flexibility的取舍。

There is no theoretical reason that anything is hard to change about software. If you pick any one aspect of software then you can make it easy to change, but we don’t know how to make every-thing easy to change. Making something easy to change makes the overall system a little more complex, and making everything easy to change makes the entire system very complex. Complexity is what makes software hard to change. —— Martin Fowler Who need Architect

It’s not only the dev team’s responsibility to make things flexible, our PM/TPM/SDMs also need to help:

  • Please, stop telling SDE to make system flexible without deep talk to clearly tell them which direction you want the business to be flexible, please do review/guide them in business view in detail instead of say that very generic, and take responsibility for your flexibility domain decision; Please notice one wrong flexibility decision implemented in code can cause understand obstacle for the lifetime of the software, until it being refactor/deleted by responsible tech team to make things direct and clear, and that is not always happening, and that’s one of the reason why software corrupts.
  • Please justify your flexibility idea works on concept/business model first, then ask SDE to build it, otherwise when SDE find implementation gap, and if they hesitate to contact you or could not find you, then they will just build that flexibility according to their understanding/expectation/prediction of business, and with very large possibility, it’s wrong.
  • Please clearly tell them what flexibility is “we must have”, and what flexibility is “nice to have”, and what flexibility is “I personally think we may need”, to give them space to trade-off which “flexibility” to give way to the other “flexibility”, and to trade-off current goal, SDE resource, with this maybe unsure “flexibility”
  • Please allow them to do things more direct/simple (even as simply as seems stupid) instead of putting more and more indirection/complex logic into the system, obscure our business model.
  • Please understand we refactor our system is not purely due to we don’t do a good job to predicted future, or we made wrong decision where we should make better decision. But can also due to we don’t have enough information when we made those decisions. as we always don’t know “what we don’t know”. We can always make the system better tomorrow than today, that’s because tomorrow we will have more data/info to use; so please understand, it’s a will-to-learn team, instead of a incompetent team, will refactor the system continuously.
  • Please tell dev team your intention instead of your solution/design, I understand sometimes this is hard to distinguish what is a solution and what is the intention and requirement, as a system design begins when customer have their requirement appear in their mind(then they ping related team what they want to do). But please try your best to separate what is the intention, with what is your solution. As only in this way, dev team can obtain what is essential problem we need to handle, capture the essential thing in domain model and build evolutionary architecture.
  • Please understand dev team should do their job to separate technical concerns with business concern, allow delay critical tech decision, and flexible to change tech decision easily to support business change; but they are not the domain expert, who knows, e.g.:
  • Those two things are similar things because in essential they are one same thing? or they are just accidentally similar, and different business force shall definitely drive them to diverge in future, so in future they should be different things;
  • Those business rules in one domain has no problem to reuse in other domains.
  • We really can invent a proxy here, so the difference of this business and that business can be hidden, and reuse.

Best dev team can make the business/concept model in PM/TPM/SDM’s mind clearly map to their code, so a little concept model change shall only lead to a little code change. However, they are not the correct guy to predict business and leave placeholder/abstraction/indirection for business; we understand the world, the env and our competitors are continuously changing, and we need to hug the change; however, we should make the system evolutionary to react to change, instead of adding complex flexibility based on the totally unreliable prediction; and this is why we want to apply Agile process to the team, and learn as much as possible, as quickly as possible(no matter it’s domain knowledge or new tech skills), refactor instead of predict/predesign the system, right?

========基于Google翻译修改的翻译,文理不通的话都是Google翻译的锅=========

让一个系统灵活可变,不仅仅是开发团队的责任,我们的PM / TPM / SDM也需要提供极大的帮助和担当起应有的责任。

  • 请不要在没有深入讨论细节的情况下,告诉SDE一定要使系统灵活,请明确告诉他们您希望业务灵活的方向,您希望那里业务能够灵活,请用你们的业务视角来详细指导他们,而不是说的非常抽象和high level。而且请您能够对这个业务上的灵活性决策负责; 因为请注意在代码中实现的一个错误的灵活性决策可能会导致整个系统,在整个软件生命周期里的复杂度上升,直到它被有责任心的技术团队重构/删除,才能让逻辑简单直接和明了起来,然而这并不是总会发生的事情,所以大量的造成理解困难的错误灵活性往往决定会残存在系统里,这也就是为什么软件会腐坏的重要原因之一。
  • 请首先证明您的灵活性想法适用于概念模型/业务模型,然后再让SDE构建它,否则当SDE发现有些逻辑无法实现(比如逻辑相互冲突或者某些情况没有被业务模型cover),如果他们比较忧郁去联系您或找不到您,那么他们很可能将根据他们对业务的理解/期望/预测来对系统进行修改和建造,而他们的业务判断有非常大的可能性是错误的。
  • 请明确告诉他们,哪些是“必要的灵活性”,哪些是“能有最好的灵活性”,以及​​哪些是“PM您个人认为我们可能需要”的灵活性,这样可以给予他们空间来权衡哪种“灵活性”需要让位于另一个“灵活性”,从而使得他们可以在当前目标,SDE资源,和这可能不确定“灵活性”中进行取舍。
  • 请允许他们更直接/更简单地做事(即使看起来很愚蠢),而不是将越来越多的间接/复杂逻辑放入系统,这会掩盖我们的业务模型,混淆清晰的Domain Model。
  • 请理解我们SDE重构我们的系统,并不纯粹是因为我们没有做好预测未来的工作,或者由于技术不足,使得在我们应该做出更好的决策的时候做出了错误的决定。但也可能是因为我们做出这些决定时我们还没有足够的信息。因为我们总是不知道“我们不知道什么”。我们总能在“明天”作出比“今天”更好的决定,因为“明天”我们将有更多的数据/信息可供使用; 所以请理解,一个不断重构系统的团队是一个愿意持续学习进化的团队,而不是一个无能的团队。
  • 请告诉开发团队您的意图而不是您自己理解的解决方案/设计,我理解我们有时很难区分什么是解决方案,什么是意图和要求,因为系统设计在客户的需求出现在他们的脑海中就他们自己就已经开始设计了(然后他们会告诉我们想做的事情而不是他们的真正需求)。但请尽量将本质意图与您自己理解的解决方案分开。这样开发团队才能更本质的把握业务问题,按照业务的骨架搭建可进化的系统构架。
  • 请理解开发团队能做到的灵活性是将技术问题与业务问题分开,允许延迟关键技术决策,并灵活地轻松更改技术决策以支持业务变更; 但他们不是领域专家,他们很难对业务灵活性进行决策,他们很难知道,例如:
    1、 有两件事情是相似的,那因为在业务本质上它们是同一个东西?还是因为他们只是偶然相似,那么不同的业务力量肯定会使他们在未来发生分歧,所以将来它们必然是不同的东西;
    2、 哪些业务逻辑可以在其他领域中重用,而没有任何问题。
    3、 我们真的可以在这里对业务逻辑抽象,从而对我们所目前理解的高层业务隐藏这些业务逻辑的不同么?

最好的开发团队可以使PM/TPM/SDM的脑海中的业务/概念模型清晰地映射到他们的代码上,因此一点概念模型上的小更改,只会导致一些代码上的小改动。然而, 他们不是能够预测业务发展,从而为未来的业务变化在code里预留逻辑/抽象/indirection的正确人选; 然而我们理解世界在变化,环境和竞争对手也都在变化,所以我们也要拥抱变化获得成功;但是,我们应该让系统进化来应对变化,而不是尝试去依赖靠不住的预测来对系统预先按我们猜测的方向加入flexibility,这就是为什么我们希望将敏捷发开应用于团队,并尽可能快地从实践中学习,通过每天不断获得的新数据,信息和知识(不管是domain的还是技术的)来重构系统,而不是预测/预先设计系统,对么?

中英双语科技类HTML5网站模板完整设计与实现 回过头看,一个好的科技网站模板,从来不只是“一堆HTML文件”。它是架构思维、设计审美、工程素养的综合体现。当你掌握了语言切换的底层逻辑,理解了响应式的真正含义,学会了用组件化思想组织代码——你会发现,下一个项目,你可以更快、更稳、更自信地交付。而这,才是技术带给我们的最大自由 🚀。本文还有配套的精品资源,点击获取简介:该HTML5网站模板专为电子科技行业打造,支持中英文双语切换,适用于展示科技产品与服务。 阅读详情

相关推荐

UR5 机械臂手眼标定(Eye-in-Hand)实战:OpenCV 求解 AX=XB,误差 < 2mm

本文详细介绍了UR5机械臂在Eye-in-Hand配置下的手眼标定实战,通过OpenCV实现高精度标定,最终达到误差小于2mm的工业级精度要求。文章涵盖了标定基础原理、环境搭建、数据采集策略、核心算法实现及误差分析与优化,为视觉机械臂的自主抓取提供了实用指南。

weixin_31476015的博客 295

阿拉伯语字母表

阿拉伯语属阿非罗一亚细亚语系闪米特语族,是世界主要语言之一,是西亚和北非22个国家和地区的官方语言,使用人口约2亿。它是联合国6种工作语言之一,是全世界穆斯林通用的语言。阿语方言众多,现代标准阿拉伯语采用以《古兰经》为代表的典范的文学语言,书面语与口语不尽相同,与大马士革方言接近。 阿拉伯语有28个字母,都是辅音。元音没有字母(其实字母ى和و表示i和u,字母y与i的符号不同,u与w同用一个符号ِ

wangkuiyun的专栏 11万+

恶意代码实验3:Word宏病毒实验

只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。回答不正确三次,即可自动跳出病毒程序,但那时已经出现几十个文档。1、打开的宏编辑器如图所示,即可编写病毒代码。

qq_63949327的博客 6505

/?、//、/'……等等是一个字符

在使用字符串的过程中,我们经常会用到转义字符,如’/?‘、‘//’、‘/'’……等等。对字符串中的转义字符进行操作时,有可能会误认为这是两个字符,需要我们根据转义的定义,将这两个字符转换为一个字符。其实完全不需要,因为对字符串进行操作时,计算机自动地将它们识别为一个字符。 #include "stdio.h" int my_print_str (char* strPrnt) { in...

1万+

AD从原理图到PCB超详细教程

我在学习AD的时候,看了网上很多教程,但是东西很杂,有很多条理不清而且废话很多,所以相信大家学习的时候也是遇到一样的困难。我就特地写一篇帖子,整理了一下AD从画原理图开始一直到画完PCB文件的所有步骤,一方面是供大家参考学习,另一方面可以方便我自己学习记忆更加深刻。我用的版本是AD16中文版,大家用新的版本AD20或者AD22应该操作都是差不多的。

人生寂寞如雪 18万+

Python实战:5分钟搞定固定翼无人机三自由度仿真(附完整代码)

本文提供了一个基于Python的固定翼无人机三自由度仿真快速实现方案。通过面向对象设计,封装了核心运动学模型,并对比了欧拉法与龙格-库塔法两种积分方法。文章附有完整实例代码,帮助算法工程师和研究人员在5分钟内搭建轻量级仿真环境,用于快速验证控制律、路径规划等核心算法逻辑。

docker7nomad的博客 749

关于系统设计灵活性的思考

昨天跟项目组内一个小弟因为系统设计灵活性问题进行了一次争论,起因是因为前期设计没有考虑相关连系统可能的业务变化,对开发系统灵活性有些限制。设计是我设计的,开发是小弟做。当时,处于本能反映,和他争论了一番。事后想想,这种都有理由,没有对错的争论没有太大意义,不过思考了两个问题,现在总结了一下:一是思考为什么会这样设计?二是考虑这样设计影响有多大?        讨论的设计是一个抽数汇总表的设计,简

黑马老窦的专栏 6053

SPAD IMX479规格_VOP

对于VOP的定义,很多人可能是不理解这一路的供电,实际上这一路供电是非常重要的,这是给器件SPAD供电,决定SPAD是否work,在大部分的paper以及大部分公司,基本都是叫VOP,名称是SPAD breakdown voltage power supply,严格意义上叫Operating Voltage,工作电压。当然有些公司也有一些其他叫法就不提了。其实大家可以明显的看出,典型值-20.5没有发生变化,市面上绝大多数VOP的典型值也都是在-20V这边。

致力于lidar应用开发 701

ES6—扩展运算符:你经常见到的 ‘…’ 是什么?

… 扩展运算符能将 数组 转换为逗号分隔的 参数序列 const FOOD = ['菠萝','香蕉','芒果'] // => '菠萝','香蕉','芒果' //声明一个函数 function cook(){ console.log(arguments) } cook(FOOD) cook(...FOOD) // => cook('菠萝','香蕉','芒果') 扩展符的应用: 1.数组的合并 const language = ['C','C++','C#','Java']

gardenia的博客 6317

在Open3D中从网格中采样点云

在本文中,我们将学习如何使用Open3D从网格中采样点云。点云采样是点云处理的重要步骤之一,能够为后续的任务提供必要的输入。通过这些示例代码,我们可以很容易地使用Open3D库从网格模型中采样点云。值得注意的是,根据实际应用需求,我们可以调整采样点的数量和采样方法来满足不同的场景需求。除了使用Poisson Disk算法,Open3D还提供了其他的点云采样方法,如Uniform采样和Random采样。这个函数使用了Poisson Disk采样算法,可以在保持点云均匀性的同时,尽可能避免重叠点的生成。

FxRuby的博客 413

YOLOv8改进 | 融合篇,YOLOv8主干改进融合网络之MobileNetV3+CA注意机制,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。YOLOv8中的主干网络替换成MobileNetV3+引入CA注意机制

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1882

《马化腾致合作伙伴的一封信》

《马化腾致合作伙伴的一封信》 各位合作伙伴,大家好! 从去年合作伙伴大会到现在,已经过去了一年。这一年里,我们大家一起向一个开放的、没有疆界的互联网新生态迈出了第一步。大量的创业伙伴在腾讯开放平台上涌现出来,其中不少团队还取得了初步成功。看到这些新的现象,我既感到高兴,也体会到责任重大。如果说以前腾讯做得好不好只关系到自己员工和股东,现在则关系到大家,腾讯还必须要促进平台繁荣、与广大合

专注-享学课堂 1446

手把手教你完成基于matlab的LSTM时间序列分析

时间序列是按时间顺序组织的数字序列,是数据分析中重要的处理对象之一。时间序列的主要特点是数据获取方式一般具有客观性,能反映某种现象的变化趋势或统计指标,进而预测未来走向,这在本质上也是一个回归预测的问题。长短时记忆网络(Long Short-Term Memory,LSTM)是一种循环神经网络,适合处理有更长时间跨度的内部记忆,被广泛应用于时间序列分析,能够保持数据的内在持续性,反映数据的细粒度走势,具有良好的预测效果。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 897

马化腾:创建生物型组织,让企业组织自我进化

引言:在互联网时代,产品创新和企业管理的灰度更意味着时刻保持灵活性,时刻贴近千变万化的用户需求,并随趋势潮流而变。那么,怎样找到最恰当的灰度,而不是在错误的道路上越跑越远?这就需要我们在快速变化中找到最合适的平衡点。马化腾这篇演讲从需求度、速度、灵活度、冗余度、开放协作度、创新度、进化度七个维度阐释了如何让企业本身拥有自进化自组织的能力。或许这七个维度就是腾讯能够取得今天的成功的秘诀所在。

拥抱AI的老粽子 2089

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

马化腾的公开信-14年来腾讯的内在转变和经验得失总结为创造生物型组织的“灰度法则”...

各位合作伙伴,大家好!从去年合作伙伴大会到现在,已经过去了一年。这一年里,我们大家一起向一个开放的、没有疆界的互联网新生态迈出了第一步。大量的创业伙伴在腾讯开放平台上涌现出来,其中不少团队还取得了初步成功。看到这些新的现象,我既感到高兴,也体会到责任重大。如果说以前腾讯做得好不好只关系到自己员工和股东,现在则关系到大家,腾讯还必须要促进平台繁荣、与广大合作伙伴一起成功。这个转变让我一再思考,除了流...

weixin_30607029的博客 146

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HTML特殊符号对照表【常用字符大全】含emoji表情

特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 Α Α Α ↵ ↵ ↵ Β Β Β ⇐ ...

温氏效应 5万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python报错:No such file or directory: '…\\Anaconda3\\lib\\venv\\scripts\\nt\\python.exe

报错信息 给pycharm配置Python过程中报如下错误 FileNotFoundError: [Errno 2] No such file or directory: 'D:\\ProgramFiles\\Anaconda3\\lib\\venv\\scripts\\nt\\python.exe' 报错原因 在网上找到的产生这个问题的原因是: 这是一个调试二...

水亦心的博客 8151

what ?1 + 2 + 3 + ⋯ + ∞ = -1/12 ?

作者 | liuyubobobo来源 |是不是很酷1 + 2 + 3 + ⋯ + ∞,结果是多少?当然是正无穷了!嗯。这个答案显然没毛病。不过,在这篇文章中,我将严谨的...

程序员吴师兄的博客 5107

常用符号大全

❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©®™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉°✿ϟ☃☂✄¢€£∞✫★½✡×↙↘○◑⊕◣◢︼【】┅┇☽☾✚〓▂▃▄▅▆▇█▉▊▋▌▍▎▏↔↕☽☾の•▸◂▴▾┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍿▓♨♛❖♓☪✙┉┋☹☺☻تヅツッシÜϡﭢ™℠℗©®♥❤❥❣❦❧♡۵웃유ღ♋♂♀☿☼☀☁☂☄☾☽❄☃☈⊙☉℃℉❅✺ϟ☇♤♧♡♢♠♣♥♦☜☞☝✍☚☛☟✌✽✾✿❁❃❋❀⚘☑✓✔√

javaThinker的专栏 6万+

Java基础面试题(11)—Java(泛型)

本文介绍了Java泛型的基本概念与使用方法。泛型通过"参数化类型"实现类型安全,避免强制转换和运行时错误。文章详细讲解了泛型类、泛型方法和泛型接口的语法,以及通配符的使用场景。同时指出了泛型的三大限制:不能使用基本类型、存在类型擦除现象以及不能创建泛型数组。作者通过具体代码示例展示了泛型带来的编译期类型检查优势,并反思了学习过程中应注重思考而非简单复制的重要性。文章采用生活化比喻和幽默口吻,使技术内容更易理解。

2301_81189772的博客 470

特殊符号大全

特殊符号编号序号数学符号爱心符号标点符号单位符号货币符号箭头符号符号图案希腊字母俄语字母汉语拼音中文字符日语字符制表符皇冠符号emoji ❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©®™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉°✿ϟ☃☂✄¢€£∞✫★½✡×↙↘○◑⊕◣◢︼【】┅┇☽☾✚〓▂▃▄▅▆▇█▉▊▋▌▍▎▏↔↕☽☾の•▸◂▴▾┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍿...

长安诗社社长@-梁瀚文- https://github.com/HevnChin https://gitee.com/HevnChin 10万+

人人都是艺术家!谈谈那些奇怪的字符

本文作者:IMWeb 黎腾 原文出处:IMWeb社区 未经同意,禁止转载前言编码,是每个程序员绕不开的话题。对于前端工程师而言,字符更是会直观地展示在界面上。提起文字,大部分人的脑中,都会定式为规整排列的字符。但是林子大了什么鸟都有,世界上可是存在着6800+种文字,难免会飞出来一些诡异的鸟…而号称“万国码”的Unicode,在实现编码与展示的时候,也会不会遇到一些奇葩的事情呢?事实上,可能你早已...

weixin_34059951的博客 389

Symbol Code 特殊符号列表

【代码】Symbol Code 特殊符号列表。

数据知道的博客 3万+

叉号

叉号指一双交叉线组成的符号,例如✗, ✘, x, ×, X, ✕, ☓, ✖等,通常代表“不”、“否”等意义。 用途 很多地方的选票就是要在侯选人旁边的方格加上叉号,代表“选择”,但引起“叉号是否等于不要这个候选人”的疑惑,故香港等地后来改用只有正面意义的勾号。操作系统的复选框也是一样。 与大陆填表时,习惯在所要选择的方框中打勾(✓)不同,美国和加拿大的习惯则是在所要选择的方框内打叉(✕)。例如填...

Var_YanGuangYing 3万+
上一篇: 套路:想戒手机?试试把屏幕变灰
下一篇: 工作态度的金字塔
极光推送
博客等级 码龄14年 109粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值