GunSpec
Praxis

Einen Agenten auf GunSpec bauen

Welche Tools eine Aufgabe lösen, wie eine Antwort ehrlich bleibt, wenn der Katalog schweigt, und was ein Gespräch kostet.

Der Server bietet 35 einzelne Tools und 5 Workflow-Tools. Ein Workflow ist ein Aufruf, der die Arbeit mehrerer erledigt, und das zählt, weil jeder Aufruf gemessen wird und jede Runde Latenz ist, die der Nutzer sieht.

tool-chain
javascript
// A product question, answered in three tool calls rather than// a dozen. Each call is metered, so the shape of the chain is the// cost of the feature. // 1. Words to a record. Never guess a slug, and never take the//    first search hit as the answer.gunspec_resolve_firearm({ query: "that 10mm Glock with the long slide" })// -> { status: "resolved", firearmId: "glock-g40-gen4", score: 0.93 } // 2. One workflow call instead of interfaces + attachments +//    offers + a lookup per part.gunspec_what_fits({ id: "glock-g40-gen4", category: "optic" }) // 3. The artwork, as URLs you hand to your renderer. The tool//    returns links and credits; it never returns file bytes.gunspec_firearm_media({ id: "glock-g40-gen4", kind: "silhouette" })

Jede Zeile ist eine vollständige Aufgabe. Beginnen Sie links und hören Sie auf, wenn die Frage beantwortet ist.

Was gefragt wurdeTools, der Reihe nachHinweise
"Erzähl mir von dieser Waffe"gunspec_resolve_firearm → gunspec_get_firearmImmer zuerst auflösen und auf den Status reagieren statt auf den ersten Suchtreffer.
"Was ist besser, X oder Y?"gunspec_compare_by_nameEin Workflow-Aufruf. Er löst beide Namen auf und liefert sie ausgerichtet.
"Welche Optik passt auf mein Gewehr?"gunspec_what_fitsEin Aufruf für Aufnahmen, Teile und Angebote, mit Konfidenz je Passung.
"Was ist das auf dem Foto?"gunspec_identify_firearmBeschreibung zu Kandidaten, sortiert, mit den Gründen des Treffers.
"Zeig mir Bilder oder ein 3D-Modell"gunspec_firearm_mediaLiefert URLs und Credits, nie Dateibytes. Reichen Sie die URL an Ihren Renderer.
"Wie leistet diese Patrone?"gunspec_cartridge_profilePatrone, Laborierungen und Ballistik in einer Antwort statt in drei Abfragen.
"Wo kann ich das kaufen?"gunspec_firearm_offers oder gunspec_attachment_offersHändler zu einem Datensatz, bereits auf Aktualität gefiltert. Über die gezählte Weiterleitung verlinken.
"Wie rufe ich diesen Endpunkt auf?"gunspec_search_docs → gunspec_read_docsDie Dokumentation lesen statt Parameter zu erinnern, und das Gelesene zitieren.

Ein Agent auf einer Spezifikationsdatenbank wird genau so lange geglaubt, wie er keine Zahl erfindet. Vier Regeln, jede davon über das, was man nicht sagt. Datenqualität liefert die Belege dahinter.

grounding.ts
javascript
// The rules that decide whether your agent is trusted.// Every one of them is about what NOT to say. if (result.status === "ambiguous") {  // Ask. Generations differ in exactly the numbers people came for.  return askUser(result.alternatives)} if (firearm.barrelLengthMm == null) {  // A null is "not sourced". It is not zero, and it is not an  // invitation to recall a number from training data.  return "GunSpec does not hold a barrel length for this record."} if (firearm.dataConfidence < 0.6) {  // Say so, and cite what the record was compiled from.  return withCaveat(answer, firearm.sources)} // Cite the id you used. It is stable, so the reader can check it.return `${answer} (GunSpec: ${firearm.id})`

Zwei Tools gibt es, damit ein Agent beim Bauen einer Integration nicht aus dem Gedächtnis arbeitet: eines durchsucht diese Leitfäden, das andere liefert eine Seite oder einen Abschnitt als Markdown. Ergänzen Sie sie mit den Paketen auf der KI-Seite für Agenten ohne MCP-Verbindung.

  • gunspec_search_docs nimmt die Frage in den Worten des Nutzers und liefert die Abschnitte, die sie beantworten, die besten zuerst.
  • gunspec_read_docs liefert einen Leitfaden oder einen Anker daraus, was für eine Antwort meist reicht. Eine ganze Seite kann zig Kilobyte groß sein.
  • gunspec_api_operation und gunspec_code_sample beantworten die engere Frage: was dieser Endpunkt nimmt und welches Beispiel die Referenz dafür abdruckt.
  • Eine Frage, die die Dokumentation nicht abdeckt, liefert nichts. Das heißt, die Antwort steht nirgends, nicht dass eine ungefähre genügt.

MCP-Aufrufe haben eine eigene Tagesgrenze innerhalb des Tarifs: 20 auf Explorer, 500 auf Builder, und zwar als Untergrenze statt als Zusatzkontingent. Ein Agent verbraucht schneller als ein Programm, weil er wiederholt, nachfragt und erkundet, und genau dafür gibt es die Grenze. MCP-Limits hat die Tabelle, Im Tarif bleiben die Hebel.

  • Ein Workflow-Tool schlägt eine Kette aus vier Aufrufen: ein Aufruf gegen die Grenze und eine Runde Latenz.
  • Cachen Sie Auflösungen im Sitzungszustand. Denselben Namen dreimal in einem Gespräch aufzulösen sind drei Aufrufe für eine Tatsache.
  • Setzen Sie ein Tool-Budget je Gespräch und bauen Sie bewusst ab, wenn es aufgebraucht ist, statt bei der letzten Frage zu scheitern.
  • Ein Tool außerhalb des Tarifs liefert einen Fehler, der den nötigen Tarif nennt. Zeigen Sie das als Upgrade, nie als Wiederholung.

GunSpec beantwortet, was eine Waffe ist, was darauf passt und wer sie führt. Ihre Nutzer, Ihren Bestand und Ihre Preise kennt der Dienst nicht, die interessanten Produkte sind also Kompositionen.

  • Kombinieren Sie den Katalog mit Ihrem eigenen Bestands-Tool: GunSpec löst auf und beschreibt, Ihr System beantwortet Bestand und Preis, verbunden über die gespeicherte Katalog-ID.
  • Kombinieren Sie ihn mit einer Suche über Ihre eigenen Handbücher oder Richtlinien, wenn eine Antwort halb Spezifikation und halb Hausregel ist.
  • Für ein Produkt statt eines Gesprächs rufen Sie die API direkt von Ihrem Server mit dem SDK auf. MCP ist für Agenten; ein Seitenaufbau braucht kein Modell in der Schleife.
  • Verkaufen statt nur beschreiben ist der Marktplatz-Leitfaden, samt gezählten Links und Händler-Feed.