Editorial architecture diagram of Relay with a coordinator, five domain agents, safeguards, browser delivery, and audit boundaries

Relay Agent Architecture in 2026: A Local Implementation Audit

An architecture diagram is a promise. A code audit asks which parts of that promise have acquired weight. My first version of this article treated Relay as a public open-source proposal whose Agent layer had not yet been built. Both claims are now wrong. As of July 31, 2026, the public GitHub URL previously cited by this article returns 404, while I can inspect a private local checkout. This piece is therefore a private/local implementation audit, fixed to local commit 22586e17ccd43cfaff0512511e71a100c5341608. Readers should not assume that repository or commit is publicly downloadable. ...

June 24, 2026 · 11 min · 2298 words · Xinwei Xiong, Me
A red, green, and blue testing loop surrounding an AI system

Test-Driven Development for AI and LLM Applications: A Practical 2026 Guide

Test-driven development is easy to explain when the function under test adds two numbers. Write a failing test, make it pass, then improve the implementation without changing its behavior. The difficulty begins when the function calls a language model and five different answers may all be acceptable. That does not make TDD obsolete. It means the word test has to become more precise. For an AI application, I use TDD as a discipline for discovering contracts. Some contracts are exact: a parser must reject malformed JSON, an authorization check must not leak another tenant’s data, and a tool call must match its schema. Other contracts are statistical: a support assistant should resolve most routine cases, cite the supplied policy, and rarely invent a refund rule. The first group belongs in ordinary tests. The second belongs in evaluations and monitoring. ...

April 21, 2025 · 16 min · 3402 words · Xinwei Xiong, Me
Documents flowing through a measured conversion pipeline into structured Markdown

Microsoft MarkItDown 0.1.6: A Practical Document-to-Markdown Guide

A document converter is a bridge, not a source of truth. The important question is not whether the output looks clean at first glance, but whether the bridge preserves the evidence your next system needs. MarkItDown is easy to demonstrate: install a package, pass it a file, receive Markdown. The difficult work begins one minute later. A PDF may contain selectable text, scanned pages, diagrams, tables, or all four. A slide deck may hide essential numbers inside screenshots. A spreadsheet may be understandable only through formulas, merged cells, and spatial relationships. No single conversion mode handles every case equally well. ...

April 21, 2025 · 15 min · 3073 words · Xinwei Xiong, Me
A checkpointed LangGraph StateGraph with recovery paths

LangGraph Architecture in 2026: StateGraph, Persistence, and Recovery

This project is an ongoing journey — learning AI open source projects with steady, daily progress. Through hands-on work with real projects and AI tooling, the goal is to develop the ability to solve complex problems and document the process. Notion List Basic Information: Project Name: LangGraph GitHub URL: langchain-ai/langgraph Main Tech Stack: Python, JavaScript/TypeScript, LangChain, LangSmith, checkpoint stores, LLM providers 1. What LangGraph Actually Solves LangGraph is the low-level orchestration framework and runtime in the LangChain ecosystem. It is useful when an agent must retain typed state, branch or loop, pause for a person, survive a process failure, or expose each transition to tracing and tests. You can use LangGraph without using LangChain’s model abstractions. ...

April 19, 2025 · 7 min · 1348 words · Xinwei Xiong, Me
A restrained editorial illustration of connected paths representing models, agents, and graph workflows

LangChain 1.x in Production: Choosing Models, Agents, and LangGraph

LangChain used to be introduced as a box of chains, memory classes, prompt templates, loaders, and integrations. That description is historically accurate and operationally unhelpful. As of July 2026, the useful way to understand LangChain 1.x is much narrower: Call a model directly when the task is one inference with a clear input and output. Use create_agent when a model must choose among tools in a conventional model–tool loop. Use LangGraph when your application has durable state, explicit branches, retries, parallel work, long-running steps, or human decisions that are part of the workflow. This is not merely a taxonomy. It is an engineering rule about where complexity should live. Every framework abstraction creates a second system beside your product: another execution model, another vocabulary, and another place for failure to hide. The abstraction earns its place only when it makes the real system easier to operate. ...

April 16, 2025 · 15 min · 3178 words · Xinwei Xiong, Me
GPT Researcher pipeline from query planning and retrieval to a cited report

GPT Researcher Guide: Python, Docker, MCP, Costs & Limits

A long report can look like certainty while merely arranging uncertainty more elegantly. The useful question is not how many pages an agent writes, but how a claim entered the report and whether a reader can walk back to its source. The short verdict GPT Researcher is a good fit when a team needs a programmable research pipeline, source traceability, and deployment control. It is not a truth machine. It automates planning, retrieval, context assembly, and report writing; it does not make weak pages authoritative or make every citation support the sentence beside it. ...

April 14, 2025 · 10 min · 2024 words · Xinwei Xiong, Me
LangChain 1.x architecture connecting models, agents, memory, retrieval, and observability

LangChain 1.x in Practice: A Developer Guide to Reliable Agents

A framework is most dangerous not when it lacks features, but when its old tutorials still look plausible. Familiar code can cross a version boundary long before it produces an obvious error. This guide follows the current LangChain Python 1.x path: model calls, agents, tools, structured output, middleware, memory, RAG, SQL, Ollama, and LangSmith. It is deliberately different from a framework overview. The aim is to leave you with a compact application architecture, runnable examples, and a way to recognize code that belongs to the 0.x era. ...

May 22, 2024 · 11 min · 2221 words · Xinwei Xiong, Me
A clockwork cart passing through controlled gates, representing the evolution from AutoGPT Classic to a governed agent platform

AutoGPT in 2026: From the Classic Experiment to the Platform

Status note, verified July 31, 2026: this article originally explained how to install the 2023 stand-alone Auto-GPT agent. Those commands are obsolete. The official project now says that AutoGPT Classic is unsupported, its dependencies will not be updated, and it has known security issues. Treat Classic as a historical laboratory, not a production tool. For new work, use the maintained AutoGPT Platform or another actively maintained workflow system. In the spring of 2023, Auto-GPT made a compelling promise: describe an objective, give a model some tools, and watch it plan its own way forward. I installed it because the idea felt less like a chatbot feature and more like a change in the shape of software. ...

March 18, 2023 · 10 min · 2100 words · Xinwei Xiong, Me