calcsam.bsky.social
spice distributor. prev cofounder @gatsbyjs. now building mastra.ai
71 posts
240 followers
351 following
Getting Started
Active Commenter
comment in response to
post
one more thing
some people think this is how you keep score (?)
it's not why we're building this, but definitely a morale boost
and a reminder for all of us that great things take time
comment in response to
post
made a gametime decision that since we had the spotlight
we may as well cut the beta
x.com/calcsam/sta...
comment in response to
post
ofc folks also found the parts that didn't work quite right
unclear docs, meh apis, weird ui artifacts
our linear project is full of papercuts
so this sprint we're sanding all the rough edges
comment in response to
post
the first thing we saw was lots of excited devs
people loved mastra's agent playground, the workflow api, the dev environment
comment in response to
post
Full blog post: mastra.ai/blog/solvin...
comment in response to
post
As an example, our workflow graph API has three main methods, .step() for branching, .then() for chaining, and .after() for merging.
Every time we show it to someone building with AI, they immediately nod along. The control flow is apparent and intuitive.
comment in response to
post
Even better, I can do this collaboratively on a screenshare with an engineer, so they can themselves learn the process and begin to develop better taste for APIs
comment in response to
post
And that was incredibly difficult....until LLMs
Now, I can describe the parameters of an API problem to Claude -- on web or in Cursor -- and ask it for help.
It can access all the underlying code. It will propose five or six plausible approaches.
comment in response to
post
One of the main reasons Next.js beat Gatsby was that @kylemathews and I struggled to articulate our taste around APIs in a way that was legible to others, as well as meaningfully review APIs others proposed.
comment in response to
post
Left to their own devices even great engineers tend to ship overly verbose API names, create overly large options dictionaries, and overload methods in unintuitive ways.
comment in response to
post
Class and function names and parameters need to be immediately intuitive
Should a variable be a function parameter or part of an options object?
Can you set configdefaults on a class but override them on a particular invocation?
Do you want descriptive or evocative apis?
comment in response to
post
so @mastra_ai is an open source typescript agent framework
when you’re building a framework, you need to do a lot of API design, specifically the nouns and verbs your users use.
comment in response to
post
please share what you build!
comment in response to
post
if you're comfortable in JS you could try mastra.ai
comment in response to
post
Have you tried Mastra? github.com/mastra-ai/ma...
comment in response to
post
We are building Mastra for that: github.com/mastra-ai/ma...
comment in response to
post
thanks @libsqlhq @tursodatabase
comment in response to
post
If you're interested in multi-agent orchestration, take a look at the code: github.com/mastra-ai/m...
And the deployed app: mastra-eight.vercel.app/
comment in response to
post
It passes the data into another agent that validates it and formats it for the user, again using a Zod schema:
comment in response to
post
In order to get the agent to perform well, we needed to write rather exhaustive instructions:
comment in response to
post
Tools take in defined input schemas using Zod and can call external APIs while maintaining strict typing.
comment in response to
post
The first agent has detailed instructions and access to a set of tools. It generates a set of possibilities using tools provided and ranks them according to the user's preferences.
It can call the tools in whatever order it needs.
comment in response to
post
nice! if helpful
github.com/mastra-ai/ma...
comment in response to
post
we're building this into mastra, why?
comment in response to
post
it's a 🔥🔥🔥 getting started experience for the next million AI devs
comment in response to
post
also: first bits of a new `mastra init` are working.
you can decide which top level objects of mastra (agents, workflows, tools) you want to start with.
you can decide whether you want example code included. or more bare.
you can do it interactively or with cli flags.
comment in response to
post
anyway we're working on this so please tell us why our abstractions are wrong and we are bad people
github.com/mastra-ai/ma...
comment in response to
post
terraform and kubernetes otoh are foxes with deep models of many types of external resources
comment in response to
post
react circa 2014-2016 was this hedgehog with One Big Idea (componentization)
comment in response to
post
these sort of GET requests between agents on different teams are gonna be the AI equivalent of Slack DMs
comment in response to
post
which means the balance of agent coordination will likely happen on HTTP over REST
comment in response to
post
we're also skeptical that a single agent framework instance will directly coordinate more than a two pizza team
comment in response to
post
it gives you nice logging on severless clouds, makes them easy to deploy, and easy to figure out if anything weird is going on
comment in response to
post
...but my toolchain helps me speedrun those steps so i get to the right answer much faster in wall clock time
comment in response to
post
the way my brain works i *need* to go through all the steps to arrive at the optimal solution...
comment in response to
post
if you asked me why i love api design with claude so much it's probably that claude is helping me think more clearly
comment in response to
post
saw this and it *immediately* felt right. except it still needs flags for the non-interactive flow. and instead of top-level project name we need directory location. so told claude that.
et voila:
comment in response to
post
i asked claude to rethink this using create-next-app which has a really good scaffolding experience. he (?) came back with a nice interactive flow:
comment in response to
post
this is a pretty mediocre design tbh and when claude wrote the spec out it was quickly clear there would be way too many flags
comment in response to
post
so i used @superwhisper to dictate my frankly pretty half baked thoughts to claude / cursor using the mastra repo as context
comment in response to
post
example: we needed an upgraded `mastra init` command that scaffolds the different objects in the system
comment in response to
post
3) Contributing stuff: discord, contributing guide, code of conduct. also the first couple community PRs.
be excellent to each other!
4) better docs on workflows, rag, cli, alternative providers