Applied Program Synthesis for ML Engineers Building AI Application Builders
Master the art of program synthesis to empower AI-driven application builders, from foundational paradigms to advanced LLM integration and DSL design.
...
Share
Foundations of Program Synthesis for AI Application Builders
Unit 1: Introduction to Program Synthesis for AI Builders
What is Program Synthesis?
Why AI Builders Need PS
Specs: The Blueprint
Search Space & Constraints
Evaluating Synthesized Programs
Unit 2: Paradigms of Program Synthesis
Inductive Synthesis Explained
Deductive Synthesis Explained
Neuro-Symbolic Synthesis
Comparing PS Paradigms
Hybrid Approaches in PS
Unit 3: Applying Program Synthesis in AI Builders
PS for UI Generation
PS for Backend Logic
PS for Data Pipelines
PS for Glue Code
Choosing the Right PS
Leveraging Large Language Models for Code Generation
Unit 1: Prompt Engineering for Application Logic
Crafting Effective Prompts
Controlling Code Structure
Handling Constraints & Edge Cases
Contextualizing Prompts
Interactive Prompting
Unit 2: Evaluating LLM Code Generation
Metrics for Code Quality
Testing Generated Code
Limitations of LLMs
Strengths of LLMs
Human-in-the-Loop
Unit 3: Fine-tuning LLMs for Code
Why Fine-Tune for Code?
Data for Fine-tuning
Fine-tuning Techniques
Evaluating Fine-tuned Models
Deployment & Maintenance
Designing Domain-Specific Languages for Program Synthesis
Unit 1: The Power of DSLs in Program Synthesis
Why DSLs for Synthesis?
DSL vs. GPC: A Synthesis View
Anatomy of a DSL
DSL Design Principles
DSL for UI Builders: A Case
Unit 2: Defining DSLs: Syntax and Semantics
Formalizing DSL Syntax
Abstract Syntax Trees (ASTs)
DSL Semantics: What it Means
Type Systems for DSLs
Error Handling in DSLs
Unit 3: Implementing DSLs: Parsers and Interpreters
Parsing DSL Programs
Building a Simple Parser
Interpreting DSL Programs
DSL to Code Generation
Validating Synthesized DSL
Integrating and Evaluating Program Synthesis in AI Builders
Unit 1: Architecting Synthesis Workflows
Synthesis Workflow Intro
User Input to Formal Query
Managing Synthesis Constraints
Integrating Synthesis Engines
Post-Synthesis Processing
Unit 2: Addressing Synthesis Challenges
Ambiguity in Synthesis
Ensuring Program Correctness
Optimizing Synthesis Efficiency
Handling Incompleteness
Managing Scalability
Unit 3: Evaluating Synthesized Programs
Metrics for Quality
Performance Evaluation
Usability & Maintainability
Security & Robustness
A/B Testing & User Feedback