CHECKS OF AGNO AGENTS krueng.ai/agno_agents.html The page says which Python library it chose and why, what each of its files printed, how many tokens each run used, and where a small AI model gets a job wrong. None of that was typed in from memory. Each part was printed by a file of the page or by a script in this folder, and each output is saved as a *_output.txt file. The page shows those files. Run them again and compare. WHAT YOU NEED 1. Python 3.10 or newer, and a Python of the page's own: python -m venv venv venv\Scripts\python -m pip install agno ollama openai "sqlalchemy[asyncio]" aiosqlite "fastapi[standard]" requests venv\Scripts\python -m pip install ddgs only for research.py, the last tutorial On a Mac or Linux the second command begins with venv/bin/python. The page says why openai and the SQLAlchemy extras are in that list. 2. Ollama, from ollama.com, running, with the two models the page uses: ollama pull qwen2.5:3b 1.9 GB, the employees ollama pull qwen2.5:14b 9.0 GB, the boss No account, no key and no money are needed. Nothing leaves your computer except in candidates.py, which asks GitHub and the Python Package Index for public numbers, and in research.py, which sends its searches to public search engines. 3. The page's files in one folder (every code block on the page has a Download button), and these scripts in a folder named "checks" inside it: your folder/ hello.py cashier.py shop.py order.py team.py approve.py budget.py runs.py serve.py client.py research.py paper.txt checks/ README.txt own_words.py hook_trap.py leaders.py candidates.py Run the page's files from your folder, and these scripts from the checks folder. Each side keeps its own shop.db. Delete shop.db to start the books again. THE SCRIPTS candidates.py needs the internet, and any Python Stars, licence, last change and newest version of eight Python libraries for teams of agents, asked of GitHub and the Python Package Index. A few seconds. -> candidates_output.txt own_words.py needs the small model A cashier whose model writes the reply itself, given the three messages of order.py. For each: what the tool returned, what the cashier said, and whether they agree. It is the reason shop.py marks its bill tool stop_after_tool_call. -> own_words_output.txt hook_trap.py needs the small model Two hooks that always refuse, one raising StopAgentRun and one raising InputCheckError, and what the run did in each case. -> hook_trap_output.txt leaders.py needs both models The shop's team with the small model as the boss, then with the big one, on the same six questions. Counts how often the boss chose the right employee. On our laptop, with no graphics card, the big model's half takes a few minutes. -> leaders_output.txt page_config.py is not a check. It tells the site's own tools which files to run and which words of the outputs the page quotes. WHAT WE RAN, AND WHEN Everything was run on 10 October 2026 on one laptop: Windows 11, an Intel Core Ultra 7 155H with 24 GB of memory and no graphics card the models could use, Python 3.12.10, agno 3.1.2 and Ollama with qwen2.5:3b and qwen2.5:14b. timings.txt, beside the page's files, has the seconds each file took. THINGS TO KNOW - A model's words can differ from ours. The models run at temperature 0, which makes them repeat themselves on one computer, but another computer, or another version of Ollama or of the model, can give other words. - The sums cannot differ. They are done by Python, in the functions bill and cooking_time, and the page's point is that this is where sums belong. - Token counts should be close to ours, and times will not be: ours are from a processor with no graphics card.