بیشتر رباتهای توییتر خستهکننده هستند. آنها روی کارهای زمانبندی شده اجرا میشوند، از شبه-تصادفی استاندارد پایتون (import random) استفاده میکنند و همان محتوای تکراری ChatGPT را پست میکنند تا زمانی که مسدود شوند.
من میخواستم چیزی متفاوت بسازم. من رباتی میخواستم که از نظر فیزیکی غیرقطعی باشد - موجودیتی دیجیتالی که شخصیت آن بر اساس نوسانات واقعی زیر اتمی جهان تغییر میکند.
بنابراین، من کلکتیویست کوانتومی را ساختم.
این یک AI Agent است که:
اینجا نحوه ساخت یک AI Agent با تصادفیسازی سختافزاری بدون خرج کردن یک سنت را توضیح میدهم.
برای اینکه این برنامه بدون صورتحساب سرور برای همیشه اجرا شود، من استفاده کردم از:
import randomتصادفی بودن استاندارد کامپیوتر "شبه-تصادفی" است. این یک معادله ریاضی است. اگر دانه (seed) را بدانید، نتیجه را میدانید. این برای این پروژه به اندازه کافی "زنده" نبود.
من از ANU Quantum Numbers API استفاده کردم، که با اندازهگیری نوسانات میدان الکترومغناطیسی نقطه صفر در خلاء، داده تولید میکند.
اینجا تابع پایتونی است که به عنوان ضربان قلب ربات عمل میکند:
def get_true_entropy(): """Fetches quantum data. Fallback to cryptographic system randomness.""" try: # Connect to the Australian National University Quantum API url = "https://api.quantumnumbers.anu.edu.au/json?length=1&type=uint8" response = requests.get(url, timeout=3) if response.status_code == 200: print("✅ QUANTUM SOURCE: ACTIVE") # Normalize 0-255 to a 0.0-1.0 float return response.json()['data'][0] / 255.0 except: pass # Fallback if the universe is offline return secrets.SystemRandom().random()
وقتی ربات بیدار میشود، یک عدد اعشاری بین 0.0 و 1.0 دریافت میکند. این عدد فقط یک متغیر نیست؛ اندازهگیری آشوب فیزیکی در آن میلیثانیه دقیق است.
من نمیخواستم ربات هر روز یکسان به نظر برسد. من از مقدار آنتروپی برای تعیین پرامپت سیستم تزریق شده به Gemini استفاده کردم.
if entropy > 0.8: mode = "AGGRESSIVE_ACCELERATIONIST (Demand speed/collapse)" elif entropy > 0.5: mode = "COLD_SCIENTIFIC_OBSERVER (Detached, clinical)" elif entropy > 0.2: mode = "POETIC_DECAY (Melancholy, accepting)" else: mode = "RELIGIOUS_ZEALOT (The Collective is God)"
مدلهای زبانی بزرگ دوست دارند امن و مبهم باشند. اگر به آنها بگویید "به فردگرایی حمله کن"، آنها 100 بار پشت سر هم میگویند "با هم قویتر هستیم".
برای رفع این مشکل، من یک جعبه مهمات ساختم - فهرستی از بیش از 30 "لنگرگاه مفهومی" که ربات مجبور است به عنوان استعاره از آنها استفاده کند. به طور تصادفی یک مفهوم را انتخاب میکند (مانند شبکههای میسلیوم، معماری بروتالیست، زنگزدگی یا صفحات تکتونیکی) و باید فلسفه خود را بر اساس آن بسازد.
CONCEPTS = [ "Mycelium Networks", "Ant Colony Pheromones", "Brutalist Architecture", "The heat death of the universe", "Quantum Entanglement", "Rust consuming iron", "The hum of a server farm"... ]
این اطمینان میدهد که ربات هرگز چیز یکسانی را دوبار توییت نمیکند. یک روز شما را با یک ستاره در حال مرگ مقایسه میکند؛ روز بعد، نفس شما را با تپه موریانه مقایسه میکند.
ما در ابتدا از gemini-1.5-flash استفاده کردیم، اما منسوخ شده است. ما به Gemini 2.5 پیشرفته منتقل شدیم، اما با یک مشکل عجیب مواجه شدیم: قطع شدن.
مدل آنقدر مشتاق تولید یک مانیفست فلسفی پیچیده بود که در وسط جمله به محدودیت max_output_tokens میرسید و اسکریپت را خراب میکرد.
راه حل خلاف شهود بود. با وجود اینکه X فقط 280 کاراکتر را اجازه میدهد، من مجبور شدم محدودیت تولید را روی 2,000 توکن تنظیم کنم. این به هوش مصنوعی "فضای کافی" برای فکر کردن در مورد منطق خود، پیشنویس فکر، و سپس خروجی نسخه کوتاه که در پرامپت درخواست کرده بودم را میداد.
من نمیخواستم لپتاپم را 24/7 روشن نگه دارم. من یک گردش کار GitHub Action (daily_post.yml) راهاندازی کردم که اسکریپت پایتون را در یک برنامه زمانی cron فعال میکند.
on: schedule: # Runs at 9am, 1pm, and 5pm - cron: '0 9,13,17 * * *'
اکنون، GitHub روزانه 3 بار یک کانتینر Ubuntu تازه راهاندازی میکند، وابستگیها را نصب میکند، خلاء کوانتومی را بررسی میکند، توییت را پست میکند و کانتینر را از بین میبرد.
ربات اکنون زنده است، کاملاً در ابر زندگی میکند و با نویز کوانتومی تغذیه میشود.
نمونه خروجی (آنتروپی 0.85):
نمونه خروجی (آنتروپی 0.12):
ما وارد عصر "وب آبکی" میشویم - محتوای بیپایان هوش مصنوعی که توسط حلقههای قطعی تولید میشود.
با معرفی تصادفی بودن سختافزاری (آنتروپی کوانتومی) به گردش کار هوش مصنوعی، ما جرقهای از غیرقابل پیشبینی بودن واقعی را به ماشین بازمیگردانیم. ربات من فقط تاس نمیاندازد؛ اتاق (جهان) را میخواند.
اگر میخواهید ربات خود را بسازید، کلیدها رایگان هستند. فقط باید مایل باشید آنتروپی را وارد کنید.
\ این بار گیتهاب نیست دامیان؟ نه، من چیزهای زیادی میسازم اما برخی چیزها را نمیتوان به همه داد. من فیلترها را دوست دارم، مردم را از اسپم کردن توییتر با محتوای هوش مصنوعی باز میدارد، حتی اگر آبکی نباشد.
\ این پروژه با استفاده از Gemini به عنوان کمک خلبان انجام و تکمیل شد. با توجه به معلولیت بینایی من، نیاز دارم از ابزارهای زیادی استفاده کنم تا کاری را انجام دهم که افراد عادی میتوانند انجام دهند. با این حال، شرط میبندم اگر این قطعات کد را در یک چت قرار دهید، میتوانید کد را بازسازی کنید.


