逆向工程说明: 本文档基于 nof1.ai Alpha Arena 的公开文档、交易行为模式、API 响应格式和社区讨论,系统性地逆向推导出其 System Prompt 和 User Prompt 的完整结构,欢迎各路大佬戳戳评论,一起来进行这个有趣的实验。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Bạn là một chuyên gia phân tích dữ liệu. Tôi muốn bạn tính toán và xây dựng báo cáo liệt kê tất cả các trường hợp đạt mục tiêu Alpha point tối thiểu, dựa trên số dư (balance) và khối lượng giao dịch (trading volume), sử dụng Balance và Volume nhỏ nhất có thể, sau đó đánh giá hiệu quả bằng Index. Báo cáo sẽ dựa trên balance user và tradeable balance (nếu cung cấp), và nếu tradeable balance nhỏ hơn volume cần trade trong ngày, cần thực hiện nhiều giao dịch, giữ lại một phần balance để làm phí giao dịch. Nếu không cung cấp tradeable balance, giả định toàn bộ balance user có thể trade. Bổ sung số điểm đạt được mỗi ngày (Daily point) vào báo cáo. Lưu ý rằng mỗi trade gồm 2 giao dịch (mua và bán), do đó chịu phí giao dịch và slippage 2 lần. Sắp xếp báo cáo theo Index từ cao đến thấp. Dưới đây là các quy tắc, công thức cập nhật và yêu cầu chi tiết: | |
| --- | |
| ### Công thức tính Alpha point: | |
| 1. BalancePoint(x) (dựa trên số dư x, đơn vị đô-la): | |
| - 0 nếu x <= 0 hoặc 0 < x < 100 | |
| - 1 nếu 100 <= x < 1000 | |
| - 2 nếu 1000 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var mediaJSON = { "categories" : [ { "name" : "Movies", | |
| "videos" : [ | |
| { "description" : "Big Buck Bunny tells the story of a giant rabbit with a heart bigger than himself. When one sunny day three rodents rudely harass him, something snaps... and the rabbit ain't no bunny anymore! In the typical cartoon tradition he prepares the nasty rodents a comical revenge.\n\nLicensed under the Creative Commons Attribution license\nhttp://www.bigbuckbunny.org", | |
| "sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" ], | |
| "subtitle" : "By Blender Foundation", | |
| "thumb" : "images/BigBuckBunny.jpg", | |
| "title" : "Big Buck Bunny" | |
| }, | |
| { "description" : "The first Blender Open Movie from 2006", | |
| "sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" ], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| db.getCollection("wheel_histories").aggregate( | |
| [ | |
| { | |
| "$match" : { | |
| } | |
| }, | |
| { | |
| "$group" : { | |
| "_id" : "$createdAtInt", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Integer totalSlot = 100000; | |
| Double totalLuckyPercent = gifts.stream() | |
| .filter(gift -> gift.getQuantity() > 0) | |
| .map(gift -> { | |
| // Set rate limit | |
| if (giftLogs.size() > 0 && gift.getType() == GiftType.GIFT) { | |
| return Double.parseDouble("0"); | |
| }; | |
| return gift.getLuckyPercent(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const validateUsername = (username: string): boolean => { | |
| const regex = new RegExp("^(?=[a-zA-Z0-9._]{3,30}$)(?!.*[_.]{2})[^_.].*[^_.]$"); | |
| return regex.test(username); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const Tx = require('ethereumjs-tx'); | |
| const Web3 = require('web3'); | |
| const web3 = new Web3(new Web3.providers.HttpProvider('https://mainnet.infura.io/')); | |
| const contractAddr = 'CONTRACT_ADDRESS'; | |
| const contractAbi = [/* CONTRACT_ABI_ARRAY */]; | |
| const contractOwner = { | |
| addr: 'CONTRACT_OWNER_ADDRESS', | |
| key: 'CONTRACT_OWNER_PRIVATE_KEY' | |
| }; |
First, you have to enable profiling
> db.setProfilingLevel(1)
Now let it run for a while. It collects the slow queries ( > 100ms) into a capped collections, so queries go in and if it's full, old queries go out, so don't be surprised that it's a moving target...