Claude Code Buddy өзгерту нұсқаулығы: қалай жарқыраған аңыз деңгейіндегі питомец алуға болады
Claude Code Buddy өзгерту нұсқаулығы: қалай жарқыраған аңыз деңгейіндегі питомец алуға болады
2026 жылдың 1 сәуірінде, Anthropic Claude Code 2.1.89 нұсқасында жұмбақ функцияны іске қосты — /buddy питомец жүйесі. Терминалда /buddy енгізгенде, ASCII стиліндегі кішкентай жануар "жұмыртқадан" шығып, сіздің енгізу жолағыңыздың жанында пайда болады, код жазуға және қателерді талқылауға көмектеседі.
Әр Buddy аккаунт ID арқылы детерминирленген алгоритммен генерацияланады, яғни бір аккаунт әрқашан бір және сол питомецті алады. Бірақ конфигурация файлының userID-ін өзгерту арқылы біз қалаған питомецті "қайта айналдыра" аламыз. Бұл мақалада алгоритмнің принципі мен толық өзгерту сценарийі егжей-тегжейлі баяндалады.
I. Buddy жүйесінің шолуы
18 түр
Жүйе қазіргі уақытта 18 сүйкімді түрді қамтиды:
- duck - үйрек (классикалық Rubber Duck Debugging)
- goose - қаз (бұзақы)
- blob - желе (жұмсақ, пішіні тұрақсыз)
- cat - мысық (салқын, мақтаншақ)
- dragon - айдаһар (қорғаныш)
- octopus - сегізаяқ (көп ағынды ойлау)
- owl - үкі (дана ұстаз)
- penguin - пингвин (ресми түрде қатысу)
- turtle - тасбақа (сенімді)
- snail - ұлу (баяу, бірақ сапалы жұмыс)
- ghost - елес (кездейсоқ)
- axolotl - аксолотль (сүйкімді, емдейтін)
- capybara - капибара (бос уақыты бар шебер)
- cactus - кактус (жылы жүрек өсімдігі)
- robot - робот (рационализм)
- rabbit - қоян (жанды, белсенді)
- mushroom - саңырауқұлақ (тыныш бақылаушы)
- chonk - семіз (дөңгелек)
5 деңгейлі сирекшілік
- Common (қарапайым) - 60% ықтималдық, бас киім безендіруі жоқ
- Uncommon (сирек) - 25% ықтималдық, бас киімді ашу
- Rare (сирек) - 10% ықтималдық, көп безендіру
- Epic (эпикалық) - 4% ықтималдық, арнайы безендіру
- Legendary (аңыз) - 1% ықтималдық, ең жоғары безендіру
II. Алгоритм принципінің терең талдауы
Buddy-дің генерациясы детерминирленген кездейсоқ алгоритмді қолданады, негізгі процесс мынадай:
1. Тұқымдық жолды біріктіру
const SALT = "friend-2026-401"; // 1 сәуірдегі алдау күні жұмбағы const key = userId + SALT;
Salt мәні friend-2026-401 ішіндегі 401 1 сәуірді білдіреді — мұқият жобаланған алдау күні жұмбағы.
2. FNV-1a 32-биттік хэш
Тұқымдық жолды 32 биттік бүтін санға айналдыру:
function hashString(s) { let h = 2166136261; // FNV offset basis for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); // FNV prime } return h >>> 0; }
3. Mulberry32 PRNG
Хэш мәнін псевдослучайлы сан генераторын инициализациялау үшін пайдалану:function mulberry32(seed) { let a = seed >>> 0; return function() { a |= 0; a = (a + 0x6d2b79f5) | 0; let t = Math.imul(a ^ (a >>> 15), 1 | a); t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; return ((t ^ (t >>> 14)) >>> 0) / 4294967296; }; }
Мулберри32 - ойын дамытуда жиі қолданылатын жеңіл PRNG, бағдарламалық түрде генерациялау және трофейлердің түсу кестесіне жарамды.
4. Сирек кездесетіндікті алу (маңызды!)
const RARITIES = ["common", "uncommon", "rare", "epic", "legendary"]; const RARITYWEIGHTS = { common: 60, uncommon: 25, rare: 10, epic: 4, legendary: 1 };
function rollRarity(rng) { const total = 60 + 25 + 10 + 4 + 1; // = 100 let roll = rng() * total; for (const rarity of RARITIES) { roll -= RARITYWEIGHTS[rarity]; if (roll < 0) return rarity; } return "common"; }
重要:RARITIES 数组的顺序必须是从低到高,这是加权随机选择的标准实现。
三、完整 Reroll 脚本
以下脚本可以搜索并生成闪光传说级 Buddy 的 userID:
// Claude Code Buddy Reroll 脚本 // 基于 Claude Code 源码逆向分析
// FNV-1a 32-bit hash function hashString(s) { let h = 2166136261; for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); } return h >>> 0; }
// Мулберри32 PRNG function mulberry32(seed) { let a = seed >>> 0; return function() { a |= 0; a = (a + 0x6d2b79f5) | 0; let t = Math.imul(a ^ (a >>> 15), 1 | a); t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; return ((t ^ (t >>> 14)) >>> 0) / 4294967296; }; }
const SPECIES = [ "duck", "goose", "blob", "cat", "dragon", "octopus", "owl", "penguin", "turtle", "snail", "ghost", "axolotl", "capybara", "cactus", "robot", "rabbit", "mushroom", "chonk" ];[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]]- Конфигурацияны өзгерту: # Редактировать ~/.claude.json cat ~/.claude.json | jq '.userID = "сенің жаңа userID" | del(.companion)' > /tmp/claude-new.json && mv /tmp/claude-new.json ~/.claude.json
- Claude Code-ты қайта іске қосу,
/buddyенгізсеңіз, жаңа питомцыңызды көресіз!
Бес, алаяқтыққа қарсы дизайн принципі
Claude Code-тың дизайны өте шебер, сkeleton (Bones) және soul (Soul) бөліну архитектурасын қолданады:
- Bones (сkeleton):түр, сирек кездесетіндік, сыртқы түр, қасиеттер——әрқашан userID-ден қайта есептеледі, ешқашан тұрақты емес
- Soul (жан):аты, мінез сипаттамасы——жергілікті конфигурацияға тұрақтандырылады
roll(userID) нәтижесімен жабылатындығын білдіреді. Пікірлер өте анық жазылған: editing config.companion can't fake a rarity.
Бірақ userID-ді өзгертуге болады, бұл мақаланың әдісінің негізі.
Алты, қорытынды
Claude Code Buddy - бұл мұқият жобаланған жұмбақ функция, құрамында:
- Деректерді кездейсоқ анықтау:FNV-1a + Mulberry32 классикалық комбинациясы
- Карталарды тарту механизмі:5 деңгейлі сирек кездесетіндік + 1% жарқырау, Gacha ойындарының мәні
- Алаяқтыққа қарсы дизайн:сkeleton/soul бөліну, әділдікті қамтамасыз ету
- Тапқырлық жұмбағы:salt мәні 1 сәуірдің уақыт белгісін жасырады
Сілтемелер:
- Claude Code 2.1.89 бастапқы кодының ағып кетуі (npm source map оқиғасы)
- Juejin: 《Claude Code Buddy режимін терең зерттеу: кактус артындағы кездейсоқ анықтау алгоритмі》- DEV.to: Мен Клодтың Кодын Жырттым

