Earlier quoted context omitted.
Lock in.
What lock in? I use their AI SDK, but never touch vercel servers. It's just a unified interface.
Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
131–140 of 159 posts
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#132The example from the landing page does not exactly spark joy: testWorkflow .step(llm) .then(decider) .then(agentOne) .then(workflow) .after(decider) .then(agentTwo) .then(workflow) .commit(); On a first glance, this looks like a very awkward way to represent the graph from the picture. And this is just a simple "workflow" (the structure of the graph does not depend on the results of the execution), not an agent.
Thanks! The conditional `when` clauses live on the steps, rather than being represented in the workflow, and in fact when we built this for an example, the last step being called depended on the results of the previous two steps. How would you simplify this?
It's telling that the example relies on arbitrary indentation (which a linter will get rid of) to have some hope of comprehending it
Possibly this was all motivated by a desire to avoid nested structures above all?
But for a branching graph a nested structure is more natural. It'd also probably be nicer if the methods were on the task nodes instead of on the workflow, then you could avoid the 'step'/'then' distinction and have something like:
e.g.
testWorkflow(
llm
.then(decider)
.then(
agentOne.then(workflow),
agentTwo.then(workflow),
)
)Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#133Earlier quoted context omitted.
> good concurrency story like Elixir make much more sense Agree, that's why I've been building this: https://github.com/agentjido/jido
Call me an elixir virgin until 5 minutes ago. This language from a quick glance seems perfect for agent orchestration. Project looks great, will follow & learn.
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#134The example from the landing page does not exactly spark joy: testWorkflow .step(llm) .then(decider) .then(agentOne) .then(workflow) .after(decider) .then(agentTwo) .then(workflow) .commit(); On a first glance, this looks like a very awkward way to represent the graph from the picture. And this is just a simple "workflow" (the structure of the graph does not depend on the results of the execution), not an agent.
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#135The example from the landing page does not exactly spark joy: testWorkflow .step(llm) .then(decider) .then(agentOne) .then(workflow) .after(decider) .then(agentTwo) .then(workflow) .commit(); On a first glance, this looks like a very awkward way to represent the graph from the picture. And this is just a simple "workflow" (the structure of the graph does not depend on the results of the execution), not an agent.
Here’s how it would look like in my system:
new Flow()
.step("llm", llmStepHandler)
.step("decider", ["llm"], deciderStepHandler)
.step("agentOne", ["decider"], agentOneStepHandler)
.step("agentTwo", ["decider"], agentTwoStepHandler)
.step("workflow", ["agentOne", "agentTwo"], workflowStepHandler);
Mine is a DAG, so more constrained than the cyclic graph Mastra supports (if I understand correctly).Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#136The example from the landing page does not exactly spark joy: testWorkflow .step(llm) .then(decider) .then(agentOne) .then(workflow) .after(decider) .then(agentTwo) .then(workflow) .commit(); On a first glance, this looks like a very awkward way to represent the graph from the picture. And this is just a simple "workflow" (the structure of the graph does not depend on the results of the execution), not an agent.
Thanks! The conditional `when` clauses live on the steps, rather than being represented in the workflow, and in fact when we built this for an example, the last step being called depended on the results of the previous two steps. How would you simplify this?
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#137A TypeScript first AI framework is something that has been missing. How do you work with AI SDK?
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#138The example from the landing page does not exactly spark joy: testWorkflow .step(llm) .then(decider) .then(agentOne) .then(workflow) .after(decider) .then(agentTwo) .then(workflow) .commit(); On a first glance, this looks like a very awkward way to represent the graph from the picture. And this is just a simple "workflow" (the structure of the graph does not depend on the results of the execution), not an agent.
I built my own TypeScript AI platform https://typedai.dev with an extensive feature list where I've kept iterating on what I find the most ergonomic way to develop, using standard constructs as much as possible. I've coded enough Java streams, RxJS chains, and JavaScript callbacks and Promise chains to know what kind of code I like to read and debug.
I was having a peek at xstate but after I came across https://docs.dbos.dev/ here recently I'm pretty sure that's that path I'll go down for durable execution to keep building everything with a simple programming model.
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#139By the developers of Gatsby is a minus, not a plus makes me think this is going to be the next abandonware.
The character Gatsby didn't function very well either (as far as being a successful person goes, I quite liked the book and he functioned well as a character) :) However, the Gatsby CMS had a couple of things that were really interesting about it - especially runtime type safety through GraphQL and doing headless WordPress.
Re: Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
#140Any timeline for python?