We may earn an affiliate commission when you visit our partners.
Shaun McDonogh

Develop a an automated ChatGPT agent which not only writes code, but tests and re-write code for you. In fact, you can request your agent to do just about anything.

By going through this course, you will not only learn and master Rust from A-Z, but you will also have extensive knowledge in how to build your very own AutoGPT.

The name of the AutoGPT we build together will be Auto-Gippity.

Auto-Gippity will simply be given a task, which it will break down and delegate to other agents to complete. Each agent will be responsible for testing its own output.

Read more

Develop a an automated ChatGPT agent which not only writes code, but tests and re-write code for you. In fact, you can request your agent to do just about anything.

By going through this course, you will not only learn and master Rust from A-Z, but you will also have extensive knowledge in how to build your very own AutoGPT.

The name of the AutoGPT we build together will be Auto-Gippity.

Auto-Gippity will simply be given a task, which it will break down and delegate to other agents to complete. Each agent will be responsible for testing its own output.

Our test piece will be to build an agent that writes a web server given a template. It will write the code in Rust. Not only that, but we will write the agent, that writes Rust code...in Rust. Fantastic. What a time to be a developer.

AutoGPTs will only continue to become extremely relevant and highly sought after and combining these with the worlds favourite programming language, Rust, means that we can build an application which is blazingly fast, memory-safe, modern and robust.

Right now, there is a window of opportunity to learn this fantastic and uncommon technology before it takes over in software engineering.

Just think, you could build an AutoGPT that say, develops full stack SAAS websites end-to-end. With technologies like GPT-4 and soon beyond, such agents will only continue to improve in their performance.

Companies are looking for developers who can build such tools and SAAS startups have a window to be first. If you are curious as to how you can connect new AI technologies to change the world then THIS is the course for you.

You will learn:

  • How to work with the Open AI API and the GPT-4 API using Rust

  • How to master rust from A to Z, progressing from beginner, to intermediate, to advanced and beyond

  • How to build AI functions (special functions that extract a desired response from large-language-models)

  • How to develop a web server template (including an introduction to web servers) using Actix Web

  • How to build an Automated GPT agent (Auto-Gippity) which writes code, that executes and tests code. If the code is wrong, it will simply re-write it and test again

We are truly excited to see what you develop, so make sure you share your application with the world.

See you in class.

Shaun

Enroll now

What's inside

Learning objectives

  • Master the rust programming language from zero to hero
  • Understand how to leverage gpt-4 (chatgpt) to build your own autogpt using rust
  • Understand how to build ai functions for structuring exact desired responses from llms (large-language-models)
  • Build your first web server using the actix web framework in rust
  • Build an autogpt that not only writes any code you like, but tests, improves and re-writes where necessary

Syllabus

Introduction
What We Are Building
Programming Experience Required
About Your Instructor
Read more
Discord and Q&A
Getting Access to GPT-4
AI Functions and LLM Limitations
Course Structure Overview
IMPORTANT: RESOURCES
How to install Rust and navigate the Rust environment
Rust installation - Quick Walkthrough
Rust Installation - Windows Docs
About Rustup
Rustup Tool Manager Docs
Preparing Visual Studio Code
Cargo New - Your First Rust Project
Your First Rust Function
A Brief Programming Language Comparison
Structuring Project Modules - Brief Introduction
Unit Testing with Cargo
Create Docs with Cargo
Creating a Rust Library
Dead Code and Unused Variables
Understand Rust Types, Memory Allocation, Ownership and Borrowing
Must-Know Resources
Rust vs Other Languages Revisited
Integer Types
Data Type Cheatsheet
Stack vs Heap Intro
Stack Deep Dive
Stack vs Heap Walkthrough
String Literals and Static (Read-Only) Memory
Ownership and Borrowing - Immutable References
Ownership and Borrowing - Mutable References
Ownership and Borrowing - Dereferencing
About Scope

Test your knowledge

Practice common aspects used in Rust programming, from Control Flow to structs and beyond
Intro - Create Project
Fixed Size Variables
Dynamic Sized Variables
Basic Collections
Closures
Number Literals and Raw Strings
Working Low Level with Binary
Rust Std Library
Rust Crash Course - Intermediate
Intro - Create Module
Enums - Your First Enum
Enums - Result Enum with Generics Introduction
Enums - Option Enum with Some or None
Rusts Result and Option
Structs - Your First Struct
Structs - Using Type Impl
Traits Introduction
Polymorphism with Traits and Generics
Lifetimes - Introduction
Lifetimes - Generics and Structs
Pattern Matching - Integer, Option and Result
Pattern Matching - Mixed Data Enum
Pattern Matching - Match Guards and Structs
Your First Async API Call
Handling Errors
Collections Revisited - HashMaps and HashSets
Project Cleanup
Rust Crash Course - Advanced
Declarative Macros - Introduction
Declarative Macros - With Repetitions
Declarative Macros - Note on Module Exporting
Procedural Macros (Theory) - Introduction to Derive
Procedural Macros (Theory) - Function Like Macro
Procedural Macros (Theory) - Attribute Like Macro
Procedural Macros (Practice) - Building an AI Function
Smart Pointers - Box
Smart Pointers - Reference Counting with RefCell
Smart Pointers - Reference Counting with Weak
Rust Concurrency with Mutex and Arc
Publish Packages to Crates
Build Web Server Template - First Project
Theory - Introduction to Web Servers and Actix Web
Theory - Actix Web REST API Docs Walkthrough
Project Setup
Struct Definitions
Database Implementation
Creating AppState with Mutex Provided Safety
Writing Our Initial Web Server
Testing Create Task Rest API Endpoint With Postman
Create and Test GET Task Request
Complete Task CRUD
User Registration and Login
Mutation Adjustment
Next Steps
Building out general functions to support AI LLM Agents
Supporting Functions - Section Introduction
User Interaction with Command Line
Extract API Keys
OpenAI Call - Key Provisions
OpenAI Call - Create Client
OpenAI Call - Test API Call

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Combines Rust, a language known for performance and safety, with GPT-4, offering a powerful toolset for building advanced AI applications
Develops skills in building AI functions, which are specialized functions designed to extract specific and structured responses from large language models
Explores Actix Web, which is a framework that facilitates the creation of web server templates, enabling the development of web applications
Teaches Rust from beginner to advanced levels, which may be challenging for learners without prior programming experience, but rewarding for those seeking in-depth knowledge
Requires access to GPT-4, which may involve costs or access limitations, potentially creating a barrier for some learners interested in the course
Focuses on building an AutoGPT agent, which is a cutting-edge application, but the rapidly evolving nature of AI may require continuous learning and adaptation

Save this course

Save Build an AutoGPT Code Writing AI Tool With Rust and GPT-4 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Build an AutoGPT Code Writing AI Tool With Rust and GPT-4 with these activities:
Review Rust Fundamentals
Solidify your understanding of Rust's core concepts like ownership, borrowing, and data types to prepare for the advanced topics covered in the course.
Show steps
  • Read through the official Rust documentation on basic syntax and data structures.
  • Complete online Rust tutorials and exercises.
  • Write small Rust programs to practice fundamental concepts.
Build a Simple CLI Tool with Rust
Gain practical experience with Rust by building a command-line tool that interacts with the user, reinforcing your understanding of input/output and program structure.
Show steps
  • Define the functionality of your CLI tool.
  • Implement the tool using Rust, focusing on error handling and user input.
  • Test the tool thoroughly with various inputs.
Read 'The Rust Programming Language'
Use this book as a reference to deepen your understanding of Rust concepts and syntax, especially when working on the AutoGPT project.
Show steps
  • Read the chapters relevant to the current course topics.
  • Work through the examples provided in the book.
  • Use the book as a reference when encountering difficulties in the course.
Four other activities
Expand to see all activities and additional details
Show all seven activities
LeetCode Rust Challenges
Sharpen your Rust coding skills by solving algorithmic problems on LeetCode, focusing on data structures and algorithms relevant to AI and web server development.
Show steps
  • Select Rust-specific coding challenges on LeetCode.
  • Solve at least three challenges per week.
  • Analyze and optimize your solutions for efficiency.
Read 'Programming Rust'
Use this book to expand your knowledge of Rust and explore advanced topics relevant to building AutoGPTs and web servers.
Show steps
  • Read the chapters on topics you want to explore further.
  • Experiment with the code examples provided in the book.
  • Use the book to learn about new Rust libraries and frameworks.
Write a Blog Post on Rust Concurrency
Deepen your understanding of Rust's concurrency features by researching and writing a blog post explaining Mutexes, Arcs, and other related concepts.
Show steps
  • Research Rust's concurrency features and best practices.
  • Write a clear and concise blog post explaining the concepts.
  • Include code examples to illustrate the concepts.
Contribute to a Rust Project
Contribute to an open-source Rust project to gain experience working with a larger codebase and collaborating with other developers.
Show steps
  • Find a Rust project on GitHub that interests you.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Build an AutoGPT Code Writing AI Tool With Rust and GPT-4 will develop knowledge and skills that may be useful to these careers:
Artificial Intelligence Software Engineer
An Artificial Intelligence Software Engineer develops and implements AI solutions, often involving custom algorithms and integrations with large language models. This role can involve creating tools similar to the AutoGPT project in this course, and requires a deep understanding of both programming and AI principles. This course helps you build a foundation in both. It teaches Rust, a language known for its performance, and also directly shows the learner how to use an API to interact with a large language model, and even build 'AI functions' to structure responses. The course's project to create an autonomous agent that writes, tests, and rewrites code is directly applicable to this type of work.
Rust Developer
A Rust Developer writes software using the Rust programming language, focusing on performance, safety and concurrency. Rust is often used for systems programming, game development, and other areas where speed and reliability are crucial. This course offers a comprehensive path to mastering Rust, starting from the basics and progressing to advanced topics like macros, smart pointers, and concurrency. This is not simply a survey of the Rust language, it is a detailed dive into not only language features but its practical application, making it suitable for anyone wishing to become a Rust Developer. The project of creating a functional web server also helps demonstrate how Rust can be used to build more common applications.
Autonomous Systems Engineer
An Autonomous Systems Engineer designs and develops systems that can operate independently, such as robots or automated software agents. This role requires a strong understanding of programming and AI, and often involves working with complex algorithms. This course provides a project that demonstrates how to build an autonomous agent, which is a core skill in this field. By combining Rust with the capabilities of large language models like those from OpenAI, the course provides a view of how self-operating systems can be built. Also, the focus on testing, and re-writing of code by the agent provides a path to building reliable systems. The course focus on how to build a web server in Rust also allows this engineer to easily create integrations with API calls, making it ideal for this role.
AI Tooling Developer
An AI Tooling Developer creates the software and platforms that AI researchers and engineers use to develop, test, and deploy AI models. This work often involves building custom APIs and integrating AI functionalities into existing systems. This course is valuable because it shows how to use OpenAI APIs with the Rust programming language to build practical AI tools. The course provides the knowledge required to build a custom automated agent that demonstrates these skills and concepts. It also teaches you how to build functions that structure the output of large-language-models. This is particularly helpful for providing predictable outputs in tools intended for downstream use.
Backend Software Engineer
A Backend Software Engineer develops and maintains the server-side logic and databases of web applications, APIs, and other systems. While this role might involve many languages, the course provides an in depth look at building backend systems with Rust. The course covers web server development using Actix Web. This provides a concrete example of how to build a REST API, and the various aspects of a web server. You will not only learn about building a web server, but you will learn how to manage states, databases, and security as it relates to web servers. The course covers crucial aspects of Rust, which will translate to better, safer, quicker backend systems.
Full Stack Software Engineer
A Full Stack Software Engineer works on both the front-end and back-end aspects of software development. This course may be helpful. The course’s focus on Rust, a language becoming popular for many types of software, will be applicable in the backend aspect of full stack web development. The course project to build a web server using Actix Web can provide a foundation for building and consuming APIs. The course emphasis on using the OpenAI's API and building autonomous agents is also particularly valuable to someone working in this field as these are becoming central to modern web application.
Machine Learning Engineer
A Machine Learning Engineer develops and implements machine learning models. This often involves integrating with existing software systems. This course may be useful because it demonstrates how to work with APIs from large language models such as GPT-4, and how to process their outputs. The course does not focus on the mathematical aspects of machine learning but demonstrates how to implement AI-based tooling that may be required of this role. Additionally, the course emphasis on Rust could improve the performance of computationally intensive machine learning operations by providing a safe, fast, memory-efficient platform.
Robotics Software Engineer
A Robotics Software Engineer develops the software that controls robots and automated systems. This role requires strong programming skills and knowledge of algorithms and AI. This course may be useful. The course project of building an autonomous agent that breaks down tasks into sub-tasks and tests its own code is analogous to how a robotic system might operate. Additionally, the use of Rust, a fast safe language, is also very suitable for the demands of robotics development. Although the content may not be directly focused on robotics, the skills demonstrated in this course may be relevant to the role.
AI Research Scientist
An AI Research Scientist focuses on developing new AI technologies, algorithms, and models. This position typically requires a PhD. While the course does not delve into the research side of AI, it may be useful. The course does show how to build custom tooling on top of large language models, and how to programmatically make use of such models. The course provides experience implementing cutting edge AI based applications which may be of value to this role. The course uses Rust, which allows for very fast programs, which is particularly useful for research tasks involving large amounts of data.
Software Architect
A Software Architect is responsible for designing the overall structure and architecture of software systems. This role may benefit from insights gained from this course. This course provides experience with a variety of languages, API calls, and the building of complex software systems. Specifically, the architectural approach to building autonomous systems as well as the specific use of Rust's features may translate to the ability to design better software systems in general. The course provides both high level architectural design decisions with hands on experience implementing such architectures, which may be valuable to a software architect.
Web Application Developer
A Web Application Developer builds and maintains web applications, often working on both frontend and backend technologies. This role may benefit from this course. Although the course has a very specific focus on Rust, it also provides a practical project that demonstrates how to build a web server in Rust. This shows the core aspects of creating a web application including state management, database interactions, creating an API, as well as security considerations. The course also shows how one can use Rust to interact with online services that are common in web applications.
Data Scientist
A Data Scientist analyzes data to extract insights and support decision-making, often using machine learning techniques. This course may be useful. While the course does not focus on the statistical aspects of data science, it does focus on building AI tools. Furthermore, the course demonstrates how to perform automated actions based on API calls. The course also demonstrates how to programmatically access and interpret data. Understanding the application side of AI in the form of automation can be valuable to the data scientist in building their models, and building applications to accompany these models.
Embedded Systems Engineer
An Embedded Systems Engineer develops software for embedded systems, such as those found in appliances, cars, and medical devices. This course may be useful. Rust is a language commonly used in embedded systems, because of its safety, speed, and memory efficiency. The course provides a complete journey in understanding and using Rust's features, which may be transferrable to the domain of embedded systems. Furthermore, the course also provides experience in building practical applications using this language which can be valuable to this role.
Technical Project Manager
A Technical Project Manager oversees software development projects, ensuring they are completed on time and within budget. While this role is not a technical one, the course may be useful. The course provides a hands on experience in developing a complex system using a modern programming language with AI capabilities that may have implications for other projects in the future. Having an experience with coding projects can provide project managers insight into the challenges faced by their teams. The specific project of developing an autonomous system using Rust and AI technologies may also have implications for project management in the future.
Software Quality Assurance Engineer
A Software Quality Assurance Engineer is responsible for testing and ensuring that software meets specific standards. This role may be useful. This course demonstrates best practices in writing code including unit tests and documentation. The course also demonstrates how an autonomous agent can test, and re-write its own code, which is an interesting insight into test automation. As software engineering continues to advance in complexity, this perspective may be useful for a software quality assurance engineer, especially when developing automated testing systems.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Build an AutoGPT Code Writing AI Tool With Rust and GPT-4.
Is the official guide to Rust programming. It provides a comprehensive introduction to the language, covering everything from basic syntax to advanced topics like concurrency and macros. It is highly recommended as a reference throughout the course. This book is commonly used as a textbook at academic institutions.
Provides a practical, hands-on approach to learning Rust. It covers a wide range of topics, including memory management, concurrency, and web development. It is more valuable as additional reading than it is as a current reference. This book is commonly used as a textbook at academic institutions.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser