Web3的ChatGPT
简介
和许多人一样,我也被ChatGPT的功能所折服。虽然我以前使用过GPT-3的playground API,也写过关于新的图像模型(如DALLE 2)的文章,但我对GPT-3响应的广度、深度和流动性还没有做好充足的准备。现在它从十四行诗到Solidity,从哲学到物理学,内容的质量简直令人惊叹。
ChatGPT仍处于起步阶段,毫无疑问,它对包括Web3在内的所有行业都是一股潜在的颠覆性力量。在这篇文章中,我将努力概述一些我相信ChatGPT将加速行业发展的方式,以及催化Web3中的教育、启发和迭代的具体方法。
教育
首先,像ChatGPT这样的人工智能系统在教育和帮助用户了解Web 3世界方面非常有用。作为一个融合了尖端技术和不透明金融模型的行业,Web 3的教育问题尤为突出。要在Uniswap v3等去中心化交易所(DEX)上进行单笔交易,用户就必须先了解钱包、助记词、流动性、流动性池等。所有这些都使新用户的进入变得异常困难,并且它也是目前Web3大规模采用的主要瓶颈。
当然,有人会说网上有无数的资源——博客、视频、课程、游戏——旨在引导用户进入这个行业。但这一切都存在一个巨大的自我引导问题:我们从哪里开始?在谷歌搜索“什么是Web3”会给我们一堆广告,然后是维基百科的一个页面,里面有术语[2]:
Web3(也称为Web 3.0)是一个关于万维网新迭代的想法,它融合了诸如去中心化、区块链技术和基于代币的经济学等概念。——维基百科
在谷歌搜索“什么是 web3”的结果。资料来源:谷歌。
什么是“区块链技术”,“基于代币的经济学”,为什么我们需要“万维网的新迭代”?对于一个完全的初学者来说,这些都没有任何意义。在找到我们能理解的东西之前,我们需要进行一堆额外的查询,点击一堆不同的链接。从根本上说,这是因为像谷歌这样的搜索引擎是信息的聚合器和内容的索引器,而不是这些内容的生产者。简而言之,谷歌基本上是一个数字图书管理员。它不知道如何准确地回答我们的问题,只能将我们指向它认为有帮助的资源。如果谷歌策划的内容不符合我们的需求,那就太不幸了。即使谷歌收集的所有关于我们的个性化信息也无济于事:它所做的只是试图为我们指出它认为可能对我们更有帮助的更好的资源。
另一方面,ChatGPT在范式上是不同的:它是内容的原始生产者,而不是简单的内容索引器。ChatGPT不像图书管理员那样为我们指出资源,它更像一个导师或老师,试图教会我们这一切都意味着什么,并且是以我们要求它的方式呈现:通过给出类比,通过引导我们到适当的博客或资源,或通过写一首关于此主题的十四行诗。作为一个原创的内容创造者,ChatGPT并不依赖于一个固定的语料库,而是根据用户的具体情况创建一个新的语料库。这就是为什么ChatGPT可以作为绝对初学者的有效一站式资料库。
用于解释 web3 的 ChatGPT 结果和用于了解更多信息的资源。资料来源:OpenAI ChatGPT。
当然,教育不仅仅是针对绝对初学者;对于任何想要了解Web3新视角的人来说,它是一个有用的工具,无论是zk-SNARK还是区块链之间的通信协议。由于Web3是一个多样化且具有技术挑战性的行业,所以总会有新的方面、想法和概念让我们眼花缭乱。这就是为什么在Web3中非常需要一个复杂的教育工具,比如ChatGPT。
灵感
ChatGPT不仅可以教我们技术原理;它还可以为我们提供如何在实践中应用该技术的想法。从本质上讲,ChatGPT还可以充当“新鲜的视角”,推动创新。这是一个例子:
问:ChatGPT 可以启用或增强的 dApp 示例有哪些? 答:ChatGPT 可以启用或增强的 dApp 示例包括:
社交网络dApp—ChatGPT可用于生成对用户帖子的自然语言响应,为用户创造更吸引人、更逼真的体验。
游戏dApp—ChatGPT可用于游戏中的角色生成类似人类的反应,创造更身临其境的游戏体验。
供应链管理dApp—ChatGPT可用于自动生成智能合约,用于跟踪和管理供应链中的商品和服务流动。
投票dApp—ChatGPT可用于自动生成投票结果和区块链其他数据的自然语言摘要,使用户更容易理解和跟踪选举和其他投票过程的结果。
预测分析dApp—ChatGPT可用于生成基于区块链数据的自然语言预测和见解,为用户提供更容易的访问,以及用直观的方法来分析和理解复杂数据的能力。
——OpenAI ChatGPT
这里提出的一些dApp想法是我以前想过的,即(1)社交媒体聊天机器人和(3)智能合约生成。虽然事后看来(2)也是有道理的,但我实际上并没有立即想到这一点。(4)和(5)是我完全错过的ChatGPT在分析领域的进一步应用。
更重要的一点是ChatGPT具有启发的能力:它为我们提供了在特定领域使用特定技术可以创建哪种类型的项目启发。因为它基本上是在整个互联网上被训练的,它可以在不同的领域之间进行推断,从而在想法的可能性上创造爆炸组合。
虽然ChatGPT的灵感力量在任何领域或行业都是可以改变游戏规则的,但它对Web3的潜在构建者来说尤其强大。从根本上讲,Web3仍然是一个新生的领域,需要大量的新思想、新模型和新概念来推动它走向成熟和大规模采用。在这个早期阶段,因为没有固定的成功公式,所以这个行业的每一个实验和想法都很重要。Web3的独特之处在于,该领域为这种实验性创新提供了巨大的经济激励,如赠款和黑客马拉松奖励。因此,ChatGPT可以潜在地成为一个巨大的催化剂,让人们发现和探索新的项目方向,提供一个灵感来源,来启动颠覆性创新的飞轮。
迭代
尽管如此,可以说ChatGPT最令人印象深刻的功能之一是它能够参与到创建本身的迭代过程中。基本上,ChatGPT不仅能教育和启发我们,而且还能让我们以两种重要的方式在代码中具体地实例化我们的想法:作为代码的原始创建者,以及作为安全漏洞的检查者。
下面是第一种情况的例子:
问:写一个智能合约,使用OpenZeppelin和一个disable_mint函数创建一个名为GPToken的ERC-20代币,符号为GPT,当铸造 100 万个代币时触发该函数。
答:
pragma solidity ^0.6.0;0.6.0;import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol";import "https://github.com/OpenZeppelin/openzeppelin-solidity/contracts/math/SafeMath.sol";contract GPToken is SafeERC20 { using SafeMath for uint256; string public name = "GPToken"; string public symbol = "GPT"; uint8 public decimals = 18; uint256 public totalSupply = 0; bool public mintingFinished = false; constructor() public { // assign totalSupply to msg.sender totalSupply = 1_000_000.mul(10**uint256(decimals)); balanceOf[msg.sender] = totalSupply; } mapping(address => uint256) public balanceOf; function disable_mint() public { require(totalSupply == 1_000_000.mul(10**uint256(decimals)), "Minting has not finished yet"); mintingFinished = true; } function mint(address _to, uint256 _amount) public { require(!mintingFinished, "Minting is disabled"); require(totalSupply.add(_amount) <= 1_000_000.mul(10**uint256(decimals)), "Cannot mint more than 1 million tokens"); balanceOf[_to] = balanceOf[_to].add(_amount); totalSupply = totalSupply.add(_amount); }}
虽然这个智能合约具有一些风格和优化可能性,例如删除使用decimals(因为代币的数量将始终是整数),并添加if语句来检查代币的数量是否等于100万,如果是则添加disable_mint,它就获得了智能合约代码的基本要点,并作为一个很好的样板起点。考虑到大部分开发时间其实都用于构建这些样板模板,所以ChatGPT可以极大地提高开发速度。当我们考虑到它的输出可以定制成各种用例时,它的功能尤其令人印象深刻,这是传统的在线操作指南和编码指南无法提供的。
ChatGPT与实际智能合约代码的第二个用例是检测智能合约代码中的漏洞。尽管ChatGPT声称它不会专门审计智能合约,但当我们输入一个易受攻击的智能合约时,它能够就合约的潜在漏洞提供适当的反馈。
ChatGPT 发现智能合约中的漏洞。来源:[https ://beosin.com/resources/can-chatgpt-the-"most-powerful-ai"-detect-vulnerabilities]
与ChatGPT创建代码一样,系统的原始输出可能并不完美,并且可能会在过程中错误地检测到一些漏洞。虽然它作为人类审计员的完全替代品并不可靠,但它可以寻找明显的漏洞[6]。
结论
ChatGPT能在多大程度上真正实现Web3开发过程的自动化?Vitalik总结得很好:
在这一点上,AI还远远不能取代人类程序员……也就是说,它确实向我介绍了一些我以前没有见过的编码模式,而且它编写基本转换器的速度比我自己更快……也就是说,AI正在快速改进,我希望它能继续改进,并随着时间的推移消除这样的错误。[7]
像ChatGPT这样的高级人工智能,它通过减少思考“如何从零到一”和重复编写样板代码所花费的“死时间”来加速 Web3 创新的学习、思考和编码进程。虽然在未来,尤其是通过特定领域的微调,我们可能会看到更复杂、更准确的代码自动化程序,但仍然没有办法让人类脱离创造过程。
Scan QR code with WeChat