Protokolle zur Übergabe an Menschen
Übergabetrigger erkennen und reibungslos an menschliche Mitarbeitende übergeben.
Protokolle zur Übergabe an Menschen ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Wann sollte ein Agent eine Unterhaltung übergeben?
Nicht jedes Gespräch sollte vollständig von einem KI-Agenten bearbeitet werden. Zu wissen, wann eine Übergabe erfolgen sollte, ist ebenso wichtig wie zu wissen, wie man antwortet. Häufige Auslöser:
- Der Kunde bittet ausdrücklich um einen Menschen
- Erkannter Ärger oder Anzeichen von Verzweiflung
- Eine komplexe oder mehrdeutige Situation außerhalb des Zuständigkeitsbereichs des Agenten
- Rechtliche, sicherheitsrelevante oder Compliance-relevante Aspekte
Übergabeauslöser erkennen
Verwenden Sie einen LLM-Klassifikator, um Übergabeauslöser in Echtzeit zu erkennen. Prüfen Sie dies bei jedem Schritt des Agenten, nicht nur bei der ersten Nachricht.
import openai, json
client = openai.OpenAI(api_key='YOUR_OPENAI_KEY')
def should_handoff(message: str, history: list[dict]) -> dict:
context = '\n'.join(f"{m['role']}: {m['content']}" for m in history[-4:])
prompt = (
f'Conversation context:\n{context}\n'
f'Latest message: "{message}"\n'
f'Should this be handed to a human agent? Reasons: '
f'angry_customer, explicit_human_request, complex_issue, legal_risk, other.\n'
f'JSON: {{"handoff": true/false, "reason": "..."}}'
)
resp = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
response_format={'type': 'json_object'}
)
return json.loads(resp.choices[0].message.content)Warme vs. kalte Übergabe
Es gibt zwei Arten der Übergabe:
- Warme Übergabe: Der Agent stellt sich und den Kunden dem menschlichen Agenten vor, fasst das Gespräch zusammen und wartet auf die Bestätigung des Menschen, bevor er die Unterhaltung beendet.
- Kalte Übergabe: Die Unterhaltung wird mit einer Zusammenfassung des Gesprächsprotokolls übertragen, und der Agent trennt die Verbindung sofort.
Warme Übergaben verringern die Frustration der Kunden, erfordern jedoch, dass ein menschlicher Agent in Echtzeit verfügbar ist.
Die Gesprächszusammenfassung erstellen
Vor der Übergabe erstellt der Agent eine strukturierte Zusammenfassung des Gesprächs. Diese Zusammenfassung wird dem menschlichen Agenten als Kontext angezeigt, sodass der Kunde sich nicht wiederholen muss.
def generate_handoff_summary(history: list[dict]) -> str:
transcript = '\n'.join(
f"{m['role'].upper()}: {m['content']}" for m in history
)
prompt = (
f'Summarize this support conversation for a human agent.\n'
f'Include: customer issue, what was tried, current status, and urgency level.\n'
f'Be brief (3-5 sentences).\n\n'
f'TRANSCRIPT:\n{transcript}'
)
resp = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}]
)
return resp.choices[0].message.content
summary = generate_handoff_summary([
{'role': 'user', 'content': 'My account was charged twice for January'},
{'role': 'assistant', 'content': 'I can look into that for you...'}
])
print(summary)Zendesk-Ticket bei einer Übergabe erstellen
Erstellen Sie bei einer Übergabe ein Zendesk-Ticket mit der Zusammenfassung und dem vollständigen Gesprächsprotokoll. Der menschliche Agent öffnet das Ticket und verfügt sofort über den nötigen Kontext.
import requests
ZENDESK_DOMAIN = 'yourcompany.zendesk.com'
ZENDESK_TOKEN = 'YOUR_ZENDESK_API_TOKEN'
ZENDESK_EMAIL = 'agent@yourcompany.com'
def create_zendesk_ticket(customer_email: str, subject: str,
summary: str, transcript: str) -> str:
payload = {
'ticket': {
'subject': subject,
'comment': {'body': f'AI Agent Summary:\n{summary}\n\nFull Transcript:\n{transcript}'},
'requester': {'email': customer_email},
'tags': ['ai_handoff'],
'priority': 'high'
}
}
resp = requests.post(
f'https://{ZENDESK_DOMAIN}/api/v2/tickets.json',
json=payload,
auth=(f'{ZENDESK_EMAIL}/token', ZENDESK_TOKEN)
)
resp.raise_for_status()
return str(resp.json()['ticket']['id'])Übergabe eines Intercom-Gesprächs
Übergeben Sie das Gespräch in Intercom, indem Sie es über die Intercom API einem bestimmten Team oder Agenten zuweisen. Der menschliche Agent erhält eine Benachrichtigung und kann das Gespräch direkt fortsetzen.
import requests
INTERCOM_TOKEN = 'YOUR_INTERCOM_ACCESS_TOKEN'
def handoff_to_intercom_team(conversation_id: str, team_id: str,
note: str) -> bool:
headers = {
'Authorization': f'Bearer {INTERCOM_TOKEN}',
'Content-Type': 'application/json'
}
# Add a note with the AI summary
requests.post(
f'https://api.intercom.io/conversations/{conversation_id}/parts',
headers=headers,
json={'type': 'note', 'body': note}
)
# Assign to human team
resp = requests.put(
f'https://api.intercom.io/conversations/{conversation_id}/parts',
headers=headers,
json={'type': 'assignment', 'assignee_id': team_id,
'message_type': 'assignment'}
)
return resp.status_code == 200Die Übergabenachricht an den Kunden
Die Nachricht, die der Kunde während der Übergabe erhält, ist wichtig. Sie sollte die Übergabe bestätigen, Erwartungen an die Wartezeit festlegen und vermitteln, dass das Anliegen ernst genommen wird.
def generate_handoff_message(reason: str, wait_minutes: int = 5) -> str:
messages = {
'explicit_human_request':
f'Of course! I am connecting you with a human agent right now. '
f'Estimated wait: {wait_minutes} minutes. Your conversation history '
f'has been shared so you will not need to repeat anything.',
'angry_customer':
f'I completely understand your frustration. Let me get a senior '
f'team member on the line immediately. Wait: ~{wait_minutes} min.',
'complex_issue':
f'This situation needs specialist attention. I am escalating now '
f'and sharing all the context we have discussed. Wait: ~{wait_minutes} min.',
'legal_risk':
f'This matter requires our compliance team. Connecting you now.'
}
return messages.get(reason, f'Connecting you with a human agent. ~{wait_minutes} min wait.')
if __name__ == '__main__':
print(generate_handoff_message('angry_customer', wait_minutes=3))
print(generate_handoff_message('explicit_human_request'))
Warteschlange, wenn kein Mensch verfügbar ist
Außerhalb der Geschäftszeiten oder bei hohem Aufkommen ist möglicherweise nicht sofort ein Mensch verfügbar. Stellen Sie die Übergabe in eine Warteschlange, senden Sie dem Kunden eine Bestätigung mit einer Referenznummer und benachrichtigen Sie das Bereitschaftspersonal über Slack oder PagerDuty.
import requests
SLACK_WEBHOOK = 'https://hooks.slack.com/services/YOUR/WEBHOOK/URL'
def notify_on_call(ticket_id: str, summary: str, priority: str):
payload = {
'text': f'*New AI Handoff* [{priority.upper()}]',
'attachments': [{
'color': '#ff0000' if priority == 'high' else '#ffcc00',
'fields': [
{'title': 'Ticket ID', 'value': ticket_id, 'short': True},
{'title': 'Summary', 'value': summary[:500]}
]
}]
}
requests.post(SLACK_WEBHOOK, json=payload)Verhalten des Agenten nach der Übergabe
Nach dem Auslösen einer Übergabe sollte der Agent nicht weiter versuchen, das Problem zu lösen. Er darf weiterhin sachliche Fragen beantworten (etwa zum Bestellstatus oder zu Richtlinien-Links), sollte aber keine Zusagen machen oder Entscheidungen treffen.
def agent_post_handoff_response(message: str, handoff_complete: bool) -> str:
if not handoff_complete:
return 'Connecting you now...'
# Still answer simple factual questions
simple_keywords = ['status', 'where', 'when', 'policy', 'link']
if any(kw in message.lower() for kw in simple_keywords):
return 'I can help with that while you wait for the agent.'
# Defer everything else
return (
'Your case has been assigned to a specialist. '
'They will respond shortly. I will step back to avoid confusion.'
)
if __name__ == '__main__':
print(agent_post_handoff_response('Where is my order?', handoff_complete=True))
print(agent_post_handoff_response('I want a refund now', handoff_complete=True))
Übergabemetriken verfolgen
Messen Sie die Übergaberate, die Verteilung der Gründe und die Lösungszeit nach der Übergabe. Eine hohe Übergaberate bei einem bestimmten Intent deutet darauf hin, dass der Agent für dieses Thema eine bessere Abdeckung benötigt.
from collections import Counter
import json
handoff_log = [] # In production: a database table
def record_handoff(session_id: str, reason: str, turn_number: int):
handoff_log.append({
'session_id': session_id,
'reason': reason,
'turns_before_handoff': turn_number
})
def handoff_analytics() -> dict:
reasons = Counter(h['reason'] for h in handoff_log)
avg_turns = sum(h['turns_before_handoff'] for h in handoff_log) / max(len(handoff_log), 1)
return {
'total_handoffs': len(handoff_log),
'reason_breakdown': dict(reasons),
'avg_turns_before_handoff': round(avg_turns, 1)
}
if __name__ == '__main__':
record_handoff('s1', 'angry_customer', 4)
record_handoff('s2', 'complex_issue', 7)
record_handoff('s3', 'angry_customer', 2)
stats = handoff_analytics()
print(f"Total handoffs: {stats['total_handoffs']}")
print(f"Reasons: {stats['reason_breakdown']}")
print(f"Avg turns before handoff: {stats['avg_turns_before_handoff']}")
Die vollständige Übergabeorchestrierung
Kombinieren Sie alle Schritte in einer Funktion execute_handoff(), die der Agent aufruft, sobald ein Auslöser erkannt wird.
def execute_handoff(session: dict, reason: str) -> str:
# 1. Generate summary
summary = generate_handoff_summary(session['history'])
transcript = '\n'.join(
f"{m['role']}: {m['content']}" for m in session['history']
)
# 2. Create ticket
ticket_id = create_zendesk_ticket(
session['customer_email'],
f'AI Handoff: {reason}',
summary,
transcript
)
# 3. Notify on-call team
notify_on_call(ticket_id, summary, priority='high')
# 4. Record metrics
record_handoff(session['id'], reason, len(session['history']))
# 5. Return customer-facing message
wait = 5 # fetch from queue depth in production
return generate_handoff_message(reason, wait)Was ist der entscheidende Unterschied zwischen einer warmen und einer kalten Übergabe?
Die Wahl der richtigen Übergabeart wirkt sich auf das Kundenerlebnis und die operative Komplexität aus. Wenn Sie den Unterschied verstehen, können Sie das passende Verfahren implementieren.
Zusammenfassung der Protokolle für die Übergabe an Menschen
Eine effektive Übergabe erfordert: das Erkennen von Auslösern (Ärger, ausdrücklicher Wunsch, Komplexität), das Erstellen einer Zusammenfassung für den menschlichen Agenten, das Erstellen eines Tickets in Zendesk/Intercom mit dem vollständigen Gesprächsprotokoll, das Benachrichtigen des Bereitschaftspersonals und eine klare Erwartungsnachricht für den Kunden.
Nach der Übergabe tritt der Agent zurück und überlässt alle Entscheidungen dem Menschen.
Lerne AI Agents mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 60
- Lektionen
- 239
Häufig gestellte Fragen
Ist die Lektion „Protokolle zur Übergabe an Menschen“ kostenlos?
Ja — der vollständige Text von „Protokolle zur Übergabe an Menschen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Protokolle zur Übergabe an Menschen“?
Übergabetrigger erkennen und reibungslos an menschliche Mitarbeitende übergeben. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Protokolle zur Übergabe an Menschen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Ticket-Routing und Eskalationslogik
- CRM-Integration: Salesforce und HubSpot
- Protokolle zur Übergabe an Menschen
- Kundenkontext und -historie verwalten