La première partie couvrait les 25 scripts que j'utilise chaque semaine – des éléments de base d'automatisation fiables et prêts pour la production. Cette partie couvre la partie qui prend le plus de temps à comprendre : comment les enchaîner lorsque le flux de contrôle implique une décision.
Le chaînage de scripts purs est facile. Exécutez A, dirigez la sortie vers B, c'est fait. Mais les véritables pipelines d’automatisation atteignent des points de décision : ce fichier doit-il être traité ou ignoré ? Cette réponse de l'API est-elle une erreur, une nouvelle tentative ou un succès ? Ce contenu doit-il être révisé ou peut-il continuer ?
Historiquement, vous avez géré cela avecsi/elifdes arbres. Cela fonctionne bien lorsque la logique de décision est claire et stable. Il s'effondre lorsque la décision nécessite du jugement - analyser des résultats ambigus, classer le contenu qui ne rentre pas dans des catégories précises, gérer la longue traîne de cas extrêmes quisiles déclarations ne couvrent pas.
Le modèle sur lequel j'ai atterri : utilisez les scripts du Cookbook pour les parties déterministes du pipeline (appels HTTP, E/S de fichiers, planification, tentatives) et utilisez une petite invite d'IA pour les appels de jugement. Les deux s’intègrent parfaitement car aucun des deux n’essaie de faire le travail de l’autre.
Voici un pipeline de trois scripts avant et après l'ajout d'une couche de décision IA.
Avant – chaînage de scripts purs :
# Télécharger les fichiers python http_client.py --url $API_ENDPOINT --output raw/ # Traiter chaque fichier pour f dans raw/*.json ; faire python csv_converter.py --input $f --output traité/ terminé # Archive python file_archiver.py --source traitée/ --destination archive/Cela fonctionne si chaque fichier de l'API est un JSON bien formé qui correspond proprement au CSV. En pratique : certains fichiers ont un encodage mal formé, certains ont des changements de schéma inattendus, certains sont vides, certains sont des réponses d'erreur qui semblent avoir réussi. La chaîne de scripts échoue silencieusement sur ces derniers, ou échoue bruyamment et arrête l'ensemble du pipeline.
Après — avec une étape de triage IA :
# Télécharger des fichiers python http_client.py --url $API_ENDPOINT --output raw/ # Triage IA : classer chaque fichier avant de le traiter python prompt_runner.py \ --prompt "classify_file_quality" \ --input-dir raw/ \ --output triage_report.json # Route ...
[Courte citation de 8% de l'article original]