Devotd Github
NewAI agents

shakewingo/tadpole — Building a Tool-Using LLM Agent in Python

shakewingo/tadpole describes the process of building a tool-using LLM agent in Python without any framework, and reports the change in pass@1 on task types absent from training after post-training Qwen3-4B.

Repositoryshakewingo/tadpole ↗

shakewingo/tadpole describes the process of building a tool-using LLM agent in Python without any framework, and reports the change in pass@1 on task types absent from training after post-training Qwen3-4B.

GitHub description: Build an LLM agent from scratch and continuously evolve it.

stars
★ 2
Forks
0
Language
Python
License
MIT
Read original source ↗View on GitHub ↗

shakewingo/tadpole is a repository that walks through, step by step, the process of building and developing a tool-using LLM agent from scratch in Python. There are no public releases. The README contains the deliberate failure cases and experiments at each stage, together with the evidence from real model runs. The central point is that instead of bringing in an existing framework, the repository is structured so you can follow how the agent comes together. The repository description states the goal of directly building an LLM agent and continuing to develop it.

According to the README, the agent was built by post-training Qwen3-4B. Post-training means further training of an already-trained model. The repository explains that a local model or a compatible API can be used from the terminal or Telegram. It also reports that on task types not seen during training, pass@1 was 0.419 before post-training and 0.774 afterwards. pass@1 means the rate at which a task is passed in a single attempt. This record becomes relevant reading for readers who want to examine agent construction and the learning process together.

The repository's implementation language is Python and its license is MIT. The creation date listed in FACTS is 2026-10-26, and the star count is 2. That said, the performance figures are presented as results reported by the README. So rather than widening the reading to treat them as evidence that the same results would appear on other task types or in other environments, it is more appropriate to view them as the post-training case described by that repository.