AI-agenten · Les

Een agent die code uitlegt

Bouw een agent die bronbestanden leest, de LLM om uitleg vraagt en Markdown-documentatie teruggeeft.

Les 2 van 416 stappen

Een agent die code uitlegt is een gratis AI-agenten-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agenten. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agenten bevat in totaal 4 lessen.

Delen van deze les zijn nog niet vertaald en worden in het Engels weergegeven.

Projectdoel

Bouw een agent die een bronbestand (Python, JS of iets anders) inneemt en Markdown-documentatie teruggeeft: doel, belangrijkste functies en een gebruiksvoorbeeld.

Waarom nuttig?

Documentatie uit code genereren is een van de betrouwbaarste toepassingen van LLM's — code is gestructureerd, de taak is afgebakend en de uitvoer wordt door mensen gelezen, waardoor kleine fouten aanvaardbaar zijn.

Architectuur

  1. Lees het bronbestand
  2. Splits het eventueel op per klasse of functie
  3. Vraag de LLM elk stuk uit te leggen
  4. Combineer alles tot een Markdown-document

Step 1: Read the File

import sys

with open('example.py', 'w') as f:
    f.write('print("hello")\n')

path = sys.argv[1] if len(sys.argv) > 1 else 'example.py'
with open(path) as f:
    code = f.read()
print(f'Read {len(code)} characters from {path}')

Step 2: Prompt for Documentation

from openai import OpenAI
oai = OpenAI()

prompt = f'''
You are a senior engineer writing developer-friendly docs.

Given this source file, produce a Markdown document with:
# {path}

## Purpose
(One paragraph)

## Public API
(Each function/class with one-line description)

## Usage Example
(One short, runnable snippet)

Source:
```
{code}
```
'''

response = oai.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    temperature=0.2,
)
print(response.choices[0].message.content)

Lange bestanden verwerken

Als het bestand te lang is, splits je het per functie op en licht je elke functie afzonderlijk toe:

import ast

tree = ast.parse(code)
functions = [node for node in ast.walk(tree) if isinstance(node, ast.FunctionDef)]

for func in functions:
    snippet = ast.unparse(func)
    explain(snippet)

Stap 3: Uitvoer combineren

Voeg bij uitvoeringen met meerdere stukken de uitleg per functie samen tot één document:

docs = []
for func_name, snippet in functions:
    explanation = explain(snippet)
    docs.append(f'### {func_name}\n\n{explanation}\n')

full_doc = '\n'.join(docs)
open('docs.md', 'w').write(full_doc)

Een samenvatting op projectniveau toevoegen

Vraag de LLM na de uitleg per functie om een overzicht op hoofdlijnen:

summary_prompt = 'Summarise the purpose of this package in 3 sentences, given these function docs:\n\n' + full_doc
summary = ask(summary_prompt)

Meerdere talen

Dezelfde prompt werkt voor JS, Go, Rust enzovoort. Voeg voor betere resultaten de taal toe aan de prompt:

prompt = f'You are documenting {language} code. ...'

Documentatie op basis van verschillen

Voer bij incrementele updates alleen opnieuw uit voor gewijzigde bestanden:

import subprocess
changed = subprocess.check_output(['git', 'diff', '--name-only', 'HEAD~1']).decode().splitlines()
for path in changed:
    if path.endswith('.py'):
        regenerate_doc(path)

Gebruik een hulpmiddel om het voorbeeld uit te voeren

Controleer of het gebruiksvoorbeeld van de LLM daadwerkelijk werkt — geef de agent een Python REPL-hulpmiddel:

def run_python(code):
    try:
        exec(code, {})
        return {'stdout': 'ok', 'stderr': ''}
    except Exception as e:
        return {'stdout': '', 'stderr': str(e)}

tools = [{'name': 'run_python', 'description': 'Execute a Python snippet and return stdout/stderr', 'parameters': {'code': 'str'}}]

broken_example = 'print(1/0)'
result = run_python(broken_example)
if result['stderr']:
    print('Example failed:', result['stderr'])
    fixed_example = 'print(1)'
    result = run_python(fixed_example)
    print('Self-corrected result:', result)
else:
    print('Example ran fine:', result)

Wanneer de agent hallucineert

Het model verzint soms functies of argumenten. Maatregelen:

  • Geef ALLEEN de inhoud van het bestand door, zonder modelgeheugen
  • Temperatuur 0
  • Voeg een controlestap toe (voer het voorbeeld uit en controleer het codefragment met een linter)

Er een product van maken

Verpak dit als een CLI:

# pip install -e .
# docgen src/myproject/agent.py
# Outputs docs.md

Van hulpmiddel naar CI

Koppel dit aan CI: genereer bij elke PR de documentatie voor gewijzigde bestanden opnieuw en commit die terug. Nu is je opslagplaats altijd gedocumenteerd.

Waarom het hele bestand lezen?

Waarom geef je het VOLLEDIGE bronbestand door aan de LLM in plaats van alleen de functiesignaturen?

Samenvatting

Een agent van 30 regels die code omzet in documentatie. Gemakkelijk uit te breiden met hulpmiddelen en controles. Een geweldig tweede project na RAG.

Gratis beginnen

Leer AI-agenten met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
60
Lessen
239

Veelgestelde vragen

Is de les “Een agent die code uitlegt” gratis?

Ja — de volledige tekst van “Een agent die code uitlegt” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agenten wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agenten bevat in totaal 4 lessen.

Wat leer ik in “Een agent die code uitlegt”?

Bouw een agent die bronbestanden leest, de LLM om uitleg vraagt en Markdown-documentatie teruggeeft. Je oefent met AI-agenten door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met AI-agenten te beginnen?

Ervaring vooraf is niet nodig. AI-agenten op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Een agent die code uitlegt”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over AI-agenten?

Ja. Elke les over AI-agenten bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Een Q&A-bot voor uw documenten
  2. Een agent die code uitlegt
  3. Een onderzoeksagent die het web doorzoekt
  4. Een SQL-assistent voor uw database
← Terug naar AI-agenten