The Ai-Assisted Developer Workflow: Build Faster and Smarter Today

Rate this content
Bookmark

Unlock the next generation of developer productivity. In this talk, we'll dive into how AI-powered tools are transforming the way we build software. Discover techniques for rapid iteration, intelligent debugging, and the creation of exceptional user experiences. Whether you're using cutting-edge AI models or exploring the first wave of AI assistance, this talk will equip you with strategies to level up your workflow.

This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.

FAQ

Examples include taxi AI managing GitHub repository settings and agent.exe booking flights via Google Flights. These agents can navigate user interfaces, execute tasks like booking or managing software settings, and adapt to user prompts.

AI agents can help by autonomously completing tasks, making decisions based on data, generating code, running tests, detecting bugs, and iterating on solutions. This approach mimics the iterative process engineers use to tackle problems.

Yes, AI-powered tools like Repl.it Agent and v0 from Vercel are lowering the barriers for non-technical users to build apps by generating code based on simple prompts and providing live previews for easier iteration.

An AI agent is a program that can autonomously complete tasks or make decisions based on data. It understands a task's intent, plans steps to solve the problem, executes actions, and adapts to the environment.

English is becoming a crucial language in AI-driven development as the ability to clearly define requirements and describe ideas is key to optimizing AI outputs. This highlights the importance of descriptive and specific communication skills.

Adi Osmani believes that while AI can generate code, experienced engineers are crucial for understanding architecture and debugging. AI will democratize software development, but the need for engineers to reason about problems will remain.

AI for code generation can outline plans, generate code, run tests, detect bugs, and iterate on solutions, making it a collaborative process. This enhances the efficiency and quality of software development compared to traditional prompt-response models.

AI agents can assist in iterating and improving code, automating tedious tasks, and enhancing workflow augmentation. They are expected to evolve and collaborate with other agents, leading to more efficient and scalable software development processes.

Adi Osmani mentions tools like Repl.it Agent, v0 from Vercel, Bolt from StackBlitz, and AI-powered editors like Copilot and Cursor. These tools help users generate code, manage projects, and iterate on software development.

AI is transforming software engineering by reducing the gap from idea to execution, helping to shorten the distance between having an idea and getting a functional prototype. AI agents can assist with coding, iteration, and improvement throughout the software engineering lifecycle.

Addy Osmani
Addy Osmani
31 min
18 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
AI is transforming software engineering by using agents to help with coding. Agents can autonomously complete tasks and make decisions based on data. Collaborative AI and automation are opening new possibilities in code generation. Bolt is a powerful tool for troubleshooting, bug fixing, and authentication. Code generation tools like Copilot and Cursor provide support for selecting models and codebase awareness. Cline is a useful extension for website inspection and testing. Guidelines for coding with agents include defining requirements, choosing the right model, and frequent testing. Clear and concise instructions are crucial in AI-generated code. Experienced engineers are still necessary in understanding architecture and problem-solving. Energy consumption insights and sustainability are discussed in the Talk.

1. AI's Impact on Software Engineering

Short description:

AI is transforming software engineering by using agents to help with coding. The gap from idea to execution can be reduced, enabling the creation of functional prototypes. There are various solutions in this space that can assist in shipping products to production. AI-powered tools have lowered the barriers for people to bring their ideas to life. Taking the first step towards executing and refining ideas is challenging, but agents can support the entire software engineering lifecycle.

All righty, hey folks, my name is Adi Osmani. I'm an engineering lead at Google, and today I'd like to talk to you about how AI is transforming software engineering. AI is, of course, a hot topic. It can feel like things are changing really fast. And I want to focus on something very specific today. It's going to be how agents can help us with coding.

Now let's zoom out for a moment. One of the greatest skills that you can acquire is to be able to reduce the gap from idea to execution. And when it comes to coding or building products, I believe that this is where AI can really help us make a big difference. It can shorten that distance between you having an idea to being able to get out a functional prototype that you can play with. So we're going to touch on a number of different solutions in this space that enable this idea. Many of them are already helping folks ship things to production.

Now I loved this story from the other week of an 11-year-old that had an idea for an app, and between dinner and bedtime, she was able to build a functional version that she could share with her friends, which is just incredible. Now traditionally building apps required extensive knowledge, lots of technical skill. Now with tools powered by AI agents, the barriers are starting to lower for folks to just get their ideas out. And I'm really excited about that. Now this story used Repl.it Agent. With a prompt as simple as create an event management service, you're able to generate a flask and vanilla JavaScript web app. It's got full authentication. It's got event creation and management. You can handle SQL in your back end. It gives you a decent starting point. You can then work with that chat agent and refine and test it. Really cool stuff. Now in many cases, ideas alone are the easy part. Taking that first step, being able to execute, bootstrap towards a working version of your idea, that's hard. But software engineering is not just about getting started. It's about iterating and improving towards a goal. And that's where I'm particularly excited about agents. Not just where they can help us with bootstrapping and getting started, but across the software engineering lifecycle.

2. Understanding Agents and Their Role

Short description:

An agent is a program that can autonomously complete tasks or make decisions based on data. It can understand a task's intent, plan steps, decide and execute actions, and adapt to the environment. Real-world examples include taxi AI protecting a repository on GitHub and agent.exe booking flights. Agents take a nuanced approach to code generation, outlining plans, generating code, running tests, and iterating for better results.

I've mentioned the word agent a few times. What is an agent? Well an agent is a program that can autonomously complete tasks or make decisions based on data. What do we mean by autonomously? Well it means that the agent is able to understand a task's intent. It can plan steps to solve the problem. It can decide and execute actions and adapt to the environment. This is maybe best illustrated with some examples.

So consider how many of us today might use a chat interface. We might ask something like chat GPT to write an article from start to finish and get a one-shot response. Now you probably need to do some work to iterate on it yourself. An agentic version of that is a little bit more nuanced. It might write an outline, decide if research is needed, write a draft, evaluate if it needs work and then revise things itself.

So let's look at some real-world examples of this. So here's an example of an agent in action. This is taxi AI protecting the main branch of a repository on GitHub. It's able to study the UI, figure out that it needs to go to settings, and then create, customize, and apply a new branch protection rule before finally submitting it. It's also giving you a log letting you know what's happening behind the scenes. This has multiple steps to it. Very cool that this is possible. What about booking flights from somewhere like Seattle to San Francisco? This is agent.exe. It's free, it's open source, uses Quad, lets you control your computer. So here it is navigating to Google Flights and completing all of the details from our prompt and then submitting a search on our behalf. A more advanced version might actually be able to complete the booking for us and do the checkout.

Now back to one-shot prompts versus agents. When we talk about AI for code generation, most of us are used to the idea of prompt and response. You give the AI a prompt like, write me some code that does X, and it responds with some code. Now an agent takes again a more nuanced approach to this. Maybe it outlines a plan for how to solve this problem. It can generate code, check it, run tests, detect bugs, and then rethink and fix if something doesn't look like it's working. Now that iterative process mimics a lot more of what we as engineers tend to do. We iterate on tackling problems to deliver better results.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Building a Voice-Enabled AI Assistant With Javascript
JSNation 2023JSNation 2023
21 min
Building a Voice-Enabled AI Assistant With Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
AI and Web Development: Hype or Reality
JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
The Rise of the AI Engineer
React Summit US 2023React Summit US 2023
30 min
The Rise of the AI Engineer
Watch video: The Rise of the AI Engineer
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
Web Apps of the Future With Web AI
JSNation 2024JSNation 2024
32 min
Web Apps of the Future With Web AI
Web AI in JavaScript allows for running machine learning models client-side in a web browser, offering advantages such as privacy, offline capabilities, low latency, and cost savings. Various AI models can be used for tasks like background blur, text toxicity detection, 3D data extraction, face mesh recognition, hand tracking, pose detection, and body segmentation. JavaScript libraries like MediaPipe LLM inference API and Visual Blocks facilitate the use of AI models. Web AI is in its early stages but has the potential to revolutionize web experiences and improve accessibility.
Code coverage with AI
TestJS Summit 2023TestJS Summit 2023
8 min
Code coverage with AI
Codium is a generative AI assistant for software development that offers code explanation, test generation, and collaboration features. It can generate tests for a GraphQL API in VS Code, improve code coverage, and even document tests. Codium allows analyzing specific code lines, generating tests based on existing ones, and answering code-related questions. It can also provide suggestions for code improvement, help with code refactoring, and assist with writing commit messages.
Building the AI for Athena Crisis
JS GameDev Summit 2023JS GameDev Summit 2023
37 min
Building the AI for Athena Crisis
Join Christoph from Nakazawa Tech in building the AI for Athena Crisis, a game where the AI performs actions just like a player. Learn about the importance of abstractions, primitives, and search algorithms in building an AI for a video game. Explore the architecture of Athena Crisis, which uses immutable persistent data structures and optimistic updates. Discover how to implement AI behaviors and create a class for the AI. Find out how to analyze units, assign weights, and prioritize actions based on the game state. Consider the next steps in building the AI and explore the possibility of building an AI for a real-time strategy game.

Workshops on related topic

AI on Demand: Serverless AI
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
AI for React Developers
React Advanced 2024React Advanced 2024
142 min
AI for React Developers
Featured Workshop
Eve Porcello
Eve Porcello
Knowledge of AI tooling is critical for future-proofing the careers of React developers, and the Vercel suite of AI tools is an approachable on-ramp. In this course, we’ll take a closer look at the Vercel AI SDK and how this can help React developers build streaming interfaces with JavaScript and Next.js. We’ll also incorporate additional 3rd party APIs to build and deploy a music visualization app.
Topics:- Creating a React Project with Next.js- Choosing a LLM- Customizing Streaming Interfaces- Building Routes- Creating and Generating Components - Using Hooks (useChat, useCompletion, useActions, etc)
Leveraging LLMs to Build Intuitive AI Experiences With JavaScript
JSNation 2024JSNation 2024
108 min
Leveraging LLMs to Build Intuitive AI Experiences With JavaScript
Featured Workshop
Roy Derks
Shivay Lamba
2 authors
Today every developer is using LLMs in different forms and shapes, from ChatGPT to code assistants like GitHub CoPilot. Following this, lots of products have introduced embedded AI capabilities, and in this workshop we will make LLMs understandable for web developers. And we'll get into coding your own AI-driven application. No prior experience in working with LLMs or machine learning is needed. Instead, we'll use web technologies such as JavaScript, React which you already know and love while also learning about some new libraries like OpenAI, Transformers.js
Llms Workshop: What They Are and How to Leverage Them
React Summit 2024React Summit 2024
66 min
Llms Workshop: What They Are and How to Leverage Them
Featured Workshop
Nathan Marrs
Haris Rozajac
2 authors
Join Nathan in this hands-on session where you will first learn at a high level what large language models (LLMs) are and how they work. Then dive into an interactive coding exercise where you will implement LLM functionality into a basic example application. During this exercise you will get a feel for key skills for working with LLMs in your own applications such as prompt engineering and exposure to OpenAI's API.
After this session you will have insights around what LLMs are and how they can practically be used to improve your own applications.
Table of contents: - Interactive demo implementing basic LLM powered features in a demo app- Discuss how to decide where to leverage LLMs in a product- Lessons learned around integrating with OpenAI / overview of OpenAI API- Best practices for prompt engineering- Common challenges specific to React (state management :D / good UX practices)
Working With OpenAI and Prompt Engineering for React Developers
React Advanced 2023React Advanced 2023
98 min
Working With OpenAI and Prompt Engineering for React Developers
Top Content
Workshop
Richard Moss
Richard Moss
In this workshop we'll take a tour of applied AI from the perspective of front end developers, zooming in on the emerging best practices when it comes to working with LLMs to build great products. This workshop is based on learnings from working with the OpenAI API from its debut last November to build out a working MVP which became PowerModeAI (A customer facing ideation and slide creation tool).
In the workshop they'll be a mix of presentation and hands on exercises to cover topics including:
- GPT fundamentals- Pitfalls of LLMs- Prompt engineering best practices and techniques- Using the playground effectively- Installing and configuring the OpenAI SDK- Approaches to working with the API and prompt management- Implementing the API to build an AI powered customer facing application- Fine tuning and embeddings- Emerging best practice on LLMOps
Building AI Applications for the Web
React Day Berlin 2023React Day Berlin 2023
98 min
Building AI Applications for the Web
Workshop
Roy Derks
Roy Derks
Today every developer is using LLMs in different forms and shapes. Lots of products have introduced embedded AI capabilities, and in this workshop you’ll learn how to build your own AI application. No experience in building LLMs or machine learning is needed. Instead, we’ll use web technologies such as JavaScript, React and GraphQL which you already know and love.