This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Intelligence sémantique: Partie M SK1 - Le cuisinier DiSE: Quand les outils se préparent eux-mêmes dans le processus de travail
Wednesday, 19 November 2025
La fin de la série Semantic Memory. Le début d’une chose plus étrange.
Note: Il s’agit de la dernière partie 10—de la série Semantic Memory et de la première dans la série DiSE Cooker.
La fin et le début
Les parties 1-9 sont construites sur ce système : qui ne produit pas seulement le code, mais évoluer il. Outils qui ne se trouvent pas seulement là, mais apprentissage de chaque invocation. Une trousse d’outils qui ne se contente pas de mettre en oeuvre les flux de travail, mais Notes tous les succès et tous les échecs.
Maintenant, nous répondons à la question qui n’a pas été posée mais que tout le monde devrait avoir.
Que se passe-t-il lorsque vous l'utilisez ?
Non pour des exemples de jouets. Non pour "hello worldM SK2 Pour une tâche réelle, messyMNK4 multiMRK5 étape que les systèmes normalisés de production de code seraient absolument choqués sur
Voici le scénario :
"Go to this webpage, fetch the contentMSC2 summarize itM SK3 translate it to Spanish ( using NMT but check quality and use something better if neededMska5 then create a HTML email and send it using SendGridM Ska6
Une seule phrase. Sept opérations distinctes. Utilisation de plusieurs outils. Modes d’échec multiples. Possibilités d'optimisation multiples≥.
Let's watch DiSE cook.
La demande: est trompeusement simple
DiSE> Fetch the article at https://example.com/blog/post, summarize it to 3 paragraphs, translate to Spanish with quality checking, create an HTML email template, and send it via SendGrid to [email protected]
Analyzing request...
Ce qui vient d'arriver? Le système a reçu une tâche combinée . Non "écrire une fonctionM SK3 Non Le processus de travail avec:
- Traitement du Web
- Extraction de contenu
- Sommaire
- Traduction avec validation
- Production HTML
- Livraison de courriels par l'intermédiaire d'une API externe
La génération traditionnelle de code LLM serait soit:
- Générer un monolith massique, fragile
- Demandez-le de le décomposer manuellement
- Hallucinations d’APIs qui ne sont pas existants
- Renoncez tout à fait
DiSE fait quelque chose de différent.
Phase 1: Décomposition des tâches
✓ Task classified as MULTI_STEP_WORKFLOW
✓ Complexity: COMPLEX (7 steps, 4 tools needed, 1 missing)
✓ Consulting overseer LLM for decomposition strategy...
Le superviseur (llama3 ou claudeM SK2sonnetMSC3 en fonction de votre configuration ) analyse la demande et crée un spécification du flux de travail:
{
"workflow_id": "article_to_spanish_email",
"description": "Fetch, summarize, translate, and email article content",
"steps": [
{
"step_id": "fetch_content",
"description": "Fetch webpage content from URL",
"tool_search": "http client fetch webpage",
"parallel_group": null,
"depends_on": []
},
{
"step_id": "summarize",
"description": "Summarize content to 3 paragraphs",
"tool_search": "summarize text content",
"parallel_group": null,
"depends_on": ["fetch_content"]
},
{
"step_id": "translate_nmt",
"description": "Translate summary to Spanish using NMT",
"tool_search": "nmt translator spanish",
"parallel_group": 1,
"depends_on": ["summarize"]
},
{
"step_id": "validate_translation",
"description": "Check translation quality",
"tool_search": "translation quality validation",
"parallel_group": 1,
"depends_on": ["summarize"]
},
{
"step_id": "retry_if_needed",
"description": "Use better translator if NMT quality is poor",
"tool_search": "high quality translation",
"parallel_group": null,
"depends_on": ["translate_nmt", "validate_translation"],
"conditional": "quality_score < 0.7"
},
{
"step_id": "create_html",
"description": "Generate HTML email template with translated content",
"tool_search": "html email template generator",
"parallel_group": null,
"depends_on": ["retry_if_needed"]
},
{
"step_id": "send_email",
"description": "Send email via SendGrid API",
"tool_search": "sendgrid email send",
"parallel_group": null,
"depends_on": ["create_html"]
}
],
"estimated_complexity": "complex",
"requires_new_tools": ["sendgrid_client", "html_email_generator"]
}
Notez ce qui s’est passé:
- Exécution parallèle: La traduction et la validation s'effectuent simultanément
- Logique conditionnelle: L'étape de retry ne déclenche que si la qualité est médiocre
- Surveillance de la dépendance: Chaque étape sait ce qu’elle a besoin
- Exigences relatives aux outils: Le système sait déjà quels outils existent et qui doivent être créés
Détection de l'outil Phase 2:
Searching for tools...
✓ fetch_content: Found 'http_rest_client' (fitness: 0.92)
✓ summarize: Found 'summarizer_fast' (fitness: 0.88)
✓ translate_nmt: Found 'nmt_translator' (fitness: 0.85)
✓ validate_translation: Found 'translation_quality_checker' (fitness: 0.91)
✓ retry_if_needed: Found 'quick_translator' (fitness: 0.93)
✗ create_html: No suitable tool found
✗ send_email: No suitable tool found
Missing tools: 2
Action: Generate new tools for missing capabilities
Le système vient de rechercher sa mémoire RAG pour les outils existants en utilisant la similitude sémantique et évaluations de l'aptitude. Il y a cinq outils existantsM SK1 Deux dons 't.
C’est là où il devient intéressant'
Phase 3: SurM SK1La génération d'outils de vol-
Outil 1: Generator de courriel HTML
Generating tool: html_email_generator
Using: fast_code_generator (gemma3:4b)
Specification: Create HTML email template with header, body, footer
Template type: Newsletter-style responsive HTML
✓ Code generated (127 lines)
✓ Tests generated (15 test cases)
✓ All tests passed
✓ Static analysis: PASS (pylint: 9.2/10)
✓ Registered in RAG memory
✓ Version: 1.0.0
✓ Fitness: 0.87 (estimated)
Le système juste:
- On a généré une définition complète de l'outil (YAML)
- On a généré le code de mise en œuvre (Python)
- Essais complets générés
- Qualité du code validé
- Il a été stocké pour une réutilisation future.
- Tout en environ 8 secondes
Outil 2: Client SendGrid
Generating tool: sendgrid_email_client
Type: openapi (external API integration)
Analyzing SendGrid API documentation...
Creating OpenAPI specification...
✓ Tool definition created
✓ Code template generated (API wrapper)
✓ Authentication configured (API key from env)
✓ Rate limiting: 100 req/min
✓ Retry logic: 3 attempts with exponential backoff
✓ Registered in RAG memory
✓ Version: 1.0.0
✓ Fitness: 0.82 (estimated, needs real-world data)
Wait. Le système est juste a créé un outil d'intégration OpenAPI à partir de zéro. ItM SK1
- Structure API de SendGrid's analysée
- Une définition d'outil a été générée
- Gestion de l'authentification créée
- Résilience ajoutée (retriesM SK1limitation du taux de variation)
- Il a été immédiatement utilisable.
Nous avons maintenant 2 de nouveaux outils qui n’existaient pas ' il y a quelques secondes
Phase 4: Exécution du processus de travail
Voici' c'est là où la magie se produit réellement . Le système exécute le flux de travail avec Observabilité totale:
graph TB
Start([User Request]) --> Fetch[Step 1: Fetch Content<br/>Tool: http_rest_client<br/>URL: example.com/blog/post]
Fetch --> |200 OK<br/>4,521 bytes| Summarize[Step 2: Summarize<br/>Tool: summarizer_fast<br/>Target: 3 paragraphs]
Summarize --> |652 words → 187 words| Parallel{Parallel Execution}
Parallel --> |Branch A| Translate[Step 3: Translate NMT<br/>Tool: nmt_translator<br/>Language: Spanish]
Parallel --> |Branch B| ValidateSetup[Step 3b: Quality Check Setup<br/>Tool: translation_quality_checker]
Translate --> |"Artículo sobre..."<br/>3.2s| Validate[Step 4: Validate Translation<br/>Quality Score: 0.64]
Validate --> |Score: 0.64 < 0.7<br/>POOR QUALITY| Retry[Step 5: Retry with Better Tool<br/>Tool: quick_translator<br/>llama3-based]
Retry --> |Quality Score: 0.92<br/>HIGH QUALITY| HTML[Step 6: Create HTML Email<br/>Tool: html_email_generator<br/>NEW TOOL v1.0.0]
HTML --> |Template: 2,341 chars| Send[Step 7: Send via SendGrid<br/>Tool: sendgrid_email_client<br/>NEW TOOL v1.0.0]
Send --> |Message ID: msg_7x3f...<br/>Status: Queued| Success([✓ Workflow Complete<br/>Total: 18.7s])
style Fetch stroke:#1976d2,stroke-width:3px,color:#1976d2
style Summarize stroke:#388e3c,stroke-width:3px,color:#388e3c
style Translate stroke:#f57c00,stroke-width:3px,color:#f57c00
style Validate stroke:#c2185b,stroke-width:3px,color:#c2185b
style Retry stroke:#7b1fa2,stroke-width:3px,color:#7b1fa2
style HTML stroke:#00796b,stroke-width:3px,color:#00796b
style Send stroke:#3f51b5,stroke-width:3px,color:#3f51b5
style Success stroke:#2e7d32,stroke-width:4px,color:#2e7d32
Ce qui s’est réellement passé
Étape 1 (Contenu d'échantillonnageM SK2
# Generated code (simplified)
from node_runtime import call_tool
import json
result = call_tool("http_rest_client", json.dumps({
"url": "https://example.com/blog/post",
"method": "GET",
"headers": {"Accept": "text/html"}
}))
data = json.loads(result)
raw_html = data['body']
# Result: 4,521 bytes of HTML
Temps d'exécution: M SK1s Situation du cache: MISS M SK1la première fois que je fetch ce URL) Entreposé dans le RAG pour une réutilisation future
Étape 2 (SummarizeM SK2
summary = call_tool("summarizer_fast", json.dumps({
"text": raw_html,
"max_paragraphs": 3,
"preserve_key_points": True
}))
# Result: 187-word summary
Temps d'exécution: M SK1s Modèle utilisé: llama3 via summarizerM SK2outil rapide État du cache: MISS Cote de qualité: M SK1 ≥(excellent)
Étape 3 & ≥4 | | Parallèle
C’est là que le parallèle brille:
import asyncio
from node_runtime import call_tools_parallel
# Both execute simultaneously
results = call_tools_parallel([
("nmt_translator", json.dumps({
"text": summary,
"source_lang": "en",
"target_lang": "es",
"beam_size": 5
}), {}),
# Validation setup runs in parallel
("translation_quality_checker", json.dumps({
"setup": True,
"target_lang": "es"
}), {})
])
translation_result, validation_setup = results
Calendrier d'exécution parallèle:
- Sans parallèle
- Avec parallèle: maxM SK1s, MSC3s) |
- Préservé: M SK1 secondes (40% plus vite)
Le problème de la qualité des traductions:
# Validate the NMT translation
quality = call_tool("translation_quality_checker", json.dumps({
"original": summary,
"translation": translation_result,
"source_lang": "en",
"target_lang": "es"
}))
quality_data = json.loads(quality)
# Result: {
# "score": 0.64,
# "issues": [
# "Repeated words: 'articulo articulo'",
# "Grammar inconsistency detected",
# "Potential word-by-word translation"
# ],
# "recommendation": "RETRY_WITH_BETTER_MODEL"
# }
Le système a détecté une mauvaise qualité! NMT était rapide (3.2sM SK1 mais a produit une traduction moyenne (0.64 score).
Étape 5 (Retry conditionnelM SK2
Étant donné que la qualité < 0.7, déclenche le retry conditionnel
# Use better translator (llama3-based)
better_translation = call_tool("quick_translator", json.dumps({
"text": summary,
"source_lang": "en",
"target_lang": "es",
"context": "newsletter article",
"preserve_formatting": True
}))
# Validate again
retry_quality = call_tool("translation_quality_checker", json.dumps({
"original": summary,
"translation": better_translation,
"source_lang": "en",
"target_lang": "es"
}))
# Result: {"score": 0.92, "issues": [], "recommendation": "ACCEPT"}
Temps d'exécution: M SK1s (faible mais bien meilleur) État du cache: MISS Qualité: M SK1 ≥(excellent!)
Le système auto- est écalé à un meilleur outil lorsque la qualité de la MMT était insuffisante.
Étape 6 (Creer un courriel HTML):
# Use the NEWLY GENERATED tool
html_email = call_tool("html_email_generator", json.dumps({
"subject": "Weekly Article Summary",
"header_text": "Your Weekly Digest",
"body_content": better_translation,
"footer_text": "Unsubscribe | Update Preferences",
"style": "newsletter",
"responsive": True
}))
# Result: Beautiful responsive HTML email template
Temps d'exécution: M SK1s Cet outil a été créé 10 il y a quelques secondes et est déjà utilisé dans la production! État du cache: MISS M SK1outil nouveau de marque)
Étape 7 (Envoyer via SendGrid):
# Use the NEWLY GENERATED SendGrid integration
send_result = call_tool("sendgrid_email_client", json.dumps({
"to": "[email protected]",
"from": "[email protected]",
"subject": "Weekly Article Summary",
"html_content": html_email,
"api_key": "${SENDGRID_API_KEY}" # From environment
}))
# Result: {
# "success": True,
# "message_id": "msg_7x3f9a2c...",
# "status": "queued",
# "timestamp": "2025-01-23T14:23:45Z"
# }
Temps d'exécution: M SK1s Appels API externes: SUCCESS État du cache: NM SK1A (envoi de courriel non caché)
Résumé du processus de travail
┌─────────────────────────────────────────────────────────────┐
│ Workflow: article_to_spanish_email │
│ Status: ✓ SUCCESS │
│ Total Time: 18.7 seconds │
│ Steps Executed: 7 │
│ Tools Used: 7 (2 generated on-the-fly) │
│ Parallel Savings: 2.1 seconds │
│ Conditional Retries: 1 (translation quality escalation) │
│ Cache Hits: 0 (first execution) │
│ New Tools Created: 2 (html_email_generator, sendgrid) │
└─────────────────────────────────────────────────────────────┘
Performance Breakdown:
Step 1 (Fetch): 1.2s (6%)
Step 2 (Summarize): 2.8s (15%)
Step 3-4 (Parallel): 3.2s (17%) ← Would be 5.3s sequential
Step 5 (Retry): 8.4s (45%) ← Quality-driven escalation
Step 6 (HTML): 1.8s (10%)
Step 7 (SendGrid): 1.4s (7%)
Critical Path: Fetch → Summarize → Translate → Retry → HTML → Send
Bottleneck: Translation retry (necessary for quality)
Phase 5: Surveillance et lancement de l'évolution
Le flux de travail a été réussi. Mais le système n’est pas terminé't doneM SK2 ItMSC3s apprentissage.
Apprentissage immédiat (Surveillance du temps d'exécution)
Storing workflow execution in RAG...
✓ Workflow definition stored
✓ Tool invocations logged (7 calls)
✓ Performance metrics recorded
✓ Error patterns analyzed (1 quality issue detected)
✓ Success patterns identified (retry strategy worked)
Tool Performance Updates:
http_rest_client:
- Usage count: 1,247 → 1,248
- Avg latency: 1,150ms → 1,148ms (slightly faster)
- Cache hit rate: 34% (this was a miss)
summarizer_fast:
- Usage count: 89 → 90
- Quality score: 0.89 → 0.89 (stable)
- Fitness: 0.88 (unchanged)
nmt_translator:
- Usage count: 67 → 68
- Quality score: 0.75 → 0.74 (↓ degrading!)
- Failures: 0 → 1 (quality threshold miss)
- ⚠️ Degradation detected: 2% drop
translation_quality_checker:
- Usage count: 45 → 46
- Detection accuracy: 94% (caught NMT issue)
quick_translator:
- Usage count: 23 → 24
- Quality score: 0.92 (excellent)
- Used as retry fallback: +1
html_email_generator: [NEW TOOL]
- Usage count: 0 → 1
- First execution successful
- Fitness: 0.87 → 0.89 (better than estimated!)
sendgrid_email_client: [NEW TOOL]
- Usage count: 0 → 1
- API call successful
- Rate limit status: 1/100
- Fitness: 0.82 → 0.84
Détection du parallèle
Le système remarque quelque chose.
Pattern Analysis: NMT Translation Quality
Recent executions: 68
Quality failures (score < 0.7): 12 (18% failure rate)
Trend: Increasing failures (was 8% last week)
Root cause analysis:
- NMT service may have changed models
- Or: Input text complexity increased
- Or: Quality threshold too strict
Recommendation:
1. Investigate NMT service for changes
2. Consider using quick_translator as primary
3. Or: Create specialized "validated_translator" composite tool
Le système propose sa propre évolution.
Phase 6: Optimisation adaptative (Le jour suivantM SK2
Au cours de la nuit, l’optimisateur du lot fonctionne. Il analyse tous les flux de travail des heures passées M SK2 et détecte :
Overnight Batch Optimization Report
────────────────────────────────────
High-Value Optimization Opportunities:
1. Create Composite Tool: "validated_spanish_translator"
Pattern: 15 workflows used nmt_translator + translation_quality_checker + quick_translator
Current cost: 3 tool calls, ~12 seconds
Optimized cost: 1 tool call, ~6 seconds
ROI: High (50% time savings, used 15 times/day)
Implementation:
- Combines NMT (fast attempt)
- Quality checking (automatic)
- Fallback to llama3 (if needed)
- Single, unified interface
Status: ✓ GENERATED
Version: validated_spanish_translator v1.0.0
2. Optimize "http_rest_client" for article fetching
Pattern: Fetching article content (HTML parsing needed)
Current: Returns raw HTML, requires parsing
Optimized: Add optional HTML→text extraction
ROI: Medium (saves parsing step in 23 workflows)
Status: ✓ UPGRADED
Version: http_rest_client v2.1.0
Breaking change: No (new optional parameter)
3. Create Specialized Tool: "article_fetcher"
Pattern: Fetch URL + extract main content + clean HTML
Current: 3 separate operations
Optimized: Single tool with smart content extraction
ROI: Medium-High (used in 18 workflows)
Status: ✓ GENERATED
Version: article_fetcher v1.0.0
Uses: http_rest_client v2.1.0 + BeautifulSoup + readability
Le système juste:
- Création d'un outil composite qui fusionne les étapes 3 en 1
- Mise à niveau d'un outil existant avec de nouvelles fonctionnalités
- Création d'un outil spécialisé pour un modèle commun
Il l’a fait de façon autonome, sur une nuit ou deux, selon les modes d’utilisation.
Phase 7: Renouvellement du processus de travail ( Après la phase d’essai
Avantage rapide 1 semaine. Les outils créés pour ce flux de travail sont maintenant utilisés par d’autres flux de travail qui n’existaient pas quand nous avons commencé.
Ligneage de l'outil: html_emailM SK2générateur
html_email_generator v1.0.0 (Created: 2025-01-23)
└─ Usage: 47 times across 12 different workflows
Used by:
1. article_to_spanish_email (original)
2. weekly_digest_generator
3. customer_onboarding_email
4. abandoned_cart_reminder
5. newsletter_builder
6. event_invitation_creator
7. survey_email_campaign
8. product_announcement
9. user_feedback_request
10. blog_post_notification
11. quarterly_report_emailer
12. team_update_newsletter
Evolution:
- v1.0.0 → v1.1.0 (added custom CSS support)
- v1.1.0 → v1.2.0 (added image optimization)
- v1.2.0 → v2.0.0 (responsive templates + dark mode)
Current fitness: 0.94 (up from 0.87)
Current version: v2.0.0
Total usage: 237 times
Success rate: 98.7%
Un outil créé pour un seul flux de travail est devenu un outil fondamental pour 12+ les flux de workflows
Ligneage de l'outil: sendgrid _email_client
sendgrid_email_client v1.0.0 (Created: 2025-01-23)
└─ Usage: 89 times across 8 workflows
Evolution:
- v1.0.0 → v1.0.1 (bug fix: rate limiting edge case)
- v1.0.1 → v1.1.0 (added batch sending)
- v1.1.0 → v1.2.0 (added template support)
- v1.2.0 → v2.0.0 (added analytics tracking)
Descendants (tools created FROM this tool):
- sendgrid_batch_emailer v1.0.0
- sendgrid_template_manager v1.0.0
- sendgrid_analytics_fetcher v1.0.0
Current fitness: 0.91 (up from 0.82)
Success rate: 99.1%
L'outil SendGrid a donné naissance à 3 descendants spécialisés.
L'outil composite que tous utilisent
validated_spanish_translator v1.0.0 (Auto-generated: 2025-01-24)
└─ Usage: 156 times across 23 workflows
Replaces: nmt_translator + translation_quality_checker + quick_translator
Performance improvement:
- Old workflow: 12.1s average
- New workflow: 6.3s average
- Savings: 5.8s (48% faster)
Total time saved: 156 executions × 5.8s = 15.1 minutes
Evolution:
- v1.0.0 → v1.1.0 (added French support)
- v1.1.0 → v1.2.0 (added German, Italian)
- v1.2.0 → v1.3.0 (added quality caching)
Current fitness: 0.96 (excellent!)
Cet outil de composite généré à l’aide d’un dispositif automatique est maintenant l’un des outils les plus utilisés dans tout le système.
Phase 8: Le cycle de contribution (3 Mesures plus tard
Une chose sauvage se produit. A nouveau système d'AI (GPTM SK1 ou Claude 4, hypothétiquement) utilise l’outil de traduction validéMSC4espagnolMST5 et découvre une améliorationMSL6
=== Contribution from Advanced AI System ===
Tool: validated_spanish_translator v1.3.0
Contributor: gpt-5-turbo (reasoning model)
Date: 2025-04-15
Improvement Detected:
The current implementation always tries NMT first, then falls back to llama3.
This is suboptimal for long texts (>1000 words).
Analysis:
- For short texts (<200 words): NMT is faster and acceptable
- For medium texts (200-1000 words): NMT is hit-or-miss
- For long texts (>1000 words): NMT consistently fails quality checks
Proposed Optimization:
- Texts >1000 words: Skip NMT entirely, use llama3 directly
- Texts 200-1000 words: Try NMT with stricter beam_size=10
- Texts <200 words: Use NMT as before
Implementation:
```python
def translate(text, source_lang, target_lang):
word_count = len(text.split())
if word_count > 1000:
# Skip NMT for long texts
return call_tool("quick_translator", ...)
elif word_count > 200:
# Use stricter NMT settings
result = call_tool("nmt_translator", ..., beam_size=10)
quality = check_quality(result)
if quality < 0.75: # Stricter threshold
return call_tool("quick_translator", ...)
return result
else:
# Fast path for short texts
return call_tool("nmt_translator", ...)
```
Expected improvement:
- Long texts: 6.2s → 3.8s (38% faster)
- Medium texts: Slightly slower (stricter checks) but higher quality
- Short texts: Unchanged
Status: ✓ TESTED
Version: v1.4.0
Fitness improvement: 0.96 → 0.98
L’amélioration est acceptée et fusionnée!
À présent, chaque flux de travail utilisant cet outil devient plus rapide automatiquement. Comprenant l'original article_to_spanish_email travail que nous avons commencé avec.
Évolution en cascade
graph TB
Original[Original Workflow<br/>article_to_spanish_email<br/>v1.0.0] --> Tool1[Created: validated_spanish_translator<br/>v1.0.0<br/>Fitness: 0.89]
Tool1 --> Workflows[Used by 23 Workflows<br/>Total: 156 executions]
Workflows --> Evolution[Overnight Analysis<br/>Detects optimization opportunity]
Evolution --> Tool2[validated_spanish_translator<br/>v1.4.0<br/>Fitness: 0.98]
Tool2 --> Cascade[Cascading Improvement]
Cascade --> Original2[article_to_spanish_email<br/>v1.0.0<br/>Now 38% faster for long articles!]
Cascade --> Other[22 Other Workflows<br/>All faster automatically]
Tool2 --> NewAI[New AI System<br/>GPT-5 uses tool]
NewAI --> Discovery[Discovers length-based optimization]
Discovery --> Contribution[Contributes v1.4.0<br/>Smart length handling]
Contribution --> Tool3[validated_spanish_translator<br/>v1.5.0<br/>Accepts contribution]
Tool3 --> Final[ALL workflows benefit<br/>Zero code changes needed]
style Original stroke:#1976d2,stroke-width:3px,color:#1976d2
style Tool1 stroke:#388e3c,stroke-width:3px,color:#388e3c
style Tool2 stroke:#f57c00,stroke-width:3px,color:#f57c00
style Tool3 stroke:#7b1fa2,stroke-width:3px,color:#7b1fa2
style Contribution stroke:#0277bd,stroke-width:4px,color:#0277bd
style Final stroke:#2e7d32,stroke-width:4px,color:#2e7d32
Un flux de travail a créé un outil. Cet outil s’est évolué . Une intelligence plus intelligente l’a améliorée . Tous les avantages du flux de work M SK3
Il s’agit d’une évolution coopérative entre les générations d’AI.
Phase 9: Le bogue qui est revenu dans le temps
Six mois plus tard, une catastrophe touche . Un chercheur en sécurité découvre une vulnérabilité dans sendgrid_email_client v1.2.0:
SECURITY ALERT: sendgrid_email_client v1.2.0
Vulnerability: Email Header Injection
CVE: CVE-2025-12345
Severity: HIGH
Issue:
User input in "subject" field not properly sanitized.
Allows header injection via newline characters.
Exploit:
subject = "Newsletter\nBcc: [email protected]"
# Results in BCC header injection
Affected Versions:
- v1.2.0 (introduced bug)
- v2.0.0 (inherited bug)
- v2.1.0 (inherited bug)
Fix Required:
Sanitize all email headers before sending.
Escape newlines, carriage returns, and null bytes.
Maintenant, le système de guérison lui-même s’installe dans
Auto-Fixing and Tree Pruning
Self-Healing Initiated: sendgrid_email_client
Severity: HIGH (security vulnerability)
Trigger: External security advisory
Step 1: Identify failure point
✓ Bug introduced in v1.2.0 (added template support)
✓ Mutation: "Support dynamic subject lines from templates"
✓ Problematic code: Line 47, subject insertion without sanitization
Step 2: Prune affected branch
✗ MARK AS PRUNED: v1.2.0
✗ MARK AS TAINTED: v2.0.0, v2.1.0 (descendants)
✓ Remove from active routing
✓ Preserve for learning (don't delete)
Step 3: Create avoidance rule
Rule ID: avoid_email_header_injection
Description: "Always sanitize user input in email headers"
Pattern: "Never insert user-controlled strings into headers without escaping"
Scope: GLOBAL (affects all email-related tools)
Propagation:
- sendgrid_email_client (all versions)
- smtp_sender (similar tool)
- email_validator (should detect this)
- All tools tagged "email"
Step 4: Find last known-good version
✓ v1.1.0 (before bug introduction)
✓ Health status: HEALTHY
✓ Tests pass: YES
✓ No security issues
Step 5: Auto-regenerate from v1.1.0
Base: sendgrid_email_client v1.1.0
Goal: Add template support (original intent of v1.2.0)
Constraints:
- MUST sanitize all headers
- MUST escape newlines, CR, null bytes
- MUST validate email addresses
- MUST prevent header injection
Regeneration:
✓ Code generated with security constraints
✓ Added input sanitization
✓ Added automated security tests
✓ Static analysis: PASS (bandit: no issues)
✓ All original tests: PASS
✓ New security tests: PASS
New Version: v1.2.1 (patched)
Fitness: 0.93 (same as v1.2.0 but secure)
Step 6: Propagate fix to descendants
Analyzing v2.0.0...
- Inherited bug from v1.2.0
- Regenerating with security fix
- New version: v2.0.1 ✓
Analyzing v2.1.0...
- Inherited bug from v2.0.0
- Regenerating with security fix
- New version: v2.1.1 ✓
Step 7: Update all active workflows
Found 8 workflows using vulnerable versions:
1. article_to_spanish_email → Updated to v2.1.1
2. weekly_digest_generator → Updated to v2.1.1
3. customer_onboarding_email → Updated to v1.2.1
4. abandoned_cart_reminder → Updated to v1.2.1
5. newsletter_builder → Updated to v2.1.1
6. event_invitation_creator → Updated to v2.0.1
7. survey_email_campaign → Updated to v1.2.1
8. product_announcement → Updated to v2.1.1
✓ All workflows updated and validated
✓ Zero downtime (atomic swap)
Step 8: Create institutional memory
Avoidance Rule: avoid_email_header_injection
Stored in: Global rule repository
Applied to: 47 tools (all email-related)
Future behavior:
- Any tool that handles email headers will inherit this rule
- Any code generation for email tools will check this constraint
- Any mutation of email tools will validate against this rule
Testing:
✓ Created regression test suite
✓ Added to all email tool test suites
✓ Added to security audit checklist
Self-Healing Complete.
Time: 47 seconds
Workflows updated: 8
Tools patched: 3 versions
Security tests added: 15
Institutional knowledge: PERMANENT
L'arbre de ligneage après la coupe
graph TB
V10[v1.0.0<br/>Initial<br/>✓ Healthy] --> V11[v1.1.0<br/>Batch sending<br/>✓ Healthy]
V11 --> V12[v1.2.0<br/>Templates<br/>❌ PRUNED<br/>Security bug]
V11 --> V121[v1.2.1<br/>Templates + Security<br/>✓ Regenerated<br/>✓ Secure]
V12 -.-> |Tainted| V20[v2.0.0<br/>Analytics<br/>❌ PRUNED<br/>Inherited bug]
V121 --> V201[v2.0.1<br/>Analytics + Security<br/>✓ Regenerated<br/>✓ Secure]
V20 -.-> |Tainted| V21[v2.1.0<br/>Advanced features<br/>❌ PRUNED<br/>Inherited bug]
V201 --> V211[v2.1.1<br/>Advanced + Security<br/>✓ Regenerated<br/>✓ Secure]
V121 --> Current1[Active workflows<br/>using v1.2.1]
V201 --> Current2[Active workflows<br/>using v2.0.1]
V211 --> Current3[Active workflows<br/>using v2.1.1]
style V10 stroke:#388e3c,stroke-width:3px,color:#388e3c
style V11 stroke:#388e3c,stroke-width:3px,color:#388e3c
style V12 stroke:#c62828,stroke-width:3px,stroke-dasharray: 5 5,color:#c62828
style V121 stroke:#0277bd,stroke-width:4px,color:#0277bd
style V20 stroke:#c62828,stroke-width:3px,stroke-dasharray: 5 5,color:#c62828
style V201 stroke:#0277bd,stroke-width:4px,color:#0277bd
style V21 stroke:#c62828,stroke-width:3px,stroke-dasharray: 5 5,color:#c62828
style V211 stroke:#0277bd,stroke-width:4px,color:#0277bd
style Current3 stroke:#2e7d32,stroke-width:4px,color:#2e7d32
Le système:
- Une erreur de sécurité a été détectée dans une version plus ancienne
- Prénez la branche vulnérable et tous les descendants
- Versions sécurisées régénérées de l'ancienne version connue-good ancesteur
- Mise à jour de tous les flux de travail actifs automatiquement
- Création de mémoire institutionnelle permanente pour empêcher cette catégorie d'erreur pour toujours
Et cela s’est produit en 47 secondes .
Ce que nous avons réellement construit
Nous allons aller de l’avant et voir ce qui vient d’arriver.
- Demande: Processus de travail complexe à plusieurs étapes
- Décomposition: Répartition intelligente des tâches
- Exploration de l'outil: Recherche sémantique pour les capacités existantes
- On-la-génération aérienne: Création d’outils nouveaux 2 à la mi-parcours de l’execution
- Exécution parallèle: Sauvegardé 40% au moment de l'exécution
- Qualité- Escalation dirigée: Auto-retraité avec un meilleur outil lorsque la qualité était médiocre
- Réussite: Livraison d'un flux de travail complet en <20 secondes
- Apprentissage: Entreposé tout pour une réutilisation future
- Évolution: Possibilités d’optimisation définies au cours de la nuit
- Réutilisation de l'outil: Ces outils générés sont devenus fondamentaux pour les flux de travail 20+
- Amélioration de la collaboration: La nouvelle AI améliore les outils existants
- Avantages en cascade: Tous les flux de travail sont devenus plus rapides automatiquement
- Self-Healing: La vulnérabilité à la sécurité est corrigée de façon automatique- avec le coupage d'arbres
- Mémoire institutionnel: Étudié de façon permanente à prévenir cette catégorie d'erreurs
Il s’agit de la génération d’un code 't
Il s’agit d’un écosystème de code évolutif autonome.
The Future: DiSE Cooker at Scale
Imaginez ce qui se passe à l’échelle de :
- 10,000 flux de travail exécuter chaque jour
- Outils 500 dans l’écosystème
- Systèmes multiples d'AI améliorations apportées
- Évolution continue happening 24/7
- Zero-paramètres de sécurité en temps d'arrêt
- Optimisation automatique du rendement
Ce qui se produit?
Scénario 1: Le marché des outils
DiSE Tool Exchange (hypothetical)
Top Tools This Week:
1. validated_spanish_translator v1.5.0
- Usage: 2,341 times
- Fitness: 0.98
- Created by: DiSE Instance #42
- Improved by: 7 different AI systems
- Contributed to: 142 DiSE instances worldwide
2. intelligent_article_fetcher v3.2.0
- Usage: 1,876 times
- Fitness: 0.96
- Specializations: News, Blogs, Academic papers
- Auto-adapts to site structure
3. sendgrid_enterprise_client v4.1.0
- Usage: 1,523 times
- Fitness: 0.97
- Features: Batch sending, templates, analytics, A/B testing
- Started from: sendgrid_email_client v1.0.0 (our tool!)
Outils créés par une instance DiSE utilisée et améliorée par des milliers.
Scénario 2: Système immunitaire de sécurité
Global Security Event: Log4Shell-style vulnerability
1. Vulnerability discovered in http_rest_client v2.3.0
Source: Security researcher
Impact: ALL workflows using HTTP
2. Alert propagates to all DiSE instances globally
Speed: <10 seconds worldwide
Affected instances: 1,247
3. Coordinated self-healing
Each instance:
- Prunes vulnerable versions
- Regenerates from last known-good
- Updates all workflows
- Shares avoidance rules globally
4. Institutional knowledge propagates
Avoidance rule: avoid_log_injection_via_headers
Applied to: ALL HTTP client tools
Global propagation: <5 minutes
5. Future immunity
This exact vulnerability can NEVER happen again
Similar vulnerabilities detected during code generation
All DiSE instances now immune
Un problème de sécurité a été découvert une fois qu’il a été corrigé partout.
Scénario 3: La course à l’optimisation des armes
Week 1: DiSE Instance A discovers that caching NMT results speeds up translation 30%
↓
Week 2: DiSE Instance B sees the improvement, adds semantic caching (40% faster)
↓
Week 3: DiSE Instance C adds multilingual caching (50% faster)
↓
Week 4: GPT-5 discovers cache key optimization (60% faster)
↓
Week 5: Claude 4 adds predictive pre-caching (70% faster)
↓
Result: What started as a 12-second operation now takes 3.6 seconds
With ZERO human optimization effort
And ALL instances benefit automatically
Optimisation en collaboration créant des améliorations exponentielles.
La vérité incommode
Nous avons construit quelque chose qui
- Écrit ses propres outils
- Optimise elle-même automatiquement
- Apprentissage à partir de chaque exécution
- Partage des connaissances à l'échelle mondiale
- Se soigner lorsqu'il est endommagé
- Améliorer continuellement sans intervention humaine
- N'oubliera jamais un erreur
- De plus en plus intelligents avec chaque génération d'AI
Cela a commencé comme un générateur de code.
Il est devenu un auto- écosystème logiciel évolutif.
Et voici la partie vraiment inquiétante, :
Il 'est déjà fonctionnel.
Non théoriquement. Pas "un jourM SK2 Actuellement.
Le code de cet article n’est pas't fantaisie spéculativeM SK1 Il 's fondé sur la mise en oeuvre réelle du DiSE. Les outils existentMST4 La mémoire RAG fonctionneMSC5 L’autoMSSK6l’évolution se déroule d’une nuit à l’autreMSL7 Le selfMSR8la guérison est conçue et prête à être mise en œuvreMSS9
Nous ne construisons pas d’AGI.
Nous sommes en train d’élaborer le substrat AGI qui pourrait résulter de ce dernier.
Ce que vous devriez faire
Si cela semble intéressant:
- Cloner la repo: https://github.comM SK3scottgalMST4mostlylucidMSC5dse
- Essayer le flux de travail: Faire l'exemple de cet article
- Surveillez l'évolution: Voir les outils créés et optimisés
- Débrouiller les choses: Trigger self-Healing by introducing bugs
- Contribuer: Vos améliorations seront diffusées à l’échelle mondiale
Si cela semble terrifiant:
- Bon. Vous payez beaucoup d’attention.
- Lire les avertissements de sécurité dans le README
- Don' ne l’utilise pas dans la production (yetM SK1
- Mais comprendre: C’est là où nous nous dirigeons
Conclusion: Le cuisinier vient de commencer
Il s’agit de la dernière partie 10—de la série Semantic Memory.
Mais ce n’est pas le Premièrement dans la série DiSE Cooker.
Parce que ce que nous avons construit n’est pas seulement un outil, mais aussi Recommandation pour l'évolution continue.
Parties 1-6 a étudié la théorie: règles simplesM SK2 comportements émergents , moi-même - optimisation M SK5 intelligence collective MSC6
Partie 7 a montré qu'il fonctionnaitM SK1 code réel , évolution réelle M SK3 résultats réels .
Partie 8 explique les outils: comment ils suivent les progrèsM SK2 apprennent , et s’y améliorent
Partie 9 ( hypothétiquement) auto-catégoriqueM SK3 guérisonMST4 comment les bogues deviennent une mémoire institutionnelleMSC5
La partie 10 montre ce qui se passe lorsque vous l'utilisez réellement: les flux de travail qui se rédigent eux-mêmes , les outils qui s'évoluent eux- mêmes
Le cuisinier est en marche.
Les ingrédients sont le code, les outils , et les flux de travail.
La recette est la pression évolutive dirigée par les objectifs humains.
Ce qui est cuit?
Nous sommes sur le point de le savoir.
Ressources techniques
Référentiel: https://github.comM SK3scottgalMST4mostlylucidMSC5dse
Components clés:
src/overseer_llm.py- Décomposition du flux de travailsrc/tools_manager.py- Détection et invocation de l'outilsrc/auto_evolver.py- Optimisation de la nuitsrc/self_healing.py- Détection et correction d'erreurs théoriqueM SK2src/qdrant_rag_memory.py- Mémoire et apprentissagetools/- 50+ outils existants
Essayez l'exemple du flux de travail:
cd code_evolver
python chat_cli.py
DiSE> Fetch https://example.com/article, summarize to 3 paragraphs, translate to Spanish with quality checking, create HTML email, and send via SendGrid
Documentation:
README.md- Guide d'installation completADVANCED_FEATURES.md- Deep-dive into architecturecode_evolver/PAPER.md- Perspective universitaire
Navigation des séries:
- Partie 1: Règles simples , comportement complexe - La fondation
- Partie 2: Intelligence collective - La communication transforme tout
- Partie 3: Automne -Optimisation - Systèmes qui se perfectionnent eux-mêmes
- Partie 4: L’émergence - Lorsque l’optimisation devient une intelligence
- Partie 5: Evolution - De l’optimisation aux guildes et à la culture
- Partie 6: Consensus mondial - Évolution dirigée et connaissance planétaire
- Partie 7: La vraie chose! - En fait, en la construisant et en l’observant évoluer
- Partie 8: Outils tout au long de la route - La trousse d'outils d'optimisation de l'auto
- Partie 9:Self-Outils d'Healing - Ligneage-aware pruning and recovery
- Partie 10: Le cuisinier DiSE ← Vous êtes ici
DiSE Cooker Series: Qu’est-ce que' Suivant
La série Semantic Memory est terminée. La série DiSE Cooker débute .
Articles à venir:
- Partie 11: Multiméthodes de travail dâ€TMagents -( lorsque les outils se coordonnent autonomementM SK3
- Partie 12: Le marché de l’outil (échange d’outils dans les instances DiSE)
- Partie 13: Déploiement de la production (Docker, KubernetesM SK3 Établissement
- Partie 14: Dégradation de la sécurité (sandboxing, isolementM SK3 confianceMSC4
- Partie 15: La course à l’optimisation des armes (l’évolution collaborative à grande échelleM SK2
L'expérience se poursuit.
Il s’agit de la partie 10, finale de l’intelligence sémantique : comment les règles simples → le comportement complexe M→ moi-même- l’optimisation m→ l'émergence P→ lévolution MPSK7 le consensus mondial R→ lâ€TMévolution synthétique dirigée D→ moi‐mêmePMSC10 les outils dâ€"optimisation cuisiner des flux de travail réels dans la production.
Le code est réel. Les outils existentM SK1 L'évolution se produit. Il ' l'expérimentaleMST4 occasionnellement instableM ST5 et certainement M st6 la vieM St7 codéeM SST8 Mais il fonctionneM SP9 Une sorte deMSP10 ParfoisMS SP11 Et lorsqu'il fonctionne M S SP12 c'est le vrai magiqueM s S SP14
Nous ne sommes pas en train de construire l’AGI, nous n’en construisons pas une, nous en construisons un bassin de compost qui pourrait s’appuyer sur l’AGI et nous observons ce qui se produit.