Računalničar, Sebastijan Bandur s.p.
SL EN
← Vse novice

Študija primera: kako bi zgradili AI agenta za ponudbe

Referenčna izvedba za podjetje po meri: Claude Desktop opiše posel, MCP strežnik deterministično izračuna ceno in vrne PDF ponudbo. Arhitektura, cenovni model, orodja in primer poteka.

Tok: Claude → MCP → podatki → PDF ponudba

To je referenčna izvedba (ne dokončan projekt): kako bi za tipično podjetje po meri — recimo mizarstvo z okni in vrati — zgradili AI agenta, ki sestavlja ponudbe. Cilj: lastnik v Claude Desktop opiše posel, nazaj dobi ošteviljčeno PDF ponudbo. Ključno načelo iz prejšnjega članka velja: ceno izračuna orodje, ne model.

Arhitektura

Claude Desktop  ──MCP/HTTP──▶  MCP strežnik (Cloudflare Worker)
                                  ├─ cenovna pravila (deterministično)
                                  ├─ podatki: D1  ALI  Intrix CRM (prek API)
                                  └─ PDF generator (+ R2 shramba)

Agent samo zbere parametre in kliče orodja; vsa logika in podatki ostanejo na strežniku, pod nadzorom.

Korak 1 — cenovni model

Najprej cenik prelijemo v pravila. Za okno npr.:

povrsina_m2 = (sirina_mm * visina_mm) / 1_000_000
cena = povrsina_m2 * cena_m2[material]      // les, ALU-les …
     + zasteklitev[tip]                     // enojna/dvojna/trojna
     + okovje
     + (montaza ? montaza_m2 * povrsina_m2 : 0)

Cenovne tabele (cena_m2, zasteklitev, montaza_m2) so podatki, ki jih je mogoče urejati brez posega v kodo. Tu je 80 % vrednosti projekta.

Korak 2 — MCP orodja

Strežnik izpostavi nekaj orodij prek MCP. calculate_quote z jasno shemo:

{
  "name": "calculate_quote",
  "inputSchema": {
    "type": "object",
    "properties": {
      "items": { "type": "array", "items": {
        "type": "object",
        "properties": {
          "tip": { "enum": ["okno", "vrata", "protipozarna_vrata"] },
          "sirina_mm": { "type": "integer" },
          "visina_mm": { "type": "integer" },
          "material": { "enum": ["les", "alu-les"] },
          "zasteklitev": { "enum": ["enojna", "dvojna", "trojna"] },
          "kolicina": { "type": "integer" },
          "montaza": { "type": "boolean" }
        }, "required": ["tip", "sirina_mm", "visina_mm", "kolicina"]
      }}
    }, "required": ["items"]
  }
}

Vrne postavke s cenami in skupno vrednostjo (z DDV in brez). Drugo orodje create_quote shrani ponudbo, dodeli številko in vrne PDF.

Korak 3 — shramba in PDF

V D1 preprosta tabela:

CREATE TABLE quotes (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  number TEXT UNIQUE, customer TEXT,
  items TEXT,          -- JSON
  total_net REAL, total_gross REAL,
  created_at TEXT DEFAULT (datetime('now'))
);

PDF sestavimo iz predloge z njihovim logotipom, pogoji in veljavnostjo; shranimo v R2 in vrnemo povezavo.

Korak 4 — povezava s Claude Desktop

Brez lokalnega strežnika — Claude Desktop se poveže prek HTTP z bearer tokenom (ali enako v Claude Code):

claude mcp add --transport http ponudbe https://primer.si/mcp \
  --header "Authorization: Bearer <TOKEN>"

Možnost: povezava z Intrix (obstoječi ERP)

Če podjetje že uporablja Intrix (CRM s potjo povpraševanje → ponudba → posel), agentu ni treba graditi ločenega imenika strank. MCP strežnik se poveže z Intrix prek njegovega API-ja:

  • najdi_stranko — bere stranke iz Intrix CRM (brez podvajanja podatkov).
  • create_quote — ponudbo zapiše nazaj v Intrix kot ponudbo, vezano na stranko, da ostane v obstoječem prodajnem lijaku.

Cenovni izračun ostane v MCP strežniku (deterministična pravila), saj cene po meri pogosto niso del ERP-ja. Tako dobite en vir resnice — prodajni proces v Intrixu se ne spremeni, AI le skrajša korak od opisa do ponudbe. Obseg integracije je odvisen od Intrix API/integracijskih možnosti, kar uskladimo s ponudnikom (Intera).

Primer poteka

Lastnik: Ponudba za Novak — 3 lesena okna 1200×1400 dvojna zasteklitev z montažo, 1 protipožarna vrata 900×2100.

  1. Claude pokliče calculate_quote s tremi postavkami → dobi cene in skupno.
  2. Claude pokliče create_quote → ponudba 2026-041, PDF povezava (in zapis v Intrix, če je povezan).
  3. Lastnik PDF pregleda, potrdi in pošlje. Skupaj minuta.

Varnost in faze

  • Deny-by-default bearer token; agent dobi le orodja za ponudbe.
  • Podatki strank v EU (GDPR).
  • Faze: (1) zajem cenika, (2) calculate_quote + create_quote + PDF, (3) Claude Desktop in uvajanje, (4) CRM/e-pošta.

Rezultat je dosleden, ošteviljčen in shranjen postopek — osnutek, ki ga potrdi človek. Točno to je naša storitev AI integracije.

Več o AI in MCP ↗ · Zakaj cene ne sme računati model ↗

Kontakt

Stopite v stik

Izberite temo, opišite projekt. Odgovorimo isti dan.

Korak 1 od 2 · Kaj vas zanima?

Storitve

Produkti