En agent, der forklarer kode
Opbyg en agent, der læser kildefiler, beder LLM'en om en forklaring og returnerer Markdown-dokumentation.
En agent, der forklarer kode er en gratis AI-agenter-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i AI-agenter, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AI-agenter-kurset indeholder 4 lektioner i alt.
Dele af denne lektion er endnu ikke oversat og vises på engelsk.
Projektmål
Byg en agent, der tager en kildefil (Python, JS eller hvad som helst) og returnerer Markdown-dokumentation: formål, vigtigste funktioner og brugseksempel.
Hvorfor er det nyttigt?
Generering af dokumentation ud fra kode er et af de mest pålidelige anvendelsesområder for LLM'er — kode er struktureret, opgaven er afgrænset, og mennesker læser resultatet, så mindre fejl kan accepteres.
Arkitektur
- Læs kildefilen
- Opdel eventuelt efter klasse eller funktion
- Bed LLM'en om at forklare hver blok
- Kombinér det til et 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)Håndter lange filer
Hvis filen er for lang, skal du opdele den efter funktion og forklare hver funktion 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)Trin 3: Kombinér resultaterne
Ved kørsel med flere blokke skal du samle forklaringerne af de enkelte funktioner i ét 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)Tilføj en opsummering på projektniveau
Efter forklaringerne af de enkelte funktioner skal du bede LLM'en om et overordnet overblik:
summary_prompt = 'Summarise the purpose of this package in 3 sentences, given these function docs:\n\n' + full_doc
summary = ask(summary_prompt)Flere sprog
Den samme instruktion fungerer til JS, Go, Rust osv. Du får bedre resultater ved at tilføje sproget til instruktionen:
prompt = f'You are documenting {language} code. ...'Dokumentation baseret på ændringer
Ved trinvise opdateringer skal du kun køre processen igen for ændrede 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)Brug et værktøj til at køre eksemplet
Kontrollér, at LLM'ens brugseksempel faktisk kan køre — giv agenten et Python-REPL-værktøj:
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 hallucinerer
Modellen opfinder nogle gange funktioner eller argumenter. Modforanstaltninger:
- Angiv KUN filens indhold (ingen modelhukommelse)
- Temperatur 0
- Indfør et verifikationstrin (kør eksemplet, eller kør en lint-kontrol af kodestykket)
Gør det til et produkt
Pak det ind som en CLI:
# pip install -e .
# docgen src/myproject/agent.py
# Outputs docs.mdFra værktøj til CI
Kobl det til CI: Ved hver PR skal du regenerere dokumentationen for ændrede filer og føje den tilbage til projektet. Nu er dit kodearkiv altid dokumenteret.
Hvorfor læse hele filen?
Hvorfor sende HELE kildefilen til LLM'en i stedet for kun funktionssignaturerne?
Opsummering
En agent på 30 linjer, der omdanner kode til dokumentation. Den er nem at udvide med værktøjer og verifikation. Et fremragende projekt nummer to efter RAG.
Lær AI-agenter med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 60
- Lektioner
- 239
Ofte stillede spørgsmål
Er lektionen “En agent, der forklarer kode” gratis?
Ja — hele teksten til “En agent, der forklarer kode” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af AI-agenter-kurset, skal du opgradere til CoddyKit PRO. AI-agenter-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “En agent, der forklarer kode”?
Opbyg en agent, der læser kildefiler, beder LLM'en om en forklaring og returnerer Markdown-dokumentation. Du øver dig i AI-agenter med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på AI-agenter?
Der kræves ingen tidligere erfaring. AI-agenter på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “En agent, der forklarer kode”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne AI-agenter-lektion?
Ja. Alle AI-agenter-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- En Q&A-bot over Deres dokumenter
- En agent, der forklarer kode
- En researchagent, der gennemser nettet
- En SQL-assistent til Deres database