# Day 1 Lab: Auto Prompt Optimization with dspy

> In this lab, Zach dives into analyzing code in a GitHub repository and discussed auto prompt optimization techniques, specifically focusing on two examples: the auto optimize candidates pool and counting.py. He guides through setting up their Python environment, generating a GitHub personal access…

- Web page: https://www.dataexpert.io/lesson/prompt-engineering-day1-lab-jul2025-p737-l1170
- Program: [AIExpert](https://www.dataexpert.io/program/ai-expert)
- Module: Week 1: Prompt Engineering & Basic RAG
- Access: Requires enrollment in AIExpert
- Length: 1 h video
- Skills: Python, NLP, LLMs, Git
- Academy: DataExpert.io Academy

## About this lesson

In this lab, Zach dives into analyzing code in a GitHub repository and discussed auto prompt optimization techniques, specifically focusing on two examples: the auto optimize candidates pool and counting.py. He guides through setting up their Python environment, generating a GitHub personal access token, and running the code to fetch repository contents. Zach emphasized the importance of structured data in prompt engineering and how to create effective prompts to ensure consistent JSON output.

## Navigation

- Previous lesson: [Day 1 Lecture: Prompt Engineering Theory](https://www.dataexpert.io/lesson/prompt-engineering-day1-lecture-jul2025-p737-l1169.md)
- Next lesson: [Day 2 Lecture: Optimizing Dev Workflows with Cursor and Windsurf](https://www.dataexpert.io/lesson/prompt-engineering-day2-lecture-jul2025-p737-l1171.md)
