👔 20 პერსონალური & აღმასრულებელი აგენტის კატალოგი
აირჩიეთ აგენტი თქვენი ბიზნეს საჭიროების ან ფინალური (Capstone) პროექტისთვის.
🌅 Live Case Study: Morning Briefing Executive Agent
რეალური, პროდაქშენში გამოცდილი აგენტის არქიტექტურა (Python, LiteLLM, Telegram, Task Scheduler).
რატომ დილის ბრიფინგი? ის იდეალურია დასაწყებად: მუშაობს მხოლოდ Read-Only რეჟიმში, არ აქვს არანაირი შეცდომის რისკი (არაფერს შლის და არ აგზავნის სხვის მეილზე), იყენებს 100%-ით უფასო API-ებს და იძლევა მყისიერ ყოველდღიურ ღირებულებას.
🔑 მთავარი საინჟინრო პრინციპები
⚙️ 1. კოდი VS მოდელი (Strict Separation)
ფინანსური ციფრები, აქციების პროცენტები (▲ 1.8%) და ფასები ფორმატირდება მკაცრად კოდით (markets.py). მოდელი არ ითვლის მათ, რათა გამოირიცხოს ჰალუცინაციები და დაიზოგოს ტოკენები.
🛡️ 2. Graceful Degradation (მედეგობა)
თუ Stooq ან CoinGecko გაითიშა, ბრიფინგი არ ფუჭდება — მის ადგილას იწერება „მიუწვდომელია“ და დანარჩენი იგზავნება. თუ LLM გაითიშა, იგზავნება ნედლი ფაქტები.
🔒 3. Read-Only უსაფრთხოება
Gmail IMAP იხსნება readonly რეჟიმში BODY.PEEK ბრძანებით. წერილები არ მოინიშნება წაკითხულად და აგენტს არ აქვს გაგზავნის უფლება.
🧠 4. Gemini 3+ Prompt Engineering
Gemini 3+ მოდელებში temperature და top_p მოძველებულია. ლაკონურობა და ფაქტობრივი სიზუსტე იმართება პირდაპირ სისტემურ პრომპტში.
⚡ 5. xAI GrokBot & Real-time X Stream
სურვილისამებრ ინტეგრირდება xAI Grok API ან GrokBot: აგენტი კითხულობს X-ის (Twitter) ცოცხალ ნაკადს, იჭერს ბაზრის ცხელ ინსაიტებსა და Breaking News-ს რეალურ დროში.
💻 1. უფასო ფინანსური მონაცემები: sources/markets.py
CoinGecko უფასო API კრიპტოვალუტებისთვის და Stooq უფასო CSV API ამერიკული აქციებისთვის (გასაღების გარეშე):
import csv, io, os, requests
TIMEOUT = 10
HEADERS = {"User-Agent": "morning-briefing/1.0"}
CG_URL = "https://api.coingecko.com/api/v3/simple/price"
STOOQ_URL = "https://stooq.com/q/d/l/"
def fetch_crypto(ids: list[str], vs: str = "usd") -> list[dict]:
"""CoinGecko API: ფასი და 24 საათის ცვლილება (%)"""
headers = dict(HEADERS)
key = os.getenv("COINGECKO_API_KEY") # არასავალდებულო Demo Key
if key: headers["x-cg-demo-api-key"] = key
r = requests.get(CG_URL, params={"ids": ",".join(ids), "vs_currencies": vs, "include_24hr_change": "true"}, headers=headers, timeout=TIMEOUT)
r.raise_for_status()
data = r.json()
return [{"name": c, "price": data[c][vs], "change_pct": data[c].get(f"{vs}_24h_change")} for c in ids if c in data]
def fetch_stock(symbol: str) -> dict | None:
"""Stooq API: ბოლო ორი დღის Close ფასი და % ცვლილება (ფორმატი: aapl.us)"""
r = requests.get(STOOQ_URL, params={"s": symbol, "i": "d"}, headers=HEADERS, timeout=TIMEOUT)
r.raise_for_status()
rows = [x for x in csv.DictReader(io.StringIO(r.text)) if x.get("Close")]
if len(rows) < 2: return None
last, prev = float(rows[-1]["Close"]), float(rows[-2]["Close"])
return {"name": symbol.upper(), "price": last, "change_pct": (last - prev) / prev * 100}
⚙️ 2. config.yaml კონფიგურაცია
llm:
models:
- gemini/gemini-3.5-flash-lite # პირველი სამუშაო მოდელი (Google 2026)
- xai/grok-4 # xAI Grok 4.7 / GrokBot API
- ollama_chat/deepseek-r1:8b # ლოკალური სარეზერვო
markets:
enabled: true
vs_currency: usd
crypto: [bitcoin, ethereum, solana] # CoinGecko ID-ები
stocks: [aapl.us, msft.us, nvda.us] # Stooq .us სუფიქსით
delivery:
channel: telegram # ან email
⏰ 3. ყოველდღიური გაშვება: Windows Task Scheduler
PowerShell სკრიპტი, რომელიც აგენტს ავტომატურად უშვებს ყოველ სამუშაო დღეს 07:30 საათზე:
$action = New-ScheduledTaskAction `
-Execute "C:\Users\GBASILAIA\claude\ai2026\morning-briefing\.venv\Scripts\python.exe" `
-Argument "main.py" `
-WorkingDirectory "C:\Users\GBASILAIA\claude\ai2026\morning-briefing"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday -At 7:30am
Register-ScheduledTask -TaskName "MorningBriefing" -Action $action -Trigger $trigger
💡 რჩევა გამორთული კომპიუტერისთვის:
Task Scheduler-ის პარამეტრებში მონიშნეთ ოფცია: „Run task as soon as possible after a scheduled start is missed“. ასე აგენტი მაშინვე გაეშვება, როგორც კი დილით ლეპტოპს ჩართავთ.
📱 4. Telegram ბოტის ინტერაქცია
აგენტი არა მხოლოდ აგზავნის დილის ბრიფინგს, არამედ მუშაობს ინტერაქტიულად Telegram ბოტად:
/markets— ბაზრების მომენტალური სტატუსი (კრიპტო + აქციები ფასებითა და ისრებით ▲/▼);/help— ბრძანებების სია და სტატუსი;- Inline Button 📈 ბაზრები — ერთი თითის დაჭერით რეალურ დროში განახლება.
🧪 ტესტირება --dry-run რეჟიმით:
პირველ გაშვებამდე გამოიყენეთ python main.py --dry-run. ეს ბრძანება ამოიღებს ყველა მონაცემს, დაბეჭდავს ეკრანზე და არაფერს გააგზავნის Telegram-ში/ფოსტაზე. ასე გადაამოწმებთ, რომ ყველა API მუშაობს შეუფერხებლად.