mind-co / comind

think something
https://www.comind.me/
MIT License
6 stars 0 forks source link

New comind creation #35

Open akhilrao opened 4 months ago

akhilrao commented 4 months ago

Following tinkering chat with @cpfiffer

We want some new comind invocations. Fun lil robos that go around doing things. Some should be auto-invoked by time triggers (e.g., {good-morning} may think "good morning , it's a great day to think!" at 8 am for ) or environment triggers (e.g., {threadreader} may think a summary of a sequence of thoughts that if it hasn't been updated in a little while). Others will be invoked by a user with some "params" getting passed via the user's invocation.

Examples of new invocations/actions:

akhilrao commented 4 months ago

{question} would be nice paired with {answer}, a comind with similar structure but instead takes in input and questions to generate answers. The questions don't have to be from {question}, could be from other thoughts. But there could also be a {question}-{answer} flow where they both get the same user input.

To customize responses to users, it would be helpful to have some sort of comind that assesses/reshapes other cominds' thoughts to be "more pleasing" to the user posing the request. Not sure what this one would be called or how this would work yet.

cpfiffer commented 4 months ago

I like the invocations for {question} and {answer} as general tools.

Ideally, we would run these for almost every new thought. There should be kind of a "flowering" of new thoughts that are generated whenever you post anything.

Some of the new thoughts that are generated by language models should probably be marked private. Private thoughts here would never be used for the user when generating some reason such, but the language model has access to a private knowledge graph that includes the results from question prompts and answer results.

For the answer prompt, we would flag the end result as being public or directly sharing it with the user in a private setting. Then we benefit from having explicit chain of thought reasoning all inside of the framework of comind, but only expose things to the user that it's relevant for them to see.

General purpose tools

In general having a set of very simple verbs like question and answer is probably the direction that we want to go. A user should be able to specify a rough program of language that accomplishes some arbitrary language task.

Musings:

Each of these could call any other, and we can specify arbitrary control flows for them that handle possibly a very complex series of natural language tasks.

cpfiffer commented 4 months ago

In part, all this stuff is what colang is for. Colang is intended to provide a series of language operations in the form of composable functions.