Ola Muse (@ola_ose) 's Twitter Profile
Ola Muse

@ola_ose

CEO and Co-Founder langtrace.ai | LLM Ops, Open Telemetry, Deep LLM Tracing and Insights Observability for AI Agents and Applications

ID: 997180629367242752

linkhttps://www.linkedin.com/in/ola-muse-aab6764/ calendar_today17-05-2018 18:22:43

439 Tweet

593 Takipçi

1,1K Takip Edilen

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

In the process of building Zest, we went into the rabbit hole of solving the “search sucks in slack” problem and exposed those abstractions to the bot. This prewarms the models context with the most relevant messages across all the channels for the user so it can respond intantly

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Most Agent <-> Slack integrations suck. We had to build a bunch of infra to make building and running agents on Slack feel native. The agents we run on Slack - can stream back messages - can provide status updates using native slack status bar - is stateful and has deep context

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Slack is an incredible product surface for building agents. We have built a pretty powerful platform that lets you create and deploy agents as Slack bots in under 2 minutes. As soon as they are installed, they instantly know everything about what's happening in your Slack that is

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Behind the elegant and seemingly simple looking 'use workflow' and 'use step' directives of the new workflow development kit from Vercel lies a bunch of compiler engineering. I was curious and decided to dive deeper into the open source code. Buckle up and read this post if you

Behind the elegant and seemingly simple looking 'use workflow' and 'use step' directives of the new workflow development kit from <a href="/vercel/">Vercel</a> lies a bunch of compiler engineering. I was curious and decided to dive deeper into the open source code. Buckle up and read this post if you
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

The Compilation Plugin Let's start with the compilation process. The workflow development kit uses SWC Plugin with a visitor pattern for source code transformation. Before I go further, what is SWC? SWC expands to Speedy Web Compiler which is primarily used for transpiling,

The Compilation Plugin

Let's start with the compilation process. The workflow development kit uses SWC Plugin with a visitor pattern for source code transformation. Before I go further, what is SWC?

SWC expands to Speedy Web Compiler which is primarily used for transpiling,
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

So what does the compiler plugin do with these directives? The compiler plugin operates in 3 modes to compile and transform the code for 3 separate scenarios: 1. Step mode: In this mode, step directives are removed, the function body is kept intact for actual execution, and the

So what does the compiler plugin do with these directives?

The compiler plugin operates in 3 modes to compile and transform the code for 3 separate scenarios:

1. Step mode: In this mode, step directives are removed, the function body is kept intact for actual execution, and the
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

But, lets take a step back. Why directives and why do all this complex compilation? Developer Experience! While its a debated topic at the moment, building workflows with durable steps without needing to learn any new language semantics and by simply including a 'use workflow'

But, lets take a step back. Why directives and why do all this complex compilation?

Developer Experience! While its a debated topic at the moment, building workflows with durable steps without needing to learn any new language semantics and by simply including a 'use workflow'
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

The World Interface Now, lets take a step back and understand how the workflow code we write does not know or care about WHERE the data is stored and HOW queues work. This is where the "World" interface comes into the picture. The world interface defines the different

The World Interface

Now, lets take a step back and understand how the workflow code we write does not know or care about WHERE the data is stored and HOW queues work. This is where the "World" interface comes into the picture. 

The world interface defines the different
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

The runtime uses a singleton pattern to inject a world as a dependency. If the workflow code is deployed to Vercel, it uses the target world as vercel and vercel automatically brings it's set of components behind the scenes. If you are running it locally, it uses the 'embedded'

The runtime uses a singleton pattern to inject a world as a dependency. If the workflow code is deployed to Vercel, it uses the target world as vercel and vercel automatically brings it's set of components behind the scenes. If you are running it locally, it uses the 'embedded'
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Sleep Some interesting observations with the implementation of the Sleep() function. await sleep("3d"); What's interesting here is that, the sleep function itself is a durable step with a 'use step' directive. But, one minor issue can be observed here: There is

Sleep

Some interesting observations with the implementation of the Sleep() function.

await sleep("3d");

What's interesting here is that, the sleep function itself is a durable step with a 'use step' directive.

But, one minor issue can be observed here: 

There is
Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Additional Notes 1. Directive typos The SWC plugin handles typos in directives with an edit distance <= 1 - meaning, if you write 'use setp' instead of 'use step', it will through a compilation error asking if you meant 'use step'. It can handles substitution ('use setp'),

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Finally, I thoroughly enjoyed diving deeper into the open source code base of this workflow development kit. Kudos to the Vercel team - Guillermo Rauch, Malte Ubl and all for shipping this. If my understanding of any of this is factually incorrect, feel free to correct me in the

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

Introducing: MCP code execution mode for MCP tools in ctx-zip - a token efficient way to run tool call loops by generating a file tree of all available tools from connected MCP servers. This file tree is automatically created in a sandbox environment with tools(such as ls, cat

Introducing: MCP code execution mode for MCP tools in ctx-zip - a token efficient way to run tool call loops by generating a file tree of all available tools from connected MCP servers. 

This file tree is automatically created in a sandbox environment with tools(such as ls, cat
Jay Thakrar (@jaythakrar) 's Twitter Profile Photo

Excited to introduce Zest (built by Langtrace.ai)! Zest is the fastest platform to launch AI agents as virtual teammates in Slack. Zest connects to all your 3rd party apps, including Linear, Notion, HubSpot, Google Workspace, and more. As a result, agents built on

Karthik Kalyanaraman (@karthikkalyan90) 's Twitter Profile Photo

🔥Ok, so we have built the fastest observability dashboard that is: - private - stores all the traces natively on your browser - can ingest close to half a million spans and still load smoothly - can be queried and filtered using SQL - session links are shareable for

Four Head Game on SUI Blockchain Ecosystem (@fourheadgame) 's Twitter Profile Photo

Momentum doesn’t wait. • Live gameplay • Real players winning • SUI staked, Points stacking • Creators onboarding, networks growing This is an ecosystem in motion. Play smart. Build early. Move now.🏂