Ecogy’s Ecosuite EcoSuite AI tools are in the infancy right now, but with our Steve the Pirate story we are creating the ability for Ecosuite 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
Code Block 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: 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.
...
+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 theRaw Data
tab in theData
module.+developer
– Has API access to allecogyenergy
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.
...
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.