Building an AI agent from scratch, one stage at a time.
View the Project on GitHub the-ai-coffee/ai-agent-from-scratch
by mikamboo
| 🇬🇧 English | 🇫🇷 Français |
Tout agent, aussi capable soit-il, est construit autour de la même forme : lire une observation, décider d’une action, recommencer. Avant d’ajouter un LLM, des outils ou des évaluations, il vaut la peine de construire cette boucle seule, pour que les étapes suivantes aient quelque chose de concret à étendre.
agents/agent-001-echo-loop/agent.py
implémente la boucle sans aucune dépendance :
def run(input_stream, output_stream):
while True:
output_stream.write("User> ")
output_stream.flush()
line = input_stream.readline()
if not line:
break
line = line.rstrip("\n")
if not line:
break
output_stream.write(f"Agent> {line}\n")
input_stream.output_stream.while, qui continue jusqu’à un EOF ou une ligne vide.Passer input_stream et output_stream (plutôt que de coder en dur
sys.stdin/sys.stdout) est ce qui rend ceci testable sans lancer de
processus — les tests dans test_agent.py passent simplement des objets
io.StringIO.
python agents/agent-001-echo-loop/agent.py
Tapez une ligne, appuyez sur Entrée, voyez-la renvoyée en écho. Appuyez sur Entrée sur une ligne vide pour arrêter.
Agent-002 remplace l’écho par un véritable appel LLM, en conservant la même forme lire-agir-répéter.
tags: ia - agents - depuis-zero - python - agent-loop - tests