Writing
Notes and comparisons on building AI systems, linked to the tools they discuss.
Sort: Recently updated
Tutorials
Build something runnable, step by step
· Doc version 1.0
The code-sandbox agent, no LangChain — LiteLLM + LangGraph wired by hand
The same code-sandbox agent, rebuilt without LangChain. A hand-written tool schema and explicit StateGraph wiring, with just two dependencies: LiteLLM and LangGraph.
· Doc version 1.0
Building a code-sandbox agent: model-written code in Docker
Running model-written code straight on the host is risky.
We build a LangGraph agent with one run_python tool that pens the code into a throwaway Docker container.
· Doc version 1.0
Building a web-scraping agent: a docs page to Markdown
A model can't see past a link. We build a LangGraph agent with a single Firecrawl scrape tool to fetch a page as Markdown and read it.
· Doc version 1.0
Building a web-search agent: asking today's FX rate
"Today's FX rate?" is something a model can't answer alone. We build a LangGraph agent with a single Tavily web-search tool to see how a tool bridges past the training cutoff.
Comparisons
Weigh similar tools and how to choose between them
· Doc version 1.0
Dropping LangChain — LiteLLM + LangGraph wired by hand vs create_agent
Every tutorial agent builds its loop with one create_agent line. We peel back the three layers that line hides, then wire the same loop with just LiteLLM and LangGraph — no LangChain.
· Doc version 1.0
Langfuse vs LangSmith: choosing an LLM observability stack
Both trace, evaluate, and monitor LLM agents — but they differ on hosting, openness, and ecosystem. Here's how to choose.