Coursework for 'Transformers, LLMs, RAG and Agents: From Theory to Production' (BSC x UPC): RAG applications, hand-built agent loops, and token-cost experiments measured on a local stack
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport http counts 10 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
browser_click
-
browser_navigate
-
browser_snapshot
-
browser_type
-
check_battery_health
-
get_robot_spec
-
get_warehouse_map
-
list_firmware_versions
-
open_support_ticket
-
schedule_maintenance
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit e64da5b · analyzer v28 · 1d ago
skills & prompt files 4
- agent-rules carco5-ludo-engsoft-e64da5b/week-03/demos/04-minimal-cli-agent/agent.md
- skill carco5-ludo-engsoft-e64da5b/week-03/demos/04-minimal-cli-agent/skills/word-report/skill.md
- agent-rules carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-cli/agent.md
- skill carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-cli/skills/forum-cli/skill.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 47
filesystem 12
- fs carco5-ludo-engsoft-e64da5b/week-01/demos/01-the-api-call/multimodal/send_image.py :50
with open(image, "rb") as f: - fs carco5-ludo-engsoft-e64da5b/week-01/ex-05-easy-chatgpt/app/main.py :9
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-02/demos/01-single-file-rag/single_file_rag.py :27
context = open(os.path.join(os.path.dirname(__file__), "knowledge.txt")).read() - fs carco5-ludo-engsoft-e64da5b/week-02/demos/02-context-explorer-rag/context_explorer_rag.py :144
No chunking, no embeddings, no vector store. The "retrieval" step is `open().read()`. - fs carco5-ludo-engsoft-e64da5b/week-02/demos/05-embeddings-rag-explorer/embeddings_rag_explorer.py :174
text = open(os.path.join(os.path.dirname(__file__), "knowledge.txt")).read() - fs carco5-ludo-engsoft-e64da5b/week-02/easy-rag/app/main.py :32
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-02/ex-01-easy-assistant/app/main.py :17
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-02/simple-dynamic-rag/ingest.py :29
import shutil - fs carco5-ludo-engsoft-e64da5b/week-03/demos/04-minimal-cli-agent/minimal_cli_agent.py :28
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/forum/app.py :22
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-cli/minimal_cli_agent.py :28
from pathlib import Path - fs carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/tally.py :17
from pathlib import Path
shell / exec 4
- shell carco5-ludo-engsoft-e64da5b/week-03/demos/02-give-the-llm-hands/give_the_llm_hands.py :33
import subprocess - shell carco5-ludo-engsoft-e64da5b/week-03/demos/04-minimal-cli-agent/minimal_cli_agent.py :26
import subprocess - shell carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/give_the_llm_hands.py :33
import subprocess - shell carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-cli/minimal_cli_agent.py :26
import subprocess
network 2
- net carco5-ludo-engsoft-e64da5b/week-03/demos/02-give-the-llm-hands/give_the_llm_hands.py :35
import urllib.request - net carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/give_the_llm_hands.py :35
import urllib.request
secrets 26
- secrets carco5-ludo-engsoft-e64da5b/week-01/demos/01-the-api-call/chat-completions/call.py :18
api_key=os.environ.get("OPENAI_API_KEY"), - secrets carco5-ludo-engsoft-e64da5b/week-01/demos/01-the-api-call/multimodal/send_image.py :36
api_key=os.environ.get("OPENAI_API_KEY"), - secrets carco5-ludo-engsoft-e64da5b/week-01/demos/01-the-api-call/streaming/stream.py :29
api_key=os.environ.get("OPENAI_API_KEY"), - secrets carco5-ludo-engsoft-e64da5b/week-01/demos/02-context-explorer/context_explorer.py :197
api_key = os.getenv("OPENAI_API_KEY") - secrets carco5-ludo-engsoft-e64da5b/week-01/ex-04-call-the-llm/call.py :23
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), # Ollama ignores the value - secrets carco5-ludo-engsoft-e64da5b/week-01/ex-05-easy-chatgpt/app/main.py :17
API_KEY = os.environ.get("OPENAI_API_KEY", "ollama") - secrets carco5-ludo-engsoft-e64da5b/week-02/collections-manager/collections_manager/__init__.py :47
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-02/demos/01-single-file-rag/single_file_rag.py :22
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-02/demos/02-context-explorer-rag/context_explorer_rag.py :565
api_key = os.getenv("OPENAI_API_KEY") - secrets carco5-ludo-engsoft-e64da5b/week-02/demos/03-embeddings-explorer/embeddings_explorer.py :58
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "ollama") - secrets carco5-ludo-engsoft-e64da5b/week-02/demos/05-embeddings-rag-explorer/embeddings_rag_explorer.py :71
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-02/demos/rag-graph-expansion/rag_graph_expansion.py :29
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-02/easy-rag/app/main.py :43
API_KEY = os.environ.get("OPENAI_API_KEY", "ollama") - secrets carco5-ludo-engsoft-e64da5b/week-02/ex-01-easy-assistant/app/main.py :25
API_KEY = os.environ.get("OPENAI_API_KEY", "ollama") - secrets carco5-ludo-engsoft-e64da5b/week-02/simple-dynamic-rag/simple_dynamic_rag.py :30
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-03/demos/01-function-calling/three_pigs_function_calling.py :460
api_key = os.getenv("OPENAI_API_KEY") - secrets carco5-ludo-engsoft-e64da5b/week-03/demos/02-give-the-llm-hands/give_the_llm_hands.py :44
API_KEY = os.getenv("OPENAI_API_KEY", "ollama") # any non-empty string for Ollama - secrets carco5-ludo-engsoft-e64da5b/week-03/demos/03-mcp-server-minimal/agent_with_mcp.py :34
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-03/demos/04-minimal-cli-agent/minimal_cli_agent.py :35
api_key=os.getenv("OPENAI_API_KEY", "ollama")) - secrets carco5-ludo-engsoft-e64da5b/week-03/straw-house/three_pigs_function_calling.py :492
api_key = os.getenv("OPENAI_API_KEY") - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/agent_with_mcp.py :34
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/control_no_tools.py :20
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/give_the_llm_hands.py :44
API_KEY = os.getenv("OPENAI_API_KEY", "ollama") # any non-empty string for Ollama - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/browser_agent.py :31
api_key=os.environ.get("OPENAI_API_KEY", "ollama"), - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/registry_cost.py :24
api_key=os.environ.get("OPENAI_API_KEY", "sk-anything"), timeout=1800) - secrets carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-cli/minimal_cli_agent.py :35
api_key=os.getenv("OPENAI_API_KEY", "ollama"),
database 2
- db carco5-ludo-engsoft-e64da5b/week-03/demos/02-give-the-llm-hands/give_the_llm_hands.py :32
import sqlite3 - db carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/give_the_llm_hands.py :32
import sqlite3
tool registrations 12
- get_robot_spec carco5-ludo-engsoft-e64da5b/week-03/demos/03-mcp-server-minimal/server.py :38
- get_robot_spec carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server.py :38
- get_robot_spec carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :30
- get_warehouse_map carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :40
- open_support_ticket carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :50
- check_battery_health carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :59
- schedule_maintenance carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :68
- list_firmware_versions carco5-ludo-engsoft-e64da5b/week-03/token-bill/part1-registry-tax/server_6tools.py :77
- browser_navigate carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/playwright_mcp_server.py :91
- browser_snapshot carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/playwright_mcp_server.py :100
- browser_type carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/playwright_mcp_server.py :129
- browser_click carco5-ludo-engsoft-e64da5b/week-03/token-bill/part2-two-roads/road-browser/playwright_mcp_server.py :139
declared dependencies 2
- transformers@>=4.48.0
- tokenizers@>=0.20.0