Why Fred - A Developer Manifesto
You want to build an agent that does more than answer questions.
You want it to:
- Use tools
- Coordinate with others
- Run in production
- And not fight with lifecycle, async bugs, or YAML spaghetti.
Fred is for you.
Fred is an agentic framework built by practitioners, not just to demo ideas β but to run real agents, securely and repeatedly.
π What Fred gives you (thatβs surprisingly rare)
- β LangGraph-powered agents, with multi-step flows, conditionals, and state.
- β
Tools + Experts β like
TabularExpert
,DocumentsExpert
,RagsExpert
β that actually work out of the box. - β Leader agents that plan, delegate, and summarize results across experts.
- β Built-in support for OpenAI, Azure, Ollama, and real backend integration (RAG, vector search, SQL).
- β Full lifecycle support: from dev notebooks to Docker to Kubernetes.
π Agents are easy to build
Define a new agent in seconds:
class MyAgent(AgentFlow):
def __init__(self, settings: AgentSettings):
self.model = get_model(settings.model)
self._graph = self._build_graph()
super().__init__(..., model=self.model, graph=self._graph)
def _build_graph(self): ...
Need tools? Add toolkit
, bind tools, and use ToolNode
.
Need async? Just implement async_init()
β it’s all wired for you.
Fred abstracts the hard parts β async FastAPI, stateful memory, WebSocket streaming β so you can focus on logic.
π§© Static or Dynamic
Fred supports:
- β Declarative YAML-based agent loading
- β Dynamic runtime creation (via API or code)
- β Integration with MCP services (toolchains, databases, clusters, etc.)
Everything is typed, clean, and minimal.
What takes time without Fred
- Getting async + tool + graph orchestration to not break
- Reusing models and toolkits across sessions without bugs
- Hooking LangGraph + WebSockets + FastAPI the right way
- Explaining to others whatβs happening
Youβll spend hours or days debugging what Fred gives you in minutes.
For data scientists too
Want to test your toolchain in a notebook? Easy.
agent = TabularExpert(agent_settings)
await agent.async_init()
await agent.compiled_graph.ainvoke({"messages": [HumanMessage(...)]})
Fred works with LangChain and LangGraph directly.
No lock-in. No code generation. Just Python.
TL;DR
Fred is the missing layer between LangChain experiments and real agentic applications.
Itβs built to help you create serious, tool-using, multi-agent systems without getting lost in infra.
Try it.