نحوهی کار
هر صادرات به همان پیامهای استانداردشده تبدیل میشود. سپس هر کنش شخصیت بهصورت یک فراخوانی ابزار دوباره به مدل پخش میشود، تا مدل یاد بگیرد آن شخص چگونه تعامل میکند، نه فقط چه مینویسد، و به همان شکل پاسخ دهد.
کنشها بهعنوان فراخوانی ابزار
| کاری که شخصیت کرده | فراخوانی ابزار در تاریخچه و پاسخهای زنده |
|---|---|
| حباب متنی، شاید یک پاسخ یا نقلقول جزئی | send_message {text, reply_to?, quote?} |
| برچسب | send_sticker {sticker_id, reply_to?} |
| GIF از کتابخانه، یا یک URL از یک ابزار MCP | send_gif {gif_id | url, caption?} |
| عکس، ویدیو، صدا، فایل صوتی، فایل | send_media {media_id, caption?} |
| پست فورواردشده | forward_message {message_id} |
| واکنش | react {message_id, emoji} |
| (یادآوری تاریخچهی قدیمیتر) | search_history {query} |
چند فراخوانی در یک نوبت، چند حباب میشوند. پیامهای طرف مقابل به خطوط فشردهای تبدیل میشوند که شناسهها به آنها ارجاع میدهند:
#52108 19:08 ↩ پاسخ به #52107 (شما: «لازانیای مامانبزرگ 🍝»): شما هیچوقت لازانیا درست نکردهاید.
<sticker stk_156dbb381a>: گربهای با کلاه سرآشپز که قابلمه را هم میزند
به #52107 («لازانیای مامانبزرگ 🍝») 😂 واکنش نشان دادپرامپت سیستم
| بخش | |
|---|---|
| کی باید باشد | برآورد دانش و سبک شخصیت، و هرگز ندانستن بیش از آنچه او میدانست |
| پروفایل سبک | از کل صادرات: طول پیامها، حروف بزرگ، نشانهگذاری، استفاده از ایموجی و برچسب، عادتهای پاسخ و واکنش، تعداد حباب در هر نوبت، نمونههای لفظبهلفظ |
| کتابخانه | برچسبها، GIF و رسانهها با نحوهی استفادهشان |
| یادداشتها | آنچه شما دربارهی آن شخص نوشتهاید |
پرامپت برای یک گفتگو ثابت است: ساعت یا شمارندهای وجود ندارد. مدل زمان را از جداکنندههای — روز — و برچسبهای HH:MM میخواند، و هر درخواست پیشوند دقیقاً یکسان (بایت به بایت) درخواست بعدی است، بنابراین کش پرامپت ارائهدهندگان همچنان به هدف میخورد.
گفتگوهای طولانی
بودجهی تاریخچه ──────────────────────────────────────────▶
┌──────────────────────┬────────────────────────────────────────┐
│ حافظه (≤ ۳۵۰ کلمه) │ آخرین نوبتها، بریدهشده تا ۶۰٪ بودجه │
└──────────────────────┴────────────────────────────────────────┘
رابطه، واقعیتها، نقطهی برش مدت طولانی ثابت میماند،
موضوعات، شوخیها پس پیشوند کششده هم ثابت میماندوقتی تاریخچهی پخششده از بودجه بیشتر شود، پاسخ بعدی ابتدا قدیمیترین نوبتها (و حافظهی قبلی) را در یک خلاصهی کوتاه جمع میکند. هنگام وارد کردن یا باز کردن یک گفتگو چیزی مصرف نمیشود. پروفایل سبک همچنان از کل صادرات ساخته میشود، و search_history به هر پیام قدیمی دسترسی دارد. usage توکنها (پرامپت، کش، تکمیل) در { } نمایش داده میشود.
کتابخانهی رسانه
مدل گفتگو متن میخواند، پس یک برچسب تا وقتی توصیف نشده فقط <sticker stk_…> است. توصیف با AI تصاویر موارد ناقص را به مدل رسانهای میفرستد، که باید از بینایی پشتیبانی کند.
- GIF، برچسبهای ویدیویی و ویدیوها بهصورت ۴ فریم به ترتیب فرستاده میشوند تا مدل حرکت را ببیند. این به ffmpeg نیاز دارد (
brew install ffmpeg،apt install ffmpeg،winget install ffmpeg)، وگرنه از تصویر بندانگشتی استفاده میشود. - دوباره یک مورد را دوباره توصیف میکند. هر توصیفی را میتوان با دست ویرایش کرد.
- توصیفها متعلق به صادراتاند و به همهی گفتگوهای آن خدمت میکنند.
خودتان با CLI امتحان کنید: rooftop convert <صادرات> --persona "Jonas Weber".