Meine Top 5 Automatisierungs-Workflows
Jeden Morgen checke ich meine Dashboards, und in 90% der Fälle ist schon alles erledigt. Nicht, weil ich früher aufstehe – sondern weil meine Automationen nachts laufen. Hier sind die fünf Workflows, die mir jede Woche konservativ 8–12 Stunden sparen. Alle laufen produktiv, alle haben Code, alle könnt ihr 1:1 übernehmen.
1. Automatisches PR-Review mit Hermes Agent
Jeder Pull Request in meinen Repos wird automatisch von Hermes Agent reviewed. Der Agent checkt: Code-Style, potenzielle Bugs, Sicherheitslücken (SQL-Injection, XSS), fehlende Tests und Dokumentation.
# ~/.hermes/cron/pr-review.yaml
schedule: "*/15 * * * *"
skill: pr-reviewer
config:
repos:
- github.com/romic/backend-api
- github.com/romic/tool-suite
checks:
- code_style
- security_scan
- test_coverage
- docs_completeness
auto_approve_threshold: 0.85
notify_on_issues: true
Der Clou: Bei einem Score über 85% approved der Agent automatisch. Darunter postet er einen detaillierten Review-Kommentar mit Zeilennummern. Das spart nicht nur meine Zeit, sondern auch die meiner Mitentwickler – sie bekommen innerhalb von Minuten Feedback statt erst am nächsten Tag.
2. Content-Scraping und Zusammenfassung
Ich verfolge etwa 30 Tech-Blogs, HackerNews und verschiedene Subreddits. Früher habe ich täglich 45 Minuten mit Überfliegen verbracht. Heute läuft ein Scraper + Summarizer, der mir jeden Morgen eine personalisierte Zusammenfassung liefert.
import asyncio
from playwright.async_api import async_playwright
from hermes_agent import Agent
async def scrape_and_summarize():
sources = load_sources() # 30 URLs aus YAML
articles = []
async with async_playwright() as p:
browser = await p.chromium.launch()
for src in sources:
page = await browser.new_page()
await page.goto(src['url'], timeout=15000)
content = await page.inner_text('article')
articles.append({'source': src['name'], 'content': content[:5000]})
agent = Agent(skill='summarizer')
digest = await agent.run(f"""
Fasse diese {len(articles)} Artikel zusammen.
Nur relevant für: Python-Entwicklung, AI-Automation, DevOps.
Max. 3 Sätze pro Artikel. Ignoriere Clickbait.
Artikel: {articles}
""")
await send_email('morning-digest@meinedomain.de', digest)
Das Ergebnis: Ein tägliches E-Mail-Digest um 7:00 Uhr mit den 5–8 relevantesten Artikeln, jeweils mit 3-Satz-Zusammenfassung und Link. Lesezeit: 5 Minuten statt 45.
3. Automatische Report-Generierung aus Logs
Meine Server produzieren täglich Gigabytes an Logs. Statt manuell nach Anomalien zu suchen, analysiert ein Agent jeden Morgen die Logs der letzten 24 Stunden und schreibt einen menschenlesbaren Report.
#!/bin/bash
# /etc/cron.daily/ai-log-report
LOGS="/var/log/app/*.log"
REPORT="/var/reports/$(date +%Y-%m-%d).md"
cat $LOGS | tail -5000 > /tmp/daily_logs.txt
hermes-agent run --skill log-analyzer \
--input /tmp/daily_logs.txt \
--output $REPORT \
--prompt "Analysiere die Logs. Fokus auf:
1. 5xx-Fehler (mit Häufigkeit und betroffenen Endpoints)
2. Ungewöhnliche Latenz-Spikes (>2x Median)
3. Auth-Failures (potenzielle Brute-Force)
4. DB-Connection-Timeouts
Format: Markdown mit Severity (🔴🟡🟢)"
Der Report wird in meinem internen Dashboard angezeigt. Bei 🔴-Einträgen bekomme ich zusätzlich eine Push-Nachricht aufs Handy. Vor dieser Automation habe ich Anomalien oft erst nach Tagen entdeckt.
4. E-Mail-Triage und automatische Antworten
Ich bekomme etwa 80–100 E-Mails pro Tag. Der Agent kategorisiert sie in: Dringend (braucht meine Aufmerksamkeit), Beantwortbar (Agent antwortet mit Vorlage), Newsletter/Spam (Archiv). Die Trefferquote liegt bei ~92%.
def triage_email(email: dict) -> str:
prompt = f"""
Kategorisiere diese E-Mail als:
- URGENT: Kunde hat Problem, Terminänderung, Security-Issue
- ANSWERABLE: Häufige Frage, kann mit Vorlage beantwortet werden
- NOISE: Newsletter, Werbung, CC-Only
Betreff: {email['subject']}
Von: {email['from']}
Text: {email['body'][:1000]}
Antworte NUR mit: URGENT, ANSWERABLE oder NOISE
"""
return agent.run(prompt).strip()
# Für ANSWERABLE: Vorlagen-basierte Antwort
TEMPLATES = {
'preis': "Unsere Preise findest du hier: ...",
'termin': "Buche direkt einen Slot: ...",
'bug': "Danke für den Report! Bitte erstelle ein Issue: ..."
}
5. Social-Media-Crossposting mit Adaption
Wenn ich einen neuen Blog-Artikel veröffentliche, erstellt der Agent automatisch angepasste Posts für X/Twitter, Mastodon, LinkedIn und meinen Newsletter – jeweils mit plattformspezifischer Tonalität und Länge.
def crosspost_article(article: dict):
platforms = {
'twitter': {'max_chars': 280, 'tone': 'kurz, direkt, mit Hook'},
'linkedin': {'max_chars': 3000, 'tone': 'professionell, lehrreich'},
'mastodon': {'max_chars': 500, 'tone': 'community-orientiert, technisch'},
'newsletter': {'max_chars': 5000, 'tone': 'persönlich, ausführlich, mit Call-to-Action'},
}
posts = {}
for platform, specs in platforms.items():
prompt = f"""
Erstelle einen {platform}-Post für diesen Artikel:
Titel: {article['title']}
Zusammenfassung: {article['summary']}
Key Takeaway: {article['takeaway']}
Regeln:
- Max. {specs['max_chars']} Zeichen
- Tonalität: {specs['tone']}
- Enthält Link zum Artikel
- Keine Hashtag-Overload (max 3)
"""
posts[platform] = agent.run(prompt)
return posts
Die gemeinsame Infrastruktur
Alle fünf Workflows laufen auf demselben Server, orchestriert durch systemd-Timer und Cron. Das Herzstück ist ein zentrales Logging:
# /var/log/automation/ Struktur
automation/
├── pr-review/
│ └── 2026-06-04.log
├── content-digest/
│ └── 2026-06-04.log
├── log-analyzer/
│ └── 2026-06-04.log
├── email-triage/
│ └── 2026-06-04.log
└── crosspost/
└── 2026-06-04.log
Jeder Log-Eintrag hat einen einheitlichen JSON-Struktur: {"ts":"...","level":"INFO","workflow":"...","duration_ms":...,"tokens_used":...,"success":true}. Ein wöchentlicher Cron-Job aggregiert diese Logs zu einem Kosten- und Performance-Report.
Was diese Workflows gemeinsam haben
Wenn ich mir meine erfolgreichsten Automationen anschaue, sehe ich ein Muster:
- Klare Ein-/Ausgabe: Jeder Workflow hat definierte Inputs und Outputs, keine vagen "mach mal"-Prompts
- Fail-Safe: Jeder Workflow hat Timeouts, Retries und eine manuelle Fallback-Option
- Messbar: Ich tracke Erfolgsquote, Latenz und Kosten für jeden Workflow separat
- Menschenlesbare Outputs: Kein Workflow produziert nur Logs – jeder erzeugt Markdown, E-Mails oder Dashboard-Einträge
Im nächsten Artikel teste ich DeepSeek gegen GPT-4 für genau diese Workflows – die Ergebnisse haben mich überrascht.