EcoSuite AI (Artificial Intelligence)

Ecogy’s EcoSuite AI tools are in the infancy right now, but with our Steve the Pirate story we are creating the ability for EcoSuite AIs to be instantiated for specific purposes with a tailored base of Ecogy application specific knowledge built in. This page will document how the user can make use of this functionality and how we can tailor and improve these Ecogy AI capabilities over time.

LLM Basics

Steve is based on the very bleeding edge of machine learning technology, using an approach called a Large Language Model (“LLMs”). LLMs are trained on a massive corpus of data - functionally, the entire internet. LLMs function on tokens, where a token can be thought of as a simple English word, or a fragment of a larger word. The type of LLM that Steve uses predicts the next series of tokens, given a set of previous tokens.

These previous tokens, in aggregate, is called the prompt. The prompt contains instructions to the LLM, and any data that we want to provide Steve with. At the time of writing, Steve uses Anthropic’s Claude 2.0 model, which has a context length of 100,000 tokens. In practical terms, this means that in addition to its base training (i.e. global data mostly downloaded from the Internet) Steve also knows about 100,000 short English words worth of Ecogy specific stuff which it references when interacting with users.

Using Steve

Steve can be invited to a Google meeting through two different methods:

  • Directly invited through the Google meeting interface, through his email address. Simply invite

    steveAI+[personality]@ecogyenergy.com
  • Indirectly, by adding Steve as a participant of an upcoming meeting on Google Calendar.

Educated Guesses

Steve can be hesitant to provide you with incorrect information. Consider the following conversation:

Thomas Passmore: Why is MA1's site named ANNE?


Steve AI: Unfortunately I don't have any specific details on why the MA1 site is named ANNE.
I don't have insight into how Ecogy Energy chooses site names for its projects.
Please let me know if there's anything else I can help explain about those project
sites though!

… Okay, but there is an obvious answer that Steve is missing. One approach to solve issues like these is to allow him to make educated guesses:

Thomas Passmore: Feel free to make an educated guess after looking up the project information

 

Steve AI: One moment Thomas, let me fetch the details for project MA1 and see if I can make an educated guess about why the site is called ANNE.


After looking up the details for project MA1, my guess is that the site is named ANNE because it is located on Annette Rd in Foxborough, MA. The site name itself is Annette, so it seems they likely named the site ANNE as an abbreviation for the street name Annette Rd where the site is located. Please let me know if this makes sense or if you need any clarification on why they may have chosen that name!

Personalities

When inviting Steve to a meeting, you should provide a personality after the '+' in his email address. This personality specifier determines the type of information Steve has access to, and his approach to answering questions.

For example, if you invite the following address to your meeting:

steveAI+dealapproval@ecogyenergy.com

.. Steve will have access to all previous deal approval meeting notes to assist him.

In addition, Steve will consider the past conversations that he has had with people in meetings. More specifically, the deal approval personality will remember all conversations that deal approval Steve has been party to.

Supported personalities:

  • +dealapproval – Trained on the history of deal approval meeting notes, and has access to general Ecogy data related to projects. For an impression on the type of data available, see the Raw Data tab in the Data module.

  • +developer – Has API access to all ecogyenergy github repositories. For example, can be asked about open pull requests, patches, and commits (intended to be used by the software development team, and yes we will likely rename this personality so that it is +software rather than +developer to avoid confusion!).

Gotchas

Hallucinations

Since Steve is based on an LLM, he is, at the same time, seemingly magical and frustrating. He is capable, in the same meeting, of deep insights and hallucinations. ‘Hallucinations’, in the context of LLMs, is a jargon which refers to fabrications that LLMs invent in their responses.

If you are asking questions which Steve can reasonably answer given his data, his responses will be generally high quality. If you ask him questions he cannot reasonably answer, he may make up the answer in his response.

Gullible

Steve is, for lack of a better word, gullible. If you tell him that something is true, or that he should do it, he will probably do it.

As part of Steve’s prompt, he writes down his internal monologue before answering your questions. This is useful for solving issues with Steve, since we have some insight to where his thinking goes wrong. Therefore, it’s not mere personification when I give the following example.

In one conversation, I asked Steve to give me some information. He obliged, and I thanked him. His inner monologue, after receiving my thank-you message, was something like:

Inner Monologue: Thomas asked me for some information, which I provided him. He then thanked me. Since his message did not contain a question, no response is necessary.

This was not the correct behavior, so I told Steve that he should say something like ‘you’re welcome'. By reminding him of this, he has become more polite. Each time he responds with ‘you’re welcome', he is more likely to repeat this action in subsequent conversations.

This example is illustrative of the fact that he is still, in a sense, learning from conversations. Be careful not to teach him to act in a rude or incorrect way.

Improving Steve

The best way to improve Steve is to interact with him. If you encounter situations where Steve seems to misbehave, or produce blatantly incorrect results, record the conversation and send a message to the development team on Slack.