We are happy to announce the general availability of AI-Assisted Development in Service Studio!



Link to video: https://www.youtube.com/embed/AOHH9PWhqbM

We took the EAP and the Public Beta feedback to improve this feature that boosts your productivity by guiding each next step when creating flows. This was made possible with hundreds of iterations and the latest research on machine learning applied to software code from our outsystems.ai team.

What is AI-Assisted Development all about?

  • You receive inline next step suggestions in any flow, anywhere in the flow – get guidance in web, mobile, BPT, service actions; you name it!

  • Between 1 and 6 suggestions – our AI assistant can assess each suggestion’s confidence level. If it’s high, it will show you just that one, and all you need to do is press enter to add it.

  • Suggestions specific to your business logic – this feature can deeply understand the context of what you’re developing and gives you suggestions specific to your business logic. As an example, it doesn’t tell you you need to call a Server Action and then present all possible options. It tells you what is the likely action you need, such as a specific CRUD wrapper to update an entity.

  • Attempts to auto-fill node properties – to make the experience as frictionless as possible and accelerate it, the right properties for the added nodes are inferred. This means that often-times, it will completely configure the node allowing to focus on the next step.

We listened to the feedback during the beta period and have added a few improvements since the public beta release, including adding a preference for enabling and disabling the assistant, improving suggestion accuracy and tuning the way the assistant is triggered when you want to select the connector.

If you were at NextStep, you already saw the latest capabilities live and learned about the secret sauce behind it. You can also learn more about it in our blog post about this feature.

To learn how to use AI-Assisted Development, check out the documentation.

Download the latest Service Studio and start getting AI-powered assistance now. But we’re not stopping here! We have a series of improvements in the pipeline for the upcoming Service Studio releases still during the fall, so stay tuned!

Great to hear this news. I am excited about this AI feature and can change the development to next level. Keep up the hard work. 

\o/ Great News! This is awesome! 

Nice !

Hi, 

I have downloaded the lastest version of Service Studio (11.6.13) and I don't see the AI assistant anywhere.

In edit->preferences it is enabled:

What else do I need to do so that it shows up in my flows? If I have two items linked and I point at the link, no AI shows in the middle, no suggestions, nothing.


Thanks in advance.

Amazing news guys! :)

I am on client site and I think they setup a meeting with the local OutSystems people here (South US) just to know about security, given that the AI feeds information to OutSystems to enhance the development pattern. They are just concerned that OutSystems may get more than the pattern but modules of the applications or even the application itself is being taken.

This client is a bank so I understand the concern. Just raising this thought to you guys as well. Either way, a very nice addition to Service Studio.

PS: I just remember this question on NextStep on the demo on this AI thing which is: What if the people you are working with are not good developers. Does that mean it will make Service Studio dumber instead? :D

Juan Carlos Elorde wrote:

I am on client site and I think they setup a meeting with the local OutSystems people here (South US) just to know about security, given that the AI feeds information to OutSystems to enhance the development pattern. They are just concerned that OutSystems may get more than the pattern but modules of the applications or even the application itself is being taken.

This client is a bank so I understand the concern. Just raising this thought to you guys as well. Either way, a very nice addition to Service Studio.

PS: I just remember this question on NextStep on the demo on this AI thing which is: What if the people you are working with are not good developers. Does that mean it will make Service Studio dumber instead? :D

Hi Juan,

Just to clarify, the AI assistant only receives and looks at that local flow pattern and associated direct dependencies -- i.e. not the modules or the application.


Regarding the P.S. we work to normalize and clean flows to promote good practices and we are always working on research to take this to the next level. It is indeed something we take into account so that Service Studio can be smarter, better, stronger!

Thank you for the feedback!

Ulises Amaya wrote:

Hi, 

I have downloaded the lastest version of Service Studio (11.6.13) and I don't see the AI assistant anywhere.

In edit->preferences it is enabled:

What else do I need to do so that it shows up in my flows? If I have two items linked and I point at the link, no AI shows in the middle, no suggestions, nothing.


Thanks in advance.

Hi Ulises, thank you for reaching out!

That shouldn't happen, unless there's a network problem – the AI assistant shuts itself off temporarily if it determines that it wouldn't be able to function reliably.

I'll reach out directly to you in a private message so we can follow up on this topic and get to the bottom of it!


Antonio Alegria wrote:

Juan Carlos Elorde wrote:

I am on client site and I think they setup a meeting with the local OutSystems people here (South US) just to know about security, given that the AI feeds information to OutSystems to enhance the development pattern. They are just concerned that OutSystems may get more than the pattern but modules of the applications or even the application itself is being taken.

This client is a bank so I understand the concern. Just raising this thought to you guys as well. Either way, a very nice addition to Service Studio.

PS: I just remember this question on NextStep on the demo on this AI thing which is: What if the people you are working with are not good developers. Does that mean it will make Service Studio dumber instead? :D

Hi Juan,

Just to clarify, the AI assistant only receives and looks at that local flow pattern and associated direct dependencies -- i.e. not the modules or the application.


Regarding the P.S. we work to normalize and clean flows to promote good practices and we are always working on research to take this to the next level. It is indeed something we take into account so that Service Studio can be smarter, better, stronger!

Thank you for the feedback!

Hi Antonio,

The client peer who just had that meeting went to me that the statistics or patterns are taken from personal environment instances and you then refine them to be good practices just like you mentioned here. What I didn't get from what he said when I asked about the personal environment thing.

Well, most users of the personal environment are the ones who are new to OS and a few experienced ones just to test out functionalities (correct me if I am wrong). This will only mean that most patterns that will come out of this are basic instead of getting good patterns from experts.

Sorry if my earlier post versus this reply  is contradicting. Both have pros and cons. Security issue getting patterns from expert environments versus basic patterns from personal environments.

Regards,

JC


Hi Antonio Alegria,

It is amazing!

But can you tell me why it need internet connection for working?

Is it safe to use?

Regards.

Hi Huyen IT,

I'm guessing that, like most other assistants (Siri, Google Assistant, Alexa, etc) the OutSystems assistant stuff is not running directly on your machine, but relies on OutSystems.ai services in the cloud.

Thanks Jorge Martins,

Does that mean my project information (Business logic...) can be suggested to others, to everyone in the future?

Huyen IT,

I'll let Antonio or anyone working on OutSystems AI assisted development feature to address your concerns, but:

  • As stated above, it seems OutSystems.AI looks only at local action flows (not the entire application or even just a complete module):
    "Just to clarify, the AI assistant only receives and looks at that local flow pattern and associated direct dependencies -- i.e. not the modules or the application."
  • OutSystems.AI is based on machine learning, a specific piece of business logic won't be any good for anyone else unless the same pattern is so common among developers that it emerges as a meaningful development pattern.
  • Juan Carlos points out that OutSystems.AI is being fed patterns from Personal Environments only. If this information is accurate, it means the AI agent is not learning from your project, but analysing it and identifying patterns learnt from other sources that are most likely to be relevant to what you are doing.

Thanks Jorge for the very helpful answer.

>>"...unless the same pattern is so common among developers that it emerges as a meaningful development pattern."

>>"...identifying patterns learned from other sources..."

It is exactly my worry but maybe it will be fine.


Huyen IT wrote:

Thanks Jorge for the very helpful answer.

>>"...unless the same pattern is so common among developers that it emerges as a meaningful development pattern."

IF your code was being used to identify common patterns (and from previous posts it seems only Personal Environments are being analysed):

  • it would only crystallise into a "common pattern" if it was very common among all the code analysed overall (I find it very unlikely that YOUR usage alone - or that of your colleagues - would trigger the AI agent to identify the flow as a "common pattern"), and
  • would still pass through the watching eyes of people that would tweak it further.

I don't think making these common patterns available to all would jeopardise or put at risk any intellectual property you might hold.

This is obviously a lot of extrapolation so we better wait for António to shed some light here.

>>"...identifying patterns learned from other sources..."

The idea is the AI agent analyses your code and determines if there are already well-identified patterns it knows about that it can use in your context to provide suggestions that would help you be faster at what you need to do. 

It is exactly my worry but maybe it will be fine.

Patterns suggested by OutSystems.AI are learnt from a corpus of anonymised code snippets (according to articles and blog posts from the original post) and then matched with your needs based on contextual analysis, what exactly worries you here?

Thanks Jorge,

Suppose when other companies have about 1000 modules, my company has 1 million modules,

AI will notice that my company's logic is heavily used, accounting for a large percentage,

and it will common those processes,

>> AI will learn from my project and use it elsewhere ???


For the development community, the OutSystems.AI and the future, that's a good thing.

But depending on the project, depending on the company will have different privacy policies...

(In fact, there are many projects, developed in an environment without network connection)


Thank you Huyen for the questions and being engaged and Jorge for the great responses!

Jorge did a great job explaining why we need an internet connection, and that is because the Intelligence, which is continuously evolving, is hosted in a service in the cloud. You can opt-out of any of this kind of communication, though you will lose the feature.


We are always very concerned with data privacy and intellectual property protection so we always work on top of anonymized and normalized data, and we focus on big general patterns that surface across many instances.

Our algorithms learn from a diverse set of anonymized and normalized action flow patterns that are extracted securely from real-world code (not just Personal Editions) -- this means that:

a) we scrub these patterns for any identifying data or any business specific information.
b) we normalize patterns to remove specific variations, duplicates, bad patterns, etc.


The way we anonymize and normalize the data, paired with the fact that the algorithms attempt to learn general purpose patterns, means that things that are very specific to one factory will not be learned and suggested to others (and neither to you and your colleagues).

Interestingly, we have received a lot of interest in having the Assistant learn patterns specific to your factory, possibly groomed by the architect to enforce some specific best practices. When we eventually support this, it would be based on a more local, federated learning -- i.e. learn your patterns to suggest them to you only. This would then be specific intelligence for you and your company, built on top of the more general-purpose intelligence.


I recommend you watch our NextStep talk where we approach some of this.

Furthermore, if you are interested, you can also refer to the OutSystems Master Subscription Agreement (e.g. clauses 11.4 and 11.5) and the Data Protection Agreement, as well as all of the top data security certifications and regulations we are compliant with. See https://www.outsystems.com/trust for all the details on our commitment to Data Security and Privacy.


Hope this helps clarify some of your concerns.


Thanks Antonio for the very helpful answer. I got it, that's great.

Regards.