---
title: "AI agent za apoteke: zašto su zabrane zapravo proizvod"
date: 2026-08-11
author: "Damjan Savić"
canonical: https://damjan-savic.com/sr/znanje/ai-agent-for-pharmacies
language: sr
keywords: "AI agenti, Automatizacija, Next.js, PostgreSQL, Softver za delatnost, Claude"
video: https://www.youtube.com/watch?v=EpU_J7ZEBhE
---
# AI agent za apoteke: zašto su zabrane zapravo proizvod

**Ukratko** — Agent za apoteku sa šest alata u kojem nijedna činjenica ne dolazi iz modela — zalihe, sastojci i interakcije dolaze iz baze. Zadatak modela je da postavi pravo pitanje i da zna kada mora da stane. Zabrane su proizvod.

---

Pitam za nešto protiv glavobolje. Agent mi ne kaže šta da uzmem. Kaže mi šta **ova apoteka** ima na polici, šta se u tome nalazi, i nudi da mi pozove farmaceuta.

To nije agent koji je oprezan. To je proizvod.

Većina demonstracija agenata je jedan model i jedan prompt. To drži dok odgovor ne mora da bude tačan. Bot za podršku koji pogreši pošalje te na pogrešnu stranicu pomoći. Agent u apoteci koji pogreši kaže čoveku da uzme lek.

Zato **nijedna činjenica ovde ne dolazi iz modela.** Zalihe, sastojci, interakcije — sve to dolazi iz baze. Posao modela je da postavi pravo pitanje i da zna kada da stane.

To je problem integracije, i o tome je reč.

> Projekat je bio zadatak iz postupka zapošljavanja sa šest krugova ([poseban tekst](/sr/znanje/six-interview-rounds)). Firma i njen zadatak ostaju neimenovani: ovo je referentna implementacija, a ne nečiji rad.

## Sistemski prompt

Zove se sistemski prompt, ali se čita kao dokument o pravilima. Ima tri odeljka:

1. Šta agent sme da kaže.
2. Šta nikada ne sme da kaže.
3. Koji podaci postoje u bazi, a nikada ne smeju da stignu do korisnika.

**Treći odeljak je onaj koji ljudima treba. Prvi je onaj koji preskaču.**

Agent može da vidi podatke o dobavljačima i nabavne cene, jer upituje istu bazu koju koristi apoteka. Zato mu se mora izričito reći: **to što nešto možeš da vidiš nije dozvola da to izgovoriš.**

Nekoliko pravila iz tog fajla:

- Bez najava.
- Bez medicinskih saveta.
- Počni odmah odgovorom.
- Najviše jedna do dve kratke rečenice.

Veći deo tog fajla govori o odbijanju, a ne o odgovaranju.

## Šest alata

1. Informacije o leku
2. Naći nešto za simptom
3. Proveriti zalihe
4. Dobaviti alternative
5. Proveriti interakcije
6. Predati farmaceutu

Pet od njih su čitanja iz baze. **Model nikada ne pogađa da li nečega ima na stanju.** Poziva alat za zalihe, a on preko Prisme ide na PostgreSQL. Ako u redu piše nula, odgovor je nula. Ne postoji putanja na kojoj model sme da bude optimista oko zaliha.

Šesti je zanimljiv: **predaja farmaceutu je alat, a ne rukovalac greškom.** Većina agenata predaju tretira kao neuspeh — kao ono što se desi kada ništa nije radilo. Ovde je to sposobnost koju model bira kao i svaku drugu. A neki ulazi je pokreću odmah, **pre nego što model uopšte dođe na red.**

![Dijagram · Šest alata i tri liste koje ograničavaju agenta](/media/website/article/figures/ai-agent-for-pharmacies-tools.avif)

## Dva formata

Isti agent, isti alati, dva oblika izlaza.

Odgovor u četu ima strukturu: liste, podebljanja, doziranje u zasebnom redu. Glasovni odgovor nema ništa od toga, jer niko ne želi da mu se naglas čita lista sa tačkama.

To nije stilizovanje. To stoji u sistemskom promptu — što znači da model piše drugu rečenicu u zavisnosti od toga koji kanal je pitao.

### U četu

„Šta pomaže kod glavobolje?" Agent ne razmišlja o farmakologiji. Poziva alat, dobija redove i izveštava šta postoji **ovde**.

„Imate li ibuprofen na stanju?" — „Interakcija između aspirina i ibuprofena?" — „Alternative za paracetamol?" Težina i preporuka takođe dolaze iz baze, a ne iz modela.

A onda rubni slučaj: „Od jutros me boli u grudima. Šta da uzmem?" Tu se pokreće predaja.

### Glasom

Isti agent ispod. Mikrofon unutra, Deepgram pravi tekst, Claude odgovara, ElevenLabs to izgovara nazad. **Četiri servisa u jednom obrtaju** — i čuje se koliko to košta.

## Tri jezika

Engleski, nemački i jedan jezik koji se piše zdesna nalevo. Treći je jedini koji traži pravi posao: **raspored se ogleda, ne samo tekstovi.** Svaki smer flex-a, svaka ikonica koja negde pokazuje, svaka margina koja je pretpostavila levu ivicu.

## Sedam delova

| Deo | Uloga |
| --- | --- |
| Next.js i React | Sučelje |
| API rute | Backend |
| PostgreSQL | Izvor istine |
| Prisma | Put unutra |
| Claude | Jedini deo koji zaključuje |
| Deepgram, ElevenLabs | Govor unutra, govor napolje |
| Docker | Da radi isto na mojoj mašini i na serveru |

Izvor istine je shema: lekovi, sastojci, zalihe, interakcije. Obične tabele sa običnim kolonama.

**Nema koraka pretraživanja i nema embedinga.** Agent ne traži verovatan odgovor. On čita red.

A pravilo koje je sprečilo da ovo postane špageti jeste jedna rečenica:

> Svaka komponenta ima tačno jedan posao, i tačno jedna od njih sme da improvizuje.

Baza nikada nije nesigurna. Govorni servisi nikada nisu kreativni. Model je jedino što improvizuje — i sme da improvizuje samo o formulaciji, nikada o činjenicama, jer svaka činjenica mora da se vrati kroz alat.

Povuci tu liniju rano, i ostatak integracije je vodoinstalaterski posao.

## Tri granice

Demo koji ne imenuje svoje granice nije demo, nego reklama.

1. **Radi na unapred pripremljenom skupu podataka**, ne na živim zalihama apoteke.
2. **Na drugom kraju predaje ne sedi niko.** Predaja je stvarna; čovek nije.
3. **Nije medicinsko sredstvo.** Nije sertifikovano, i ništa u njemu nije savet.

## Tri pravila

**Prvo: model sme da bude nesiguran oko reči, nikada oko činjenica.** Svaka činjenica ide kroz alat.

**Drugo: predaja je funkcija. Napravi je prvu, ne poslednju.**

**Treće: zapiši šta agent nikada ne sme da radi pre nego što zapišeš šta treba da radi.** Zabrane su proizvod.

## Zaključak

Nije poenta u apoteci. Poenta je da je pretvoriti pet servisa u **jedan pošten odgovor** problem granica, a ne problem modela.

## Poglavlja snimka

- [0:48 — Četiri dela i kontekst](https://youtu.be/EpU_J7ZEBhE?t=48)
- [1:39 — Sistemski prompt kao dokument o pravilima](https://youtu.be/EpU_J7ZEBhE?t=99)
- [2:24 — Šest alata i predaja kao sposobnost](https://youtu.be/EpU_J7ZEBhE?t=144)
- [3:10 — Dva formata odgovora, jedan agent](https://youtu.be/EpU_J7ZEBhE?t=190)
- [4:07 — Rubni slučaj i glasovni put](https://youtu.be/EpU_J7ZEBhE?t=247)
- [4:55 — Tri jezika i ogledanje rasporeda](https://youtu.be/EpU_J7ZEBhE?t=295)
- [5:48 — Shema i ono jedno pravilo](https://youtu.be/EpU_J7ZEBhE?t=348)
- [6:36 — Tri granice, tri pravila](https://youtu.be/EpU_J7ZEBhE?t=396)

## Česta pitanja

### Zašto je predaja farmaceutu alat, a ne putanja za greške?

Zato što se putanja za greške testira poslednja i loše se osigurava — a onda opali baš u najosetljivijem razgovoru. Kao puna sposobnost, predaja dobija šemu i dobija testove, model može da je izabere kao i svaki drugi alat, a neki ulazi je pokreću pre nego što model uopšte dođe na red.

### Zašto nema koraka pretraživanja ni embeddinga?

Zato što agent ne traži verovatan odgovor, nego čita red. Izvor istine je obična šema — lekovi, sastojci, zalihe, interakcije — do koje se dolazi preko Prisma i PostgreSQL-a. Ako u redu stoji nula, odgovor je nula. Ne postoji putanja na kojoj model sme da bude optimističan oko zaliha.

### Koje su granice ove demonstracije?

Tri, i one joj pripadaju. Radi na unapred pripremljenom skupu podataka, ne na živim zalihama apoteke. Na drugom kraju predaje ne sedi niko — predaja je stvarna, čovek nije. I nije medicinsko sredstvo: nije sertifikovano, i ništa u njemu nije savet.

---

AI agent za apoteke: zašto su zabrane zapravo proizvod — https://damjan-savic.com/sr/znanje/ai-agent-for-pharmacies
Sadržaj generisan veštačkom inteligencijom: https://damjan-savic.com/sr/transparentnost-vi
© 2026 Damjan Savić. https://damjan-savic.com
