๐—ช๐—ต๐—ฎ๐˜ ๐—œ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป๐—ฒ๐—ฑ ๐—•๐˜‚๐—ถ๐—น๐—ฑ๐—ถ๐—ป๐—ด ๐—ฎ๐—ป ๐—”๐˜‚๐˜๐—ผ๐—ป๐—ผ๐—บ๐—ผ๐˜‚๐˜€ ๐——๐—ฒ๐—ฎ๐—น-๐—›๐˜‚๐—ป๐˜๐—ถ๐—ป๐—ด ๐—”๐—ด๐—ฒ๐—ป๐˜ ๐—ฆ๐˜†๐˜€๐˜๐—ฒ๐—บ

I built a multi-agent AI system to find product deals.

It scans the internet for bargains. It estimates the true value of products using three different methods. It sends a notification to my phone when it finds a deal worth buying.

Here is what I learned about building agentic systems.

๐Ÿญ. ๐—ฆ๐—ฝ๐—ฒ๐—ฐ๐—ถ๐—ฎ๐—น๐—ถ๐˜‡๐—ฒ ๐—ฎ๐—ป๐—ฑ ๐—ข๐—ฟ๐—ฐ๐—ต๐—ฒ๐˜€๐˜๐—ฟ๐—ฎ๐˜๐—ฒ No single model is good at everything. I split the work into small, focused agents:

The intelligence comes from how they work together, not from one giant prompt.

๐Ÿฎ. ๐—ฅ๐—”๐—š ๐—ถ๐˜€ ๐—–๐—ต๐—ฒ๐—ฎ๐—ฝ ๐—Ÿ๐—ฒ๐˜ƒ๐—ฒ๐—ฟ๐—ฎ๐—ด๐—ฒ Adding a few similar products and their prices to a prompt improved accuracy. I used a Chroma vector database to find these products. Seeing product categories cluster in a 3D map proved that embeddings work.

๐Ÿฏ. ๐—˜๐—ป๐˜€๐—ฒ๐—บ๐—ฏ๐—น๐—ถ๐—ป๐—ด ๐—ช๐—ผ๐—ฟ๐—ธ๐˜€ ๐—•๐—ฒ๐˜๐˜๐—ฒ๐—ฟ I did not pick one favorite pricing method. I used a weighted blend:

๐Ÿฐ. ๐——๐—ฒ๐—ณ๐—ฒ๐—ป๐˜€๐—ถ๐˜ƒ๐—ฒ ๐—ง๐—ผ๐—ผ๐—น ๐—–๐—ฎ๐—น๐—น๐—ถ๐—ป๐—ด LLMs often send malformed data when calling functions. Smaller models might add extra arguments that do not exist. You must write code that filters these arguments against your actual function signature. This prevents your system from crashing at night.

๐Ÿฑ. ๐— ๐—ฎ๐—ป๐—ฎ๐—ด๐—ฒ ๐—œ๐—ป๐—ณ๐—ฟ๐—ฎ๐˜€๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ๐—น๐—ฒ๐˜€๐˜€๐—น๐˜† I used Modal to run my fine-tuned models. You can request a GPU with one line of code. This removes the need to manage your own servers. You can also deploy a model as a remote service that you call like a normal Python object.

๐Ÿฒ. ๐— ๐—ฎ๐—ธ๐—ฒ ๐˜๐—ต๐—ฒ ๐—จ๐—œ ๐—™๐—ฒ๐—ฒ๐—น ๐—”๐—น๐—ถ๐˜ƒ๐—ฒ An agent can feel like a black box. I used Gradio with background threads and generators. This allows the UI to show live logs while the agent works. When you see the agent thinking in real time, you trust it more.

Building this taught me that agentic magic is mostly just good plumbing. Get your data flow right, use structured outputs, and keep your agents focused.

Source: https://dev.to/m_toqeer/what-i-learned-building-an-autonomous-deal-hunting-agent-system-3n6b

Optional learning community: https://t.me/GyaanSetuAi