Conversation
|
judging by all the red above ill have to sort the yml... |
| @@ -0,0 +1,131 @@ | |||
| import React, { useEffect, useState } from 'react'; | |||
There was a problem hiding this comment.
Just a typo in file name ;)
frontend/src/components/agentStream.tsx
eumemic
left a comment
There was a problem hiding this comment.
Thanks! This mostly looks good but I think there's some unnecessary changes included here.
| ecmaFeatures: { | ||
| jsx: true, | ||
| }, |
There was a problem hiding this comment.
We don't need this any more since you moved the actual frontend code out, right?
| ecmaFeatures: { | |
| jsx: true, | |
| }, |
There was a problem hiding this comment.
yep leftt over will remove
|
|
||
| jobs: | ||
| build: | ||
| build_agent_controller: |
There was a problem hiding this comment.
Can we revert this?
| build_agent_controller: | |
| build: |
| node-version: [14.x, 16.x, 18.x] | ||
| node-version: [16.x, 18.x] |
There was a problem hiding this comment.
Curious why node 14 is no longer supported?
There was a problem hiding this comment.
wasnt building in CI/CD due to my machine creating a newer version of lockfile?
|
|
||
| - name: Install dependencies | ||
| run: npm ci | ||
| run: npm i |
|
|
||
| ``` | ||
| npm run start [# of agents] [gpt-3.5-turbo|gpt-4] | ||
| npm run start agents=[# of agents] model=[gpt-3.5-turbo|gpt-4] test=[true|false] |
There was a problem hiding this comment.
This seems like the only change in this file that's relevant to this PR, can we revert the rest? In particular I don't understand why you removed the part at the top with the discord link or the action errors section.
There was a problem hiding this comment.
Ahh shite - that was unintentional - I had split our the readme to the parent readme for the rpo - which contained all the info like the disord linked and it had two links to the backend readme and the frontend readme. This was just the backend readme. It needs to be reintegrated with the monorepo readme
| if (test) { | ||
| generateObjectEveryTwoSeconds(); | ||
| } |
There was a problem hiding this comment.
Something about this leaves a bad taste in my mouth. I'd rather not have the core code responsible for generating test data based on a CLI parameter. Rather, it would be better if we could stand up a normal server and then have an external test script pump in fake data if we want to run tests.
There was a problem hiding this comment.
im ok with this, this was a quick and easy process to help build the FE without a mock data server running. Will remove
| ### Agent state | ||
|
|
||
| Each agent stores its state under the `.store` directory. Agent 1, for example has | ||
|
|
||
| ``` | ||
| .store/1/memory | ||
| .store/1/goals | ||
| .store/1/notes | ||
| ``` | ||
|
|
||
| You can simply delete any of these things, or the whole agent folder (or the whole `.store`) to selectively wipe whatever state you want between runs. Otherwise agents will pick up where you left off on restart. | ||
|
|
||
| A nice aspect of this is that when you want to debug a problem you ran into with a particular agent, you can delete the events in their memory subsequent to the point where the problem occurred, make changes to the code, and restart them to effectively replay that moment until you've fixed the bug. You can also ask an agent to implement a feature, and once they've done so you can restart, tell them that you've loaded the feature and ask them to try it out. | ||
|
|
There was a problem hiding this comment.
Somehow this duplicate content got added to the top of the README now.
| ### Agent state | |
| Each agent stores its state under the `.store` directory. Agent 1, for example has | |
| ``` | |
| .store/1/memory | |
| .store/1/goals | |
| .store/1/notes | |
| ``` | |
| You can simply delete any of these things, or the whole agent folder (or the whole `.store`) to selectively wipe whatever state you want between runs. Otherwise agents will pick up where you left off on restart. | |
| A nice aspect of this is that when you want to debug a problem you ran into with a particular agent, you can delete the events in their memory subsequent to the point where the problem occurred, make changes to the code, and restart them to effectively replay that moment until you've fixed the bug. You can also ask an agent to implement a feature, and once they've done so you can restart, tell them that you've loaded the feature and ask them to try it out. |
| const t0 = Date.now(); | ||
| this.messageBus.send( | ||
| messageBuilder.agentToAgent( | ||
| this.id, | ||
| [AGENT_ID], | ||
| `Reflecting on ${events.length} events...` | ||
| ) | ||
| ); | ||
|
|
||
| const actionText = await makeDecision(events); | ||
|
|
||
| this.messageBus.send( | ||
| messageBuilder.agentToAgent( | ||
| this.id, | ||
| [AGENT_ID], | ||
| `Arrived at a decision after ${((Date.now() - t0) / 1000).toFixed( | ||
| 1 | ||
| )}s \n\n ${actionText}` | ||
| ) | ||
| ); | ||
|
|
There was a problem hiding this comment.
I don't think we need to send these as messages to the control agent. If the user is interested in when the agent is thinking they will presumably be using your UI to monitor it.
Ready for merge will be merging this locally with my dev branch and start a new branch to add a control bar with buttons etc for things like: stop/start agent, add ability to clikc an agent and send message to that agent etc