Start Here

The Glossary

The Glossary

The words everyone uses and nobody explains. Not a page to read — a page to come back to when a term ambushes you.

The phrases used in class

TermMeaning
Just enough Pythonthe 20% of the language that does 80% of the work in agent code
Vibe codingtelling an AI your intent in plain English and letting it write the code
Code-based agentbuilt in a programming language rather than a drag-and-drop tool. No ceiling
No-codedrag-and-drop platforms. Useful, and themselves built with code by someone else
ColabGoogle's browser Python notebook. The starting point, because nothing installs
Antigravitythe vibe-coding editor this programme uses. Free, by Google
Placeholdera plain-English word for a variable
Block scopethe lines that belong together. Braces in Java; indentation in Python

Writing code

TermMeaning
Variablea label attached to a value. name = "Priya"
Typewhat kind of value. str, int, float, bool
Functiona named, reusable block. You define it once and call it many times
Argumenta value you pass in. add(2, 3) passes two
Parameterthe name the function gives it. In def add(a, b), a and b
Return valuewhat a function hands back. No return means None
Blocklines grouped under a colon, marked by indentation
Scopewhere a name is visible. Names made inside a function do not escape
Syntaxthe grammar. A SyntaxError means Python could not parse the line

Data

TermMeaning
Listordered, changeable: ["a", "b"]. Java's ArrayList
Dictionarykey-value pairs: {"role": "user"}. Java's HashMap. The important one for agents
Tuplea list that cannot be changed: (1, 2)
Setno duplicates, no order: {1, 2, 3}
Indexposition, counting from 0. items[-1] is the last
Mutablechangeable. Lists and dictionaries are; text, numbers and tuples are not
Nonethe absence of a value. Java's null
f-stringtext with values in it: f"Hello {name}". The f is what makes braces work

Errors

TermMeaning
Exceptionan error raised while running. Stops the program unless caught
Tracebackthe trail printed when one escapes. Read bottom-up
Raisetrigger one deliberately
Catchhandle it with try and except so the program continues
NameErrorno such name
TypeErrorwrong kind of value
KeyErrorno such key
IndexErrorthat position does not exist
ValueErrorright type, unusable content
ModuleNotFoundErrorlibrary not installed

Packages and environments

TermMeaning
Moduleone .py file
Packagea folder of modules you can import
pipinstalls packages. Maven or NuGet, roughly
requirements.txtthe list of packages a project needs
Virtual environmenta private package folder for one project, so versions do not clash
Standard librarywhat ships with Python: json, os, datetime

Notebooks

TermMeaning
Cellone runnable box. Shift + Enter runs it
Runtimethe interpreter holding your variables. Restarting clears everything
Restart and run allrun top to bottom in order. The fix when a notebook misbehaves

The agent vocabulary

TermMeaning
LLMtext in, text out. No memory, no hands of its own
Promptwhat you send it
Tokenthe unit models read and bill in. Roughly ¾ of a word
Context windowhow much text it can consider at once
Temperaturerandomness. Low is predictable, high is varied
Toola function you let the model call
Tool callingthe model choosing a tool and its arguments. It does not run anything — your code does
Schemaa machine-readable description of a shape, usually JSON Schema
Agenta model that chooses tools, uses them, reads the results, and decides what next
ReActthe reason-then-act loop most agents run
Chainfixed steps in a fixed order. An agent decides its own order
Statethe data carried between steps
Memorystate that survives between turns
RAGfetch relevant documents, put them in the prompt, then answer
Embeddingtext as numbers, so similar meanings sit close together
Vector storea database of embeddings you search by meaning
Chunkingcutting documents small enough to retrieve and fit in a prompt
Hallucinationa confident answer that is not true
Streamingreceiving the answer in pieces as it is generated
Structured outputforcing a fixed shape, usually a Pydantic model, so you never parse text
Evalan automated quality check. Not a unit test — the answer is not fixed
Guardraila check that stops unacceptable input or output
Tracingrecording what happened inside a run, so you can find out why it broke
API keythe secret identifying you to a paid service. Never put it in your code
Frameworksupplies the machinery so you write only your own part. LangChain, LangGraph, CrewAI, Google ADK

Try It Yourself

Copy this into a new Colab notebook and run it. Nothing to install.

example.py
1# The vocabulary, in code. Every term from the glossary that can be shown, shown.
2
3# VALUE, VARIABLE, TYPE
4name = "Priya" # value "Priya", variable `name`, type str
5years = 14 # int
6ratio = 0.75 # float
7active = True # bool
8owner = None # None - the absence of a value
9print(type(name), type(years), type(ratio), type(active), type(owner))
10
11# EXPRESSION vs STATEMENT
12total = 2 + 3 # `2 + 3` is an expression; the whole line is a statement
13print(total)
14
15# LIST - ordered, changeable. INDEX starts at 0.
16skills = ["Python", "SQL", "Cloud"]
17print(skills[0], skills[-1], len(skills))
18
19# DICTIONARY - looked up by KEY
20member = {"name": "Priya", "tier": "diamond"}
21print(member["tier"], member.get("city", "not set"))
22
23# TUPLE - cannot be changed. SET - no duplicates.
24point = (12, 45)
25unique = {"network", "database", "network"}
26print(point, unique)
27
28# ITERATE
29for skill in skills:
30 print("iterating:", skill)
31
32# FUNCTION - PARAMETERS, ARGUMENTS, RETURN VALUE
33def add(a, b): # a and b are parameters
34 return a + b # return value
35
36print(add(2, 3)) # 2 and 3 are arguments
37
38# SCOPE - names inside a function do not escape
39def inner():
40 hidden = "not visible outside"
41 return hidden
42print(inner())
43
44# EXCEPTION - raised, then caught
45try:
46 raise ValueError("something was wrong with the input")
47except ValueError as e:
48 print("caught:", e)
49
50# The agent vocabulary, as data:
51messages = [
52 {"role": "system", "content": "You are a triage assistant."},
53 {"role": "user", "content": "The database is down."},
54]
55print(f"{len(messages)} messages, roles: {[m['role'] for m in messages]}")
56
57# A rough TOKEN estimate - about 4 characters per token in English
58text = "The database is unreachable from the application servers."
59print(f"{len(text)} characters is roughly {len(text) // 4} tokens")