29 mins

We’ve all read the articles and got excited by technologies such as machine learning, deep learning, Tensorflow, Panda and NumPy. A lot of us are also looking at how to incorporate these technologies into our toolset and in the software we are building.

What we have not had a lot of discussion about yet is what exactly does it mean to build AI software? Do we need different concepts to communicate ideas and design systems?

In this talk, we start by first answering the question of whether we should even care. Is AI going to be around long enough for this to be a concern or is it just another fad? (spoiler: it’s probably not a fad).

Given that we should care then how should we think of software that incorporates AI? I will provide a conceptual framework that will help to identify where AI fits in a specific context, what type of AI makes sense and how you can begin to talk about it in systems architecture terms.

This is the framework we use ourselves to design intelligent services and it follows an agent-based view of software development. Agent-based or agent-oriented development is the space within AI where the concerns of engineering AI architectures are most explicitly addressed.

The best part of the talk is that by the end of it you will not need to use the term AI anymore. Instead, you can pinpoint and describe the actual thing you need to build in clear, unambiguous terminology.

Going away from this talk you will have another perspective on:

Why AI technologies will be a permanent part of our toolset moving forward

How to think of AI in terms of agent-based development

How to express situations where AI is used unambiguously so as to communicate designs clearly.