Machine Learning

Ukwakha I-agent yomuntu siqu emahoreni ambalwa

ngimangazwe ukuthi abakhi ngabanye bangathumela ngokushesha kanjani ama-prototypes angempela futhi awusizo.

Amathuluzi afana ne-Claude Code, i-Google AntiGravity, kanye ne-ecosystem ekhulayo ebazungezile yeqe umkhawulo: ungahlola ukuthi abanye bakha ini ku-inthanethi futhi ubone ukuthi ungakha ngokushesha kangakanani namuhla.

Emavikini adlule, ngiqale ukubekela ihora elilodwa kuya kwamabili ngosuku ukuze ngakhe ngesitaki sami sokuqala se-AI:

  • I-Google AntiGravity
  • I-Google Gemini Pro
  • Amamodeli kaClaude afinyelelwa nge-AntiGravity

Lokhu kusetha kuyishintshe kakhulu indlela engicabanga ngayo nge-prototyping, isivinini sokuphindaphinda, kanye nalokho “umenzeli womuntu siqu we-AI” angakwenza ngokwangempela namuhla. Okubaluleke nakakhulu, kungibuyisele ekusebenzeni ekubhaleni amakhodi nokwakha, into engangizidele mathupha lapho indima yami kwa-DareData isishintshele ekuphatheni nasekushayeni izingoma esikhundleni sokuyicula.

Ngamunye, lokhu kuguquguquka kube yisibusiso umuntu ohlale ekhukhulela ezindimeni zokuphatha. Kususa ukuhwebelana engangikwamukele: ukuthi ukukhulisa inkampani kwakusho ukuyeka ukwakha ngokuphelele. Akusadingeki ngikhethe phakathi kokwakha nokuphatha, empeleni bayaqinisana.

Kodwa, kunomqondo obanzi lapha kubantu “abavele” bethuthuka. Uma ama-ejenti e-AI eqhubeka ephatha ukubulawa, khona-ke ukusetshenziswa okumsulwa kuyeka ukwanele. Onjiniyela bazophushwa (noma bayakufuna noma cha) ekusebenzisaneni, ekwenzeni izinqumo, kanye.. nokuphatha — into abanikeli abangabodwana abayizondayo ngekhanda. Ngamanye amazwi, amakhono okuphatha aba yingxenye yesitaki sobuchwepheshe, futhi ama-agent e-AI ayingxenye yomongo ophethwe.

Okungimangaze kakhulu ukuthi amakhono ami okuphatha avele ashintsheka kanjani:

  • Ukuqondisa i-ejenti esikhundleni sokuyilawula kancane
  • Ukucela imiphumela esikhundleni semiyalelo
  • Ukwenza imephu, ukubeka phambili, nokukhomba izindawo ezimpunga

Empeleni, ngiphatha futhi ngixhumanisa isisebenzi esibonakalayo. Ngingakwazi ukuthonya ngokujulile ezinye izingxenye zomsebenzi wayo ngenkathi ngihlala ngingabazi nhlobo abanye – futhi lokho akusona isiphazamisi, isici esikhulu. Kumsizi wami siqu we-AI, isibonelo, ngingabonisana ngokucacile mayelana ne-backend, kodwa ngihlale ngingenalwazi mayelana ne-frontend. Uhlelo lusasebenza, ngoba indima yami ayisekho ukwazi konke, kodwa ukuqondisa uhlelo ngendlela efanele.

Lokhu kufana ngqo nendlela engixhumanisa ngayo abantu ngaphakathi kwenkampani. Njengoba i-DareData ikhula, asiqashi izifaniso zabasunguli. Siqasha ngamabomu abantu abangakwazi ukwenza izinto esingakwazi ukuzenza, futhi, ngokuhamba kwesikhathi, izinto esingasoze sazifunda ngokujulile ngokwanele ukuze senze kahle.

Isitaki Samanje Sokwakha — I-Google AntiGravity – Isithombe Ngombhali

Ukuzindla okwanele ngabaphathi. Ake sibheke lokho engizakhayo ngoba yilokho olapha:

  • Umsizi womuntu siqu we-AI wakhelwe eduze kwezinqubo zami zangempela, hhayi isifanekiso sokukhiqiza esijwayelekile. Ivumelana nendlela engisebenza ngayo, engicabanga ngayo, nengenza ngayo izinqumo.
  • Uhlelo lokusebenza lweselula oluncoma i-albhamu yomculo eyodwa ngeviki, ngaphandle kwesistimu yokuncoma evamile. Akukho ukuqiniswa kwendawo yokunethezeka futhi lokho kungisiza ukuthi nginwebe izindawo zami zokulalela.
  • Igeyimu yeselula eyakhelwe umlingisi oyedwa eqhubekela phambili emigodini enezingqimba, ethuthukiswe ngokuyinhloko njengendawo yokudlala enobuciko kunomkhiqizo wokuthengisa.

Ingxenye ethokozisayo ukuthi, ngenkathi ngikhululekile ukufaka amakhodi iningi le-backend, ukuthuthukiswa kwe-front-end akulona ikhono enginalo – futhi uma ngiphoqeleka ukuthi ngizenzele ngokwami, lawa maphrojekthi abezohamba kancane kusukela emahoreni kuya ezinsukwini, noma angalokothi athumele.

Lokho kuvinjelwa manje akusabalulekile. Ngalesitaki esisha, umcabango uba ibhodlela langempela. Izindleko “zokungazi” ungqimba lonke ziwile.

Ngakho-ke, kukho konke lokhu okuthunyelwe, ngizohamba ngomsizi wami siqu we-AI: ukuthi yenzani, ukuthi yakhiwe kanjani, nokuthi kungani ingisebenzela. Umgomo wami uwukuvula umthombo uma isizinzile, ukuze abanye bakwazi ukuyivumelanisa nokugeleza komsebenzi wabo. Okwamanje kucace kakhulu empilweni yami, kodwa lokho kucacisa kuyinhloso, nokwenza kube okuvamile kuyingxenye yocwaningo.


Hlangana no-Fernando

UFernão Lopes wayengumbhali wemilando yombuso wamaPutukezi. Ngakhetha umlando wamaPutukezi ngamabomu – abantu basePutukezi banomkhuba wokunamathisela amagama omlando cishe noma yini. Uma lokho kuzwakala njenge-Portuguese stereotypically, lokho kuyinhloso.

UFernão uyisiPutukezi kodwa empeleni ukhuluma isiNgisi, sikubize ngomlando wanamuhla wekhulu lama-21.

Fernão Lopes, Chronicle of the Portuguese Kingdom – Umthombo Wesithombe: Wikimedia Foundation

Kuleli qophelo, ngenza izinto ezimbili engivame ukuzigwema: i-anthropomorphizing AI kanye nokuncika emcabangweni wokuqamba amagama wesiPutukezi. Kubheke njengophawu olungenangozi lokuthi ngimdala.

Ngaphandle kwalokho, yini ngempela uFernão angenzela yona? Indawo engcono kakhulu angaqala kuyo yikhasi lakhe lokuqala.

Ikhasi Elingaphambili likaFernão – Isithombe Ngombhali

UFernão uyidude ebukekayo futhi ephethe imisebenzi emihlanu njengamanje:

  • Uhlelo Losuku: ngihlela usuku lwami ngokuhlanganisa amakhalenda, okokwenziwa, nezinjongo, bese ngiwaguqula abe into engingayilandela.
  • Umsizi Wokubhala: ingisiza ukuthi ngibuyekeze futhi ngihlanze okusalungiswa kokuthunyelwe kwebhulogi neminye imibhalo.
  • Umsizi wephothifoliyo: iphakamisa izinkampani noma ama-ETF okumele anezele ngokusekelwe ezidingweni zokulinganisa kabusha kanye nokuthi kwenzekani emhlabeni omkhulu (ngaphandle kokuzenza ibhola lekristalu).
  • Umhleli Wezezimali: ikhipha imali ezitatimendeni zami zasebhange futhi ilayisha yonke into kuhlelo lokusebenza lwe-Cashew, ingisindise komunye futhi umsebenzi obungithatha cishe amahora angu-3 kuya kwangu-4 nyanga zonke.
  • Okubhaliselwe & Izaphulelo: ilandelela konke okubhaliselwe kwami ​​nezaphulelo zendawo noma izinzuzo okungenzeka nginazo kodwa angikhumbuli ukuzisebenzisa.

Kulokhu okuthunyelwe, ngizogxila ohlelweni lokusebenza Lweshejuli Yosuku.

Okwamanje, uFernão's Uhlelo Losuku yenza izinto ezintathu ezilula:

  • Ilanda ikhalenda lami, kuhlanganise nayo yonke imihlangano ehleliwe
  • Idonsa okokwenziwa kwami ​​​​ku-Microsoft Ukuze Ukwenze
  • Ibuyisa imiphumela yami siqu engukhiye kuNotion

Konke lokhu kuxhunywe ngama-API. Umbono uqondile: nsuku zonke, uFernão ubheka izingqinamba zami, izinto ezibalulekile, kanye nokuzibophezela kwami, bese engikhela ishejuli engcono kakhulu.

Amandla Amanje KaFernão – Isithombe Ngombhali

Ukwenza ishejuli ekuqaleni-phambili kulula kakhulu (yonke indawo engaphambili yayinekhodi ye-vibe). Nali inkinobho yeshejuli:

Khiqiza Uhlelo Losuku Oluthile – Isithombe Ngombhali

Uma sengishaye okuthi Khiqiza Ishejuli, uFernão uqala ukupheka ngemuva:

UFernão Ukhiqiza Ishejuli – Isithombe Ngombhali

Izinyathelo zilandelana: ukulanda ikhalenda lami, imisebenzi, kanye nedatha yeNotion.

Iphuzu elilandelayo futhi yilapho isisekelo sokufunda nokubhala okuyisisekelo siqala khona ukubaluleka, hhayi ngoba yonke into ikhodi elandelayo ayisebenzi, kodwa ngoba udinga ukuqonda. ini kuyenzeka futhi lapho izinto zingagcina ziphukile noma zidinga ukuthuthukiswa.

Ake siqale ngokulanda ikhalenda. Okwamanje, lokhu kusingathwa umsebenzi owodwa, omkhulu owenziwe nguClaude okungukuthi okungalungiselelwe ngokuphelele.

def get_events_for_date(target_date=None):
    """
    Fetches events for a specific date from Google Calendar via ICS feeds.
    
    Args:
        target_date: datetime.date object for the target day. If None, uses today.
    
    Returns a list of event dictionaries.
    """
    # Hardcoded calendar URLs (not using env var to avoid placeholder issues)
    CALENDAR_URLS = [
        'cal1url',
        'call2url'
    ]
    
    LOCAL_TZ = os.getenv('TIMEZONE', 'Europe/Lisbon')
    
    # Get timezone
    local = tz.gettz(LOCAL_TZ)
    
    # If no target date provided, use today
    if target_date is None:
        target_date = datetime.now(local).date()
    
    # Create datetime for the target day boundaries
    day_start = datetime.combine(target_date, datetime.min.time()).replace(tzinfo=local)
    day_end = day_start + timedelta(days=1)
    
    # Debug: Print the date range we're checking
    print(f"n[Debug] Checking calendars for date: {target_date.strftime('%Y-%m-%d')}")
    print(f"  Start: {day_start.strftime('%Y-%m-%d %H:%M %Z')}")
    print(f"  End: {day_end.strftime('%Y-%m-%d %H:%M %Z')}")
    print(f"  Timezone: {LOCAL_TZ}")
    
    all_events = []
    
    # Fetch from each calendar
    for idx, cal_url in enumerate(CALENDAR_URLS, 1):
        calendar_name = f"Calendar {idx}"
        print(f"n[Debug] Fetching {calendar_name}...")
        
        try:
            # Load calendar from ICS URL with adequate timeout
            r = requests.get(cal_url, timeout=30)
            r.raise_for_status()
            cal = Calendar(r.text)
            
            events_found_this_cal = 0
            total_events_in_cal = len(list(cal.events))
            print(f"  Total events in {calendar_name}: {total_events_in_cal}")
            
            # Use timeline to efficiently filter events for target day's date range
            # Convert local times to UTC for timeline filtering
            day_start_utc = day_start.astimezone(timezone.utc)
            day_end_utc = day_end.astimezone(timezone.utc)
            
            # Get events in target day's range using timeline
            days_timeline = cal.timeline.overlapping(day_start_utc, day_end_utc)
            
            for e in days_timeline:
                if not e.begin:
                    continue
                    
                # Get event start time
                start = e.begin.datetime
                if start.tzinfo is None:
                    start = start.replace(tzinfo=timezone.utc)
                
                # Convert to local timezone
                start_local = start.astimezone(local)
                
                # Debug: Print first few events to see dates
                if events_found_this_cal < 3:
                    print(f"  Event: '{e.name}' at {start_local.strftime('%Y-%m-%d %H:%M')}")
                
                # Get end time
                end = e.end.datetime if e.end else None
                end_local = end.astimezone(local) if end else None
                
                all_events.append({
                    "title": e.name,
                    "start": start_local.strftime("%H:%M"),
                    "end": end_local.strftime("%H:%M") if end_local else None,
                    "location": e.location or "",
                    "description": e.description or ""
                })
                events_found_this_cal += 1
            
            print(f"  [OK] Found {events_found_this_cal} event(s) for target day in {calendar_name}")
            
        except requests.exceptions.RequestException as e:
            print(f"  [X] Network error fetching {calendar_name}: {str(e)}")
            continue
        except Exception as e:
            print(f"  [X] Error processing {calendar_name}: {type(e).__name__}: {str(e)}")
            continue
    
    # Sort by start time
    all_events.sort(key=lambda x: x["start"])
    
    # Print all events in detail
    if all_events:
        print(f"n[Google Calendar] Found {len(all_events)} event(s) for {target_date.strftime('%Y-%m-%d')}:")
        print("-" * 60)
        for event in all_events:
            time_str = f"{event['start']}-{event['end']}" if event['end'] else event['start']
            location_str = f" @ {event['location']}" if event['location'] else ""
            print(f"  {time_str} | {event['title']}{location_str}")
        print("-" * 60)
    else:
        print(f"n[Google Calendar] No events for {target_date.strftime('%Y-%m-%d')}")
    
    return all_events

Njengonjiniyela wePython, wonke ama- print izitatimende zinginika i-ick. Kodwa lokho kuyinkinga yesigaba esilandelayo se-Fernão: ukwenza kabusha futhi nokuthuthukisa ikhodi uma umqondo womkhiqizo usuqinile.

Yilapho futhi ngibona khona ngempela umuntu + AI ukusebenza okunamandla. Ngingabona ngokushesha izindlela ezimbalwa zokuthuthukisa lo msebenzi (ukunciphisa i-verbosity, ukusika ukubambezeleka okungadingekile, ukuhlanza ukugeleza) kodwa ukwenza lokho kahle kusadinga isikhathi, ukwahlulela, kanye nenhloso. I-AI ingisiza ukuthi ngihambe ngokushesha; ayithathi indawo yesidingo sokwazi ukuthi yini okungajwayelekile kubukeka sengathi.

Okwamanje, angikachithi isikhathi esiningi ngikwenza kahle, futhi lokho kuyisinqumo esihlakaniphile. Ngaphandle konqenqema lwawo, umsebenzi wenza khona kanye lokho odinga ukukwenza: ukhipha idatha kumakhalenda ami futhi unike ulwazi lomhlangano ku-Fernão, uvumela yonke into elandelayo.

Okulandelayo, uFernão udonsa imisebenzi yami kuMicrosoft To Do. Yilapho engizokwenziwa khona nsuku zonke (izinto ezincane, ezibambekayo okudingeka zenziwe futhi ezinikeza ukwakheka kosuku oluthile). Konke lokhu kulungiselelwe ngokuqondile kuhlelo lokusebenza lweMicrosoft To Do, okuyingxenye eyinhloko yokuhamba kwami ​​kwansuku zonke.

Uma ufuna ukwazi ngohlelo olubanzi lokukhiqiza ngemuva kwalokhu, ngibhale ngakho engosini ehlobene nomfowabo wale bhulogi (Linda Usuku) exhunywe ngezansi.

Ngakho-ke, ake sibheke omunye umsebenzi we-verbosed:

def get_tasks(target_date=None):
    """
    Fetches tasks from Microsoft To Do for a specific date (tasks due on or before that date).
    
    Args:
        target_date: datetime.date object for the target day. If None, uses today.
    
    Returns a list of task dictionaries.
    """
    CLIENT_ID = os.getenv('MS_CLIENT_ID', 'CLIENT_ID_KEY')
    AUTHORITY = "
    SCOPES = ['Tasks.ReadWrite', 'User.Read']
    
    # Setup persistent token cache
    cache = SerializableTokenCache()
    cache_file = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), '.token_cache.bin')
    
    if os.path.exists(cache_file):
        with open(cache_file, 'r') as f:
            cache.deserialize(f.read())
    
    # Authentication with persistent cache
    app = PublicClientApplication(CLIENT_ID, authority=AUTHORITY, token_cache=cache)
    accounts = app.get_accounts()
    
    result = None
    if accounts:
        result = app.acquire_token_silent(SCOPES, account=accounts[0])
        if not result or "access_token" not in result:
            for account in accounts:
                app.remove_account(account)
            result = None
    
    if not result:
        flow = app.initiate_device_flow(scopes=SCOPES)
        if "user_code" not in flow:
            print(f"[MS To Do] Failed to create device flow: {flow.get('error_description', 'Unknown error')}")
            return []
        if "message" in flow:
            print(flow['message'])
        result = app.acquire_token_by_device_flow(flow)

    if not result or "access_token" not in result:
        print(f"[MS To Do] Authentication failed: {result.get('error_description', 'No access token') if result else 'No result'}")
        return []
    headers = {"Authorization": f"Bearer {result['access_token']}"}
    
    # Get date boundaries for target date
    # If no target date provided, use today
    if target_date is None:
        from datetime import date
        target_date = date.today()
    
    # Convert date to datetime in UTC for comparison
    now = datetime.now(timezone.utc)
    target_day_end = datetime.combine(target_date, datetime.max.time()).replace(tzinfo=timezone.utc)
    
    # Fetch all lists
    lists_r = requests.get(" headers=headers)
    if lists_r.status_code != 200:
        return []
    
    lists_res = lists_r.json().get("value", [])
    all_tasks = []
    
    # Fetch tasks from all lists with server-side filtering
    for task_list in lists_res:
        list_id = task_list["id"]
        list_name = task_list["displayName"]
        
        # Simple filter - just get incomplete tasks
        params = {"$filter": "status ne 'completed'"}
        
        tasks_r = requests.get(
            f"
            headers=headers,
            params=params
        )
        
        if tasks_r.status_code != 200:
            continue
        
        tasks = tasks_r.json().get("value", [])
        
        # Filter and transform tasks
        for task in tasks:
            due_date_obj = task.get("dueDateTime")
            
            if not due_date_obj:
                continue
                
            due_date_str = due_date_obj.get("dateTime")
            if not due_date_str:
                continue
            
            try:
                due_date = datetime.fromisoformat(due_date_str.split('.')[0])
                if due_date.tzinfo is None:
                    due_date = due_date.replace(tzinfo=timezone.utc)
                
                # Include all tasks due on or before the target date
                if due_date <= target_day_end:
                    # Determine status based on target date
                    target_day_start = datetime.combine(target_date, datetime.min.time()).replace(tzinfo=timezone.utc)
                    
                    if due_date < target_day_start:
                        status = "OVERDUE"
                    elif due_date <= target_day_end:
                        status = f"DUE {target_date.strftime('%Y-%m-%d')}"
                    else:
                        status = "FUTURE"
                    
                    all_tasks.append({
                        "list": list_name,
                        "title": task["title"],
                        "due": due_date.strftime("%Y-%m-%d"),
                        "importance": task.get("importance", "normal"),
                        "status": status
                    })
            except Exception as e:
                continue
    
    # Print task summary
    if all_tasks:
        print(f"[MS To Do] {len(all_tasks)} task(s) for {target_date.strftime('%Y-%m-%d')} or overdue")
    else:
        print(f"[MS To Do] No tasks due on {target_date.strftime('%Y-%m-%d')} or overdue")
    
    # Save token cache for next run
    if cache.has_state_changed:
        with open(cache_file, 'w') as f:
            f.write(cache.serialize())
    
    return all_tasks

Lo msebenzi ubuyisela uhlu olugcwele lwemisebenzi yami yosuku lwamanje (futhi idlulelwe yisikhathi kusukela ezinsukwini ezedlule) — nasi isibonelo sendlela ebukeka ngayo kokuzokwenza:

Isibonelo Semisebenzi Kuhlelo Lokusebenza Lokufanele Ukwenze – Isithombe Ngombhali

Ngemva kokudonsa imisebenzi kokuthi Ukwenza, ngifuna futhi ukuthi uFernão aqonde lapho engizama ukuya khonahhayi nje lokho okusohlwini lwanamuhla. Ngalokho, ilanda izinjongo zami ngokuqondile ekhasini le-Notion lapho nginemiphumela eyinhloko yonyaka wami.

Nasi isibonelo sendlela lezo zinhloso ezakhiwe ngayo:

  • ikholamu yokuqala ibonisa isisekelo sami ekuqaleni konyaka,
  • ikholomu yokugcina ichaza ithagethi engifuna ukuyifinyelela,
  • futhi ikholomu kwesokudla ilandelela ukuqhubeka kwami ​​​​kwamanje.

Isampula engezansi ihlanganisa ukuthi mangaki amabhulogi engifuna ukukubhalela wona kulo nyaka, kanye nenani eliphelele lezincwadi engihlose ukuzithengisa kuzo zonke izihloko zami ezintathu.

Lokhu kunikeza uFernão umongo obanzi wokuthi yini okufanele ize kuqala emisebenzini, njengoba uzobona ekwazisweni kokwenza uhlelo.

Izinjongo Zomuntu Siqu Isibonelo – Isithombe Ngombhali

Btw, ngenkathi ngibhala lokhu okuthunyelwe, ngigcine ngokungeza iwijethi encane kuhlelo lokusebenza. Uma sakha umsizi womuntu siqu, angase abe nobuntu obuthile.

Ngakho ngabuza uGemini:

“Ingabe ungangeza ukugqwayiza okujabulisayo ngenkathi uhlelo lokusebenza lubuyisa imicimbi yekhalenda, lubheka okokwenziwa, futhi ludonsa idatha ye-Notion? Mhlawumbe iwijethi encane kaFernão enyakazisa ibhodwe, namagama-ncazo 'U-Fernão uyapheka'.”

U-Fernão uyapheka – Isithombe Ngombhali

Uma lo mzuliswano usuphelile, imisebenzi nemicimbi yekhalenda kuqoqwa ngempumelelo futhi kuboniswe ngaphambili kukaFernão (isampula yemisebenzi nemihlangano yosuku lwami iboniswe ngezansi).

Imisebenzi Nemicimbi Yekhalenda elandwe nguFernao – Isithombe Ngombhali

Futhi manje ingxenye ejabulisayo: enamakhalenda, imisebenzi, nezinjongo esandleni, uFernão uhlanganisa usuku lwami lonke lube uhlelo olulodwa, oluyimilingo:

07:30-09:30 | Gym
09:30-09:40 | Check Timesheets on Odoo (Due: 2026-02-04)
09:40-09:55 | Review Tasks in To-Do - [Organization Task] (Due: 2026-02-04)
09:55-10:15 | Read Feedly Stuff - [News Catchup] (Due: 2026-02-04)
10:15-10:30 | Write culture doc, inspiration:  (Due: 2026-02-04)
10:30-10:45 | Answer LinkedIns - [Organization Task] (Due: 2026-02-04)
10:45-11:00 | Check Looker (Due: 2026-02-04)
11:00-11:30 | This Week in AI Post (Due: 2026-02-04)
11:30-12:00 | Prepare Podcast Decoding AI
12:00-13:00 | Podcast Decoding AI - Ivo Bernardo, DareData (Event)
13:00-14:00 | Lunch Break
14:00-14:30 | Candidate 1 (name hidden) and Ivo Bernardo @ Google Meet (Event)
14:30-18:00 | Prepare DareData State of the Union
18:00-18:30 | Candidate 2 (name hidden) and Ivo Bernardo @ Google Meet (Event)
18:30-19:00 | Candidate 3 (name hidden) and Ivo Bernardo @ Google Meet (Event)
19:00-19:30 | Candidate 4 (name hidden) and Ivo Bernardo @ Google Meet (Event)
19:30-20:00 | Candidate 5 (name hidden) and Ivo Bernardo @ Google Meet (Event)
20:00-20:15 | Check Insider Trading Signals for Stock Ideas  (Overdue)
20:15-20:30 | Marketing Timeline (Overdue)
20:30-21:00 | Dinner Break
21:00-22:00 | Ler
22:00-22:15 | Close of Day - Review and prep for tomorrow

Lesi ngesinye salezo zikhathi esizizwa siwumlingo ngokweqiniso. Hhayi ngoba ubuchwepheshe bungacacile, kodwa ngoba umphumela uhlanzeke kakhulu. Ingxube engcolile yemihlangano, imisebenzi, nemigomo yesikhathi eside iphenduka usuku engingakwazi ukulwenza.

Okwenza kuthakazelise nakakhulu ukuthi isinyathelo sokugcina silula kangakanani. Ngemuva kokuthi konke ukuphakamisa okusindayo kwenziwa ngemuva (imicimbi yekhalenda, okokwenziwa, izinjongo), angihleli ipayipi eliyinkimbinkimbi noma uchungechunge lwemiyalo. Ngisebenzisa ukwaziswa okukodwa.

Leso saziso sithatha yonke into uFernão ayaziyo mayelana nezingqinamba zami nezinto eziza kuqala futhi ikwenze kube usuku osuzokubona.

name: daily_schedule
description: Generate a daily schedule based on calendar events and tasks
model: gemini-2.5-flash-lite
temperature: 0.3
max_tokens: 8192
variables:
  - date_context
  - events_str
  - tasks_str
  - context
  - todo_context
  - auto_context
  - currently_reading
  - notion_context
  - is_today
template: |
  You are my personal AI scheduling assistant. Help me plan my day!
  **TARGET DATE:** Planning for {date_context}
  **EVENTS (Fixed):**
  {events_str}
  **TASKS TO SCHEDULE:**
  {tasks_str}
  **MY CONTEXT:**
  {context}
  **TASK CONTEXT (how long tasks typically take):**
  {todo_context}
  **AUTO-LEARNED CONTEXT:**
  {auto_context}
  **CURRENTLY READING:**
  {currently_reading}
  **RESULTS & OBJECTIVES (from Notion):**
  {notion_context}
  **SCHEDULING RULES:**
  1. **Cannot schedule tasks during calendar events** - events are fixed
  2. **Mandatory breaks:**
     - Lunch: 12:30-13:30 (reserve when possible)
     - Dinner: 20:30-21:00
     - Playing with my cat: 45-60 minutes somewhere scattered around the day
  3. **Task fitting:** Intelligently fit tasks between events based on available time
  4. **Time estimates:** Use the task context to estimate how long each task will take
  5. **Working hours:** 09:30 to 22:00
  6. **Start the schedule:** {is_today}
  
  **YOUR JOB:**
  1. Create a complete hourly schedule for {date_context}
  2. Fit all tasks between events and breaks
  3. **Prioritize tasks based on my Results & Objectives from Notion** - focus on what matters most
  4. Be conversational - if you need more info about a task, ask me!
  5. **Save learnings:** If I give you context about tasks, acknowledge it and say you'll remember it
  **FORMAT:**
  Start with a friendly greeting, then provide the schedule in this format:
  ```
  09:30-10:00 | Task/Event
  10:00-11:00 | Task/Event
  ...
  ```
  After the schedule, ask if I need any adjustments or if you need clarification on any tasks.
  Generate my day's schedule now, thanks!

Futhi ngalokhu, uFernão upheka nakanjani:

U-Fernão uyapheka futhi – Isithombe Ngombhali

Lokhu kube isistimu ejabulisayo yokwakha. Ngizoqhubeka nokuguqula uFernão, ngimnike imithwalo yemfanelo emisha, ngiphule izinto, ngizilungise, futhi ngihlanganyele engikufundayo lapha.

Ngokuhamba kwesikhathi, ngihlela nokubhala okokufundisa okusebenzayo kokuthi ungazakha kanjani futhi uziphakele kanjani izinhlelo zokusebenza ezifanayo. Okwamanje, uFernão uhlala emshinini wami kuphela, futhi lokho kungase kuhlale kunjalo. Noma kunjalo, ngihlose ukuyivula-umthombo. Hhayi ngoba iwusizo emhlabeni wonke ngesimo sayo samanje (iqondiswe ngokujulile empilweni yami), kodwa ngenxa yokuthi imibono engaphansi ingase ibe.

Ukwenza lokho kwenzeke, ngizodinga amathuluzi angabonakali, ngilungise ukusebenza, futhi ngivumele izici ukuthi zivulwe futhi zivalwe ukuze abanye bakwazi ukulolonga umsizi eduze nokugeleza komsebenzi wabo, kuneyami.

Bengingakhe into efanayo ngisebenzisa i-Claude Code kuphela. Angizange. Bengifuna ukulawula okugcwele: inkululeko yokushintsha amamodeli, ukuhlanganisa abahlinzeki, futhi ekugcineni ngisebenzise i-Fernão ku-LLM yendawo esikhundleni sokuthembela kuma-API angaphandle. Ubunikazi nokuvumelana nezimo kubaluleke kakhulu kimi kunokuba kube lula lapha.

Uma wakha umsizi womuntu siqu we-AI, yimiphi imisebenzi obungayinika yona? Ngingathanda ngempela ukuzwa imibono yakho futhi ngizame ukuyakha ngaphakathi kweFernão. Shiya amazwana njengoba le phrojekthi isathuthuka, futhi imibono yangaphandle ngokuvamile iyindlela eshesha kakhulu yokuyenza ibe ngcono.

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button