GenAI application development - a Cynefin perspective

generative AI   Cynefin  

These days a lot of energy is being poured into developer Generative AI applications. A key part of developing these applications is prompt engineerig: carefully crafting prompts to get the desired behavior from the LLM. This often requires a lot of experimentation and iteration to get right. What’s more, a prompt that works for one LLM (version) might not work with another. Arguably, generative AI application development is what the Cynefin framework would call a complex domain.

About Cynefin

Cynefin is a framework that helps us understand the nature of the problem we’re facing. It’s a sense-making framework that characterizes problems as either clear, complicated, complex, or chaotic.

In clear and complicated domains, the relationship between cause and effect is knowable. You simply need to understand the rules. In the case of a complicated domain, you might need to do some analysis to figure out the rules. You could consider User Profile Management to be a clear domain, and the Federal Incone Tax Calculator to be a complicated domain.

Developer tools are clear or complicated

Typical developer technologies - languages, tools, etc - are usually clear or complicated. You simply need to learn a bunch of rules in order to use. And even when you do need to experiment, the problem is almost always poorly written documentation.

About Cynefix complex domains

In a complex domain, the relationship between cause and effect is only knowable in retrospect. In order to devise a solution, a lot of experimentation is required. What’s more, you might not even know whether a given solution is the best one. An example of a complex domain is Delivery Management. Creating a courier scheduling algorithm requires a lot of experimentation.

LLMs are complex and random

As I mentioned earlier, generate AI development is a complex domain. You typically need to experiment a lot to get the desired behavior. And, what works for one LLM might not work for another. Moreover, LLMs exhibit random behavior, which makes development even more difficult.

For example, the Faramir phone number parser prompt required a lot of experimentation to get right. Moreover, it works with GPT-4 but fails with other LLMs, for reason unknown.


generative AI   Cynefin  


Copyright © 2024 Chris Richardson • All rights reserved • Supported by Kong.

About www.prc.education

www.prc.education is brought to you by Chris Richardson. Experienced software architect, author of POJOs in Action, the creator of the original CloudFoundry.com, and the author of Microservices patterns.

ASK CHRIS

?

Got a question about microservices?

Fill in this form. If I can, I'll write a blog post that answers your question.

NEED HELP?

I help organizations improve agility and competitiveness through better software architecture.

Learn more about my consulting engagements, and training workshops.

LEARN about microservices

Chris offers numerous other resources for learning the microservice architecture.

Get the book: Microservices Patterns

Read Chris Richardson's book:

Example microservices applications

Want to see an example? Check out Chris Richardson's example applications. See code

Virtual bootcamp: Distributed data patterns in a microservice architecture

My virtual bootcamp, distributed data patterns in a microservice architecture, is now open for enrollment!

It covers the key distributed data management patterns including Saga, API Composition, and CQRS.

It consists of video lectures, code labs, and a weekly ask-me-anything video conference repeated in multiple timezones.

The regular price is $395/person but use coupon NPXJKULI to sign up for $95 (valid until December 25th, 2024). There are deeper discounts for buying multiple seats.

Learn more

Learn how to create a service template and microservice chassis

Take a look at my Manning LiveProject that teaches you how to develop a service template and microservice chassis.

Signup for the newsletter


BUILD microservices

Ready to start using the microservice architecture?

Consulting services

Engage Chris to create a microservices adoption roadmap and help you define your microservice architecture,


The Eventuate platform

Use the Eventuate.io platform to tackle distributed data management challenges in your microservices architecture.

Eventuate is Chris's latest startup. It makes it easy to use the Saga pattern to manage transactions and the CQRS pattern to implement queries.


Join the microservices google group