AI-agenter · Lektion

En agent som förklarar kod

Bygg en agent som läser källfiler, ber LLM:en om en förklaring och returnerar dokumentation i Markdown.

Lektion 2 av 416 steg

En agent som förklarar kod är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.

Delar av den här lektionen har ännu inte översatts och visas på engelska.

Projektmål

Bygg en agent som tar en källfil (Python, JS eller vad som helst) och returnerar Markdown-dokumentation: syfte, nyckelfunktioner och användningsexempel.

Varför är det användbart?

Att generera dokumentation från kod är ett av de mest tillförlitliga användningsområdena för LLM:er — kod är strukturerad, uppgiften är avgränsad och resultatet läses av människor (så mindre fel kan tolereras).

Arkitektur

  1. Läs källfilen
  2. Dela eventuellt upp efter klass/funktion
  3. Be LLM förklara varje chunk
  4. Slå ihop till ett Markdown-dokument

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)

Hantera långa filer

Om filen är för lång delar ni upp den efter funktion och förklarar varje del separat:

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)

Steg 3: Slå ihop utdata

För körningar med flera chunks sammanfogar ni förklaringarna av funktionerna till ett dokument:

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)

Lägg till en sammanfattning på projektnivå

Efter förklaringarna av funktionerna ber ni LLM om en övergripande översikt:

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

Flera språk

Samma prompt fungerar för JS, Go, Rust med flera. För bättre resultat lägger ni till språket i prompten:

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

Diff-baserad dokumentation

För inkrementella uppdateringar kör ni bara om dokumentationen för ändrade filer:

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)

Använd ett verktyg för att köra exemplet

Verifiera att LLM:ens användningsexempel faktiskt körs — ge agenten ett Python REPL-verktyg:

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)

När agenten hallucinerar

Modellen hittar ibland på funktioner eller argument. Åtgärder:

  • Ge ONLY filens innehåll (inget modellminne)
  • Temperatur 0
  • Ha ett verifieringssteg (kör exemplet, linta kodsnutten)

Gör en produkt av den

Paketerar den som ett CLI:

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

Från verktyg till CI

Koppla in det i CI: vid varje PR, generera om dokumentationen för ändrade filer och checka in den igen. Nu är ert repo alltid dokumenterat.

Varför läsa hela filen?

Varför skicka HELA källfilen till LLM i stället för bara funktionssignaturerna?

Sammanfattning

En agent på 30 rader som omvandlar kod till dokumentation. Enkel att utöka med verktyg och verifiering. Ett utmärkt andra projekt efter RAG.

Gratis att börja

Lär dig AI-agenter med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
60
Lektioner
239

Vanliga frågor

Är lektionen ”En agent som förklarar kod” gratis?

Ja – hela texten till ”En agent som förklarar kod” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.

Vad lär jag mig i ”En agent som förklarar kod”?

Bygg en agent som läser källfiler, ber LLM:en om en förklaring och returnerar dokumentation i Markdown. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AI-agenter?

Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”En agent som förklarar kod”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AI-agenter-lektionen?

Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. En fråge- och svarsbot över dina dokument
  2. En agent som förklarar kod
  3. En researchagent som surfar på webben
  4. En SQL-assistent för din databas
← Tillbaka till AI-agenter