Semanttinen älykkyys: Osa 10 - DiSE-keittäjä: Kun Työkalut kokkaavat itsestään Workflows (Suomi (Finnish))

Semanttinen älykkyys: Osa 10 - DiSE-keittäjä: Kun Työkalut kokkaavat itsestään Workflows

Wednesday, 19 November 2025

//

24 minute read

Semanttisen muistisarjan finaali, jonkin oudon alku.

Huomaa: Tämä on osa 10 – viimeinen Semantic Memory -sarjassa ja ensimmäinen DiSE Cooker -sarjassa. Siirrymme teoriasta harjoitteluun, "miten työkalut toimivat", "mitä tapahtuu, kun niitä oikeasti käytetään todellisiin tehtäviin".

Loppu ja alku

Osat 1-9 rakentuivat tähän: järjestelmä, joka ei vain luo koodia, vaan kehittyy Työkalut, jotka eivät vain istu siinä, vaan opi Työpaja, joka ei vain suorita työnkulkua, vaan muistaa jokainen menestys ja jokainen epäonnistuminen.

Nyt vastaamme kysymykseen, jota kukaan ei kysynyt, mutta kaikkien olisi pitänyt:

Mitä tapahtuu, kun oikeasti käytät tätä?

Ei leluesimerkeille, ei tervehdysmaailmalle, vaan todelliselle, sotkuiselle, monivaiheiselle tehtävälle, johon normaalit koodintuotantojärjestelmät ehdottomasti tukehtuisivat.

Tässä skenaario:

"Mene tälle verkkosivulle, hae sisältö, tiivistä se, käännä se espanjaksi (käytä NMT:tä, mutta tarkista laatu ja käytä tarvittaessa jotain parempaa), luo HTML-sähköposti ja lähetä se SendGrid -sivustolla."

Yksi lause. Seitsemän eri operaatiota. Useita työkaluja, useita vikatiloja, useita optimointimahdollisuuksia.

Katsotaan, kun DiSE kokkaa.

Pyyntö: Deceptically 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...

Järjestelmä sai koostetehtävän, ei "kirjoittaa funktiota", eikä "kääntää tekstiä". työnkulku jolla:

  • Verkkojen nouto
  • Sisällön uutto
  • Yhteenveto
  • Kääntäminen ja validointi
  • HTML-sukupolvi
  • Sähköpostin toimitus ulkoisen API:n kautta

Perinteinen LLM-koodintuotanto:

  1. Luo yksi massiivinen, hauras monoliitti
  2. Pyydä purkamaan se käsin
  3. Hallusinaatiorajapinnat, joita ei ole olemassa
  4. Luovuta kokonaan

DiSE tekee jotain erilaista.

Vaihe 1: Tehtävän hajoaminen

✓ Task classified as MULTI_STEP_WORKFLOW
✓ Complexity: COMPLEX (7 steps, 4 tools needed, 1 missing)
✓ Consulting overseer LLM for decomposition strategy...

Valvoja (lama3 tai claude-3,5-sonnet, riippuen setupistasi) analysoi pyynnön ja luo Työnkulun määrittely:

{
  "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"]
}

Huomaa, mitä tapahtui:

  • Rinnakkainen toteutus: Kääntäminen ja validointi suoritetaan samanaikaisesti (osaryhmä: 1)
  • Ehdollinen logiikka: Kokeile askelta uudelleen vain, jos laatu on huono
  • Riippuvuusseuranta: Jokainen askel tietää, mitä se tarvitsee
  • Työkaluvaatimukset: Järjestelmä tietää jo, mitä työkaluja on olemassa ja mitkä on luotava

Vaihe 2: Työkalulöytö

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

Järjestelmä etsi juuri RAG-muististaan olemassa olevia työkaluja semanttinen samankaltaisuus sekä fitness-pisteetViisi työkalua on olemassa, kaksi ei.

Tässä kohtaa se käy mielenkiintoiseksi.

Vaihe 3: On-The-Fly Tool Generation

Työkalu 1: HTML-sähköpostigeneraattori

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)

Järjestelmä vain:

  1. Luotiin täydellinen työkalun määritelmä (YAML)
  2. Luotu täytäntöönpanokoodi (Python)
  3. Luodut kattavat testit
  4. Varmennetun koodin laatu
  5. Säilytä se tulevaa uudelleenkäyttöä varten
  6. Kaikki noin 8 sekunnissa

Työkalu 2: LähetäGrid-asiakas

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)

Hetkinen, järjestelmä vain... loi OpenAPI-integraatiotyökalun Ihan tyhjästä.

  1. Analysoi SenderGridin API-rakenne
  2. Luotiin työkalun määritelmä
  3. Luotu varmennuskäsittely
  4. Lisäsi sietokykyä (varastot, korkorajoitus)
  5. Teki siitä välittömästi käyttökelpoisen

Meillä on nyt kaksi upouutta työkalua, joita ei ollut olemassa 15 sekuntia sitten.

Vaihe 4: Työnkulun suorittaminen

Tässä kohtaa taikuus todella tapahtuu. Järjestelmä toteuttaa työnkulun täysi havainnointikyky:

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

Mitä todellisuudessa tapahtui

Vaihe 1 (Tuonnin sisältö):

# 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

Toteutusaika: 1,2 s Välimuistin tila: Miss (haetaan ensimmäistä kertaa URL-osoitetta) Varastoitu aluetukialueilla tulevaa uudelleenkäyttöä varten

Vaihe 2 (kesk.):

summary = call_tool("summarizer_fast", json.dumps({
    "text": raw_html,
    "max_paragraphs": 3,
    "preserve_key_points": True
}))
# Result: 187-word summary

Toteutusaika: 2.8s Käytetty malli: laama3 tiivistetyn_nopean työkalun kautta Välimuistin tila: Miss Laatupisteet: 0,89 (erinomainen)

Vaihe 3 & 4 (Parallel: Käännä + Validointi):

Rinnakkaisuus loistaa tässä:

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

Rinnakkainen toteutusajankohta:

  • Ilman rinnakkaisuutta: 3,2s + 2,1s = 5,3s
  • Rinnakkaisuus: max(3.2s, 2.1s) = 3,2s
  • Säästetty: 2,1 sekuntia (40% nopeampi)

Käännöksen laatuongelma:

# 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"
# }

Järjestelmä havaitsi heikkoa laatua! NMT oli nopea (3.2 s), mutta tuotti keskinkertaisen käännöksen (0,64 pistettä).

Vaihe 5 (Conditional Retrice):

Koska laatu < 0.7, ehdollinen uusintakoe laukaisee:

# 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"}

Toteutusaika: 8.4s (hitaampi mutta parempi tapa) Välimuistin tila: Miss Laatu: 0,92 (erinomainen!)

Järjestelmä kiihdytettiin automaattisesti parempaan työkaluun, kun NMT-laatu ei ollut riittävä.

Vaihe 6 (Luo HTML-sähköposti):

# 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

Toteutusaika: 1,8s Tämä työkalu luotiin 10 sekuntia sitten ja käytetään jo tuotannossa! Välimuistin tila: Miss (uusi työkalu)

Vaihe 7 (Lähetä SenderGridin kautta):

# 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"
# }

Toteutusaika: 1,4s Ulkoinen API-puhelu: SUCCESS Välimuistin tila: N/A (sähköpostia ei välimuistissa)

Työnkulun yhteenveto

┌─────────────────────────────────────────────────────────────┐
│  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)

Vaihe 5: Seuranta ja evoluutio käynnistyvät

Työnkulku onnistui, mutta järjestelmä ei ole valmis. oppiminen.

Välitön oppiminen (runtime Monitoring)

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

Mallin osoittaminen

Järjestelmä havaitsee jotain:

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

Järjestelmä ehdottaa omaa evoluutiotaan.

Vaihe 6: Adaptiivinen optimointi (Seuraava päivä)

Yhdessä yössä erän optimoija toimii. Se analysoi kaikki viimeisen vuorokauden työvirrat ja havaitsee:

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

Järjestelmä vain:

  1. Luonut komposiittityökalun, joka yhdistää 3 askelta yhteen
  2. Päivitti olemassa olevaa työkalua uusilla ominaisuuksilla
  3. Luonut erikoistyökalun yhteistä kaavaa varten

Ja se teki tämän itsenäisesti, yhdessä yössä, käyttömallien perusteella.

Vaihe 7: Työnkulun uudelleenkäyttö (After-Life)

Nopeaa eteenpäin 1 viikko. Tähän työnkulkuun luotuja työkaluja käyttävät nyt muita työnkulkuja, joita ei edes ollut, kun aloitimme.

Työkalulinja: html_email_generaattori

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%

Yhdelle työnkululle luodusta työkalusta tuli 12+ työnkulun perustyökalu.

Työkalun rivi: 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%

SendGrid-työkalu synnytti kolme erikoistunutta jälkeläistä.

Komposiittityökalu, jota kaikki käyttävät

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!)

Tämä itse tuotettu komposiittityökalu on nyt yksi koko järjestelmän käytetyimmistä työkaluista.

Vaihe 8: Osallistumissykli (3 kuukautta myöhemmin)

Jotain villiä tapahtuu. Uudempi tekoälyjärjestelmä (GPT-5 tai Claude 4, hypoteettisesti) käyttää validoitua_spanish_translator-työkalua ja havaitsee parannusta:

=== 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

Parannus hyväksytään ja yhdistetään!

No niin, Jokainen tätä työkalua käyttävä työnkulku nopeutuu automaattisesti. Mukaan lukien alkuperäinen article_to_spanish_email työnkulkua aloitimme.

Evoluution rypistäminen

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

Yksi työnkulku loi työkalun, joka kehittyi. Älykkäämpi tekoäly paransi sitä. Jokainen työnkulku hyödyttää.

Tämä on yhteistyötä tekoälysukupolvien välillä.

Vaihe 9: Aikaa taaksepäin mennyt ötökkä

Puolen vuoden kuluttua katastrofi iskee. Turvallisuustutkija havaitsee haavoittuvuuden 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.

Nyt itseparannusjärjestelmä käynnistyy.

Autofiksointi ja puiden pumppaus

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

Linjapuu karkailun jälkeen

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

Järjestelmä:

  1. Havaittiin tietoturvavirhe vanhemmassa versiossa
  2. Haavoittuvan oksan ja kaikkien jälkeläisten tuhoaminen
  3. Viimeisimmästä tunnetusta hyvästä esi-isästä regenerated secure versions
  4. Päivitä kaikki aktiiviset työnvirrat automaattisesti
  5. Luonut pysyvän institutionaalisen muistin estääkseen tämän bugiluokan ikuisesti

Ja se teki tämän 47 sekunnissa.

Mitä olemme itse asiassa rakentaneet

Astutaan taaksepäin ja katsotaan, mitä juuri tapahtui:

  1. Pyyntö: Monivaiheinen monivaiheinen työnkulku
  2. Hajoaminen: Älykäs tehtävänjako
  3. Työkalulöytö: Semanttinen nykyisten kykyjen etsintä
  4. Lentävä sukupolvi: Luonut 2 uutta työkalua kesken suorituksen
  5. Rinnakkainen teloitus: Säästettiin 40 % teloitusajalla
  6. Laatuohjautuva liukumäki: Automaattisesti paremmalla työkalulla, kun laatu oli huono
  7. Onnistuminen: Toimitettu täydellinen työnkulku alle 20 sekunnissa
  8. Oppiminen: Varastoi kaiken tulevaa uudelleenkäyttöä varten
  9. Kehitys: Identifioidut optimointimahdollisuudet yhdessä yössä
  10. Työkalun uudelleenkäyttö: Luoduista työkaluista tuli perusta 20+ työnkululle
  11. Yhteistyön parantaminen: Uudemmat tekoälyt paransivat olemassa olevia työkaluja
  12. Hyödyt kaskaroinnista: Kaikki työnkulku nopeutui automaattisesti
  13. Itseparannus: Turvallisuushaavoittuvuus kiinnitetty automaattisesti puunleikkuulla
  14. Institutionaalinen muisti: Pysyvästi oppinut estämään tuon bugiluokan

Tämä ei ole koodisukupolvi.

Tämä on itsekehittyvä koodiekosysteemi.

Tulevaisuus: DiSE Cooker asteikolla

Kuvittelehan, miten tämä kulkee mittakaavassa:

  • 10 000 työnkulkua päivittäinen suorittaminen
  • 500 työkalua ekosysteemissä
  • Useita tekoälyjärjestelmiä Parannusten edistäminen
  • Jatkuva kehitys tapahtuu 24/7
  • Nolla-ajan turvaliittimiä
  • Automaattinen suorituskyvyn optimointi Skenaario 1: Työkalumarkkinat
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!)

Yhden DiSE-instanssin luomia työkaluja käytetään ja parannetaan tuhansilla.

Skenaario 2: Turvallisuus immuunijärjestelmä

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

Kerran havaittu turvallisuusongelma, korjattuna kaikkialla, estettynä iäksi.

Skenaario 3: Optimointiasekilpailu

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

Yhteistyöoptimointi luo eksponentiaalisia parannuksia.

Epämukava totuus

Olemme rakentaneet jotain, joka:

  • Kirjoittaa omat työkalunsa
  • Optimoi itsensä automaattisesti
  • Opitaan jokaisesta teloituksesta
  • Osaamisen jakaminen maailmanlaajuisesti
  • Parantaa itsensä murtuneena
  • Parantuu jatkuvasti ilman ihmisten väliintuloa
  • Virhettä ei koskaan unohda
  • Jokainen tekoälysukupolvi viisastuu

Tämä alkoi koodigeneraattorina.

Siitä tuli Itsekehittyvä ohjelmistoekosysteemi.

Ja tässä on todella huolestuttava osa:

Se toimii jo.

Ei teoriassa, ei "jonain päivänä". Juuri nyt.

Artikkelin koodi ei ole spekulatiivista fiktiota, vaan se perustuu varsinaiseen DiSE-toteutukseen. Työkalut ovat olemassa. RAG-muisti toimii. Auto-evoluutio kulkee hetkessä. Itseparannus on suunniteltu ja valmis toteuttamaan.

Emme rakenna AGI:tä.

Rakennamme alustaa, josta AGI voi nousta.

Mitä sinun pitäisi tehdä

Jos tämä kuulostaa mielenkiintoiselta:

  1. Kloonaa repo: https://github.com/scottgal/mostlylucid.dse
  2. Kokeile työnkulkua: Näytä esimerkki tästä artikkelista
  3. Katso, kun se kehittyy: Katso työkaluja luodaan ja optimoidaan
  4. Riko asioita: Aloita itsensä paraneminen ottamalla käyttöön vikoja
  5. Osallistu: Parannuksesi leviävät maailmanlaajuisesti

Jos tämä kuulostaa pelottavalta:

  1. Hyvä. Kiinnität huomiota.
  2. Lue turvavaroitukset READMEssa
  3. Älä käytä sitä tuotannossa (vielä)
  4. Mutta ymmärräTähän suuntaan olemme menossa.

Johtopäätös: Keittäjä on vasta alkamassa

Tämä on osa 10 – Semanttisen muistisarjan viimeinen.

Mutta se on ensin DiSE Cooker -sarjassa.

Se, mitä olemme rakentaneet, ei ole pelkkä työkalu. resepti jatkuvaan evoluutioon.

Osat 1-6 tutkivat teoriaa: yksinkertaisia sääntöjä, emergenttiä käyttäytymistä, itseoptimointia, kollektiivista älykkyyttä.

Osa 7 osoitti sen toimivan: todellinen koodi, todellinen evoluutio, todelliset tulokset.

Osassa 8 selitettiin työkaluja: miten ne seuraavat, oppivat ja parantavat.

Osa 9 (hypoteettisesti) peitti itsensä paranemisen: kuinka ötököistä tulee institutionaalinen muisti.

Osa 10 näyttää, mitä tapahtuu, kun todella käytät sitä: itsestään kirjoittavia työnkulkuja, itseään kehittäviä työkaluja, itseään parantavia järjestelmiä.

Keitin on käynnissä.

Ainekset ovat koodi, työkalut ja työnkulku.

Reseptinä on ihmisen tavoitteiden ohjaama evoluutiopaine.

Mitä kokataan?

Se selviää pian.


Tekniset resurssit

Reposarjat: https://github.com/scottgal/mostlylucid.dse

Avainosat:

  • src/overseer_llm.py - Työnkulun hajoaminen
  • src/tools_manager.py - Työkalun löytäminen ja kutsuminen
  • src/auto_evolver.py - Yön yli -optimointi
  • src/self_healing.py - Vikojen havaitseminen ja korjaaminen (teoreettinen)
  • src/qdrant_rag_memory.py - Muisti ja oppiminen
  • tools/ - 50+ olemassa olevaa työkalua

Kokeile esimerkillistä työnkulkua:

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

Dokumentaatio:

  • README.md - Täydellinen asetusopas
  • ADVANCED_FEATURES.md - Syvällä arkkitehtuurissa
  • code_evolver/PAPER.md - Akateeminen näkökulma

Sarjanavigointi:


DiSE Cooker Series: What's Next

Semanttinen muisti -sarja on valmis. DiSE Cooker -sarja alkaa.

Tulevat artikkelit:

  • Osa 11: Moniasiaiset työvirrat (kun työkalut koordinoivat itsenäisesti)
  • Osa 12: Tool Marketplace (jakamisvälineet DiSE-tapauksissa)
  • 13 osa: Tuotannon käyttöönotto (Docker, Kubernetes, skaalaus)
  • 14 osa: Turvallisuuden koventaminen (nyrkkeily, eristyneisyys, luottamus)
  • Osa 15: Optimointiaseiden rotu (kollektiivinen kehitys mittakaavassa)

Kokeilu jatkuu.


Tämä on osa 10, Semanttisen älykkyyden finaali: kuinka yksinkertaiset säännöt → monimutkainen käyttäytyminen → itsensä optimointi → syntyminen → kehitys → maailmanlaajuinen konsensus → ohjattu synteettinen evoluutio → itsensä optimointityökalut → itsensä parantamisjärjestelmät → Todellisten työnkulkujen ruoanlaitto tuotannossa.

Koodi on todellinen, työkalut ovat olemassa, evoluutio tapahtuu, se on kokeellista, joskus epävakaata ja ehdottomasti "vibe-koodattua", mutta se toimii. Joskus se toimii, ja kun se toimii, se on todella maagista.

Emme rakenna AGI:tä, rakennamme kompostikasaa, josta AGI voi kasvaa.

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.