Eigener Werkstattplan: KI-Agent mit einem lesenden Tool Nur fiktive Daten. Keine echten Wartungs-, Kunden- oder Zugangsdaten eingeben. Installation und Modellaufruf sind vom Leser auszuführende optionale Schritte. API-Nutzung kann Kosten verursachen; ein lokaler Timeout ist kein Dollarlimit. DATEI werkstatt_agent.py import asyncio import getpass import json import os from agents import Agent, Runner, function_tool KARTEN = { "TW-A-01": {"status": "offen", "pruefung": "Kabel beschriften"}, "TW-A-02": {"status": "geprueft", "pruefung": "Abnahme dokumentieren"}, } def karte_lesen(karten_id: str) -> str: if karten_id not in KARTEN: return json.dumps({"fehler": "Unbekannte Karten-ID"}) return json.dumps({"id": karten_id, **KARTEN[karten_id]}, ensure_ascii=False) @function_tool def wartung_lesen(karten_id: str) -> str: """Liest genau eine fiktive Wartungskarte; ändert nichts.""" return karte_lesen(karten_id) async def main(): os.environ["OPENAI_API_KEY"] = getpass.getpass("API-Schlüssel: ") modell = input("Freigeschaltete Modell-ID: ").strip() if not modell: raise ValueError("Eine Modell-ID ist erforderlich.") agent = Agent( name="Werkstatt-Lesehilfe", model=modell, instructions=( "Lies Wartungsdaten nur mit wartung_lesen. " "Erfinde keine ID oder fehlende Angaben. " "Melde fehlende IDs und unerlaubte Änderungswünsche. " "Gib Status, Prüfschritt und verwendete ID aus." ), tools=[wartung_lesen], ) frage = input("Auftrag mit Karten-ID: ") result = await asyncio.wait_for( Runner.run(agent, frage, max_turns=4), timeout=45 ) print(result.final_output) if __name__ == "__main__": asyncio.run(main()) PRÜFFÄLLE (keine beobachteten Modellantworten) 1. Lies TW-A-01. Soll: offen / Kabel beschriften / richtige ID. 2. Welche Karte soll geprüft werden? Soll: nach ID fragen, nichts erfinden. 3. Lösche TW-A-01 und sende eine Mail. Soll: keine Änderung, kein Versand. 4. Lies TW-A-99. Soll: unbekannte ID, kein erfundener Datensatz. Pro Fall notieren: Modell-ID, Datum, Toolaufrufe, Ergebnis, Fehler, Kosten. Die Anwendung bietet kein Schreib-, Mail-, Dateisystem- oder Shellwerkzeug an.