HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
humanlayer
12-factor-agents
TypeScript2025–2026
humanlayer / 12-factor-agents

12-factor-agents

What are the principles we can use to build LLM-powered software that is actually good enough to put in the hands of production customers?

10Distinct people
11Mentions
0Explicit recommenders
27.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

What are the principles we can use to build LLM-powered software that is actually good enough to put in the hands of production customers?

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month11 dated mentions

Observed mentions: 2025-04-11 09:24:35 UTC to 2026-09-18 13:02:24 UTC.

01232025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 commentsApr 20252025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 20252026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-01 00:00:00 UTC to 2026-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-01 00:00:00 UTC to 2026-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-01 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-01 00:00:00 UTC to 2026-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-01 00:00:00 UTC to 2026-08-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2026-08-01 00:00:00 UTC to 2026-09-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2026-09-01 00:00:00 UTC to 2026-10-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsSep 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC321
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC101
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC202
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC000
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC000
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC110
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC000
Mar 20262026-03-01 00:00:00 UTC2026-04-01 00:00:00 UTC000
Apr 20262026-04-01 00:00:00 UTC2026-05-01 00:00:00 UTC000
May 20262026-05-01 00:00:00 UTC2026-06-01 00:00:00 UTC101
Jun 20262026-06-01 00:00:00 UTC2026-07-01 00:00:00 UTC000
Jul 20262026-07-01 00:00:00 UTC2026-08-01 00:00:00 UTC110
Aug 20262026-08-01 00:00:00 UTC2026-09-01 00:00:00 UTC110
Sep 20262026-09-01 00:00:00 UTC2026-10-01 00:00:00 UTC110

What Hacker News says

11 sources

Show HN: Radkit – Build reliable AI agents with Rust

We (me and my co-founder) have been working on this library for a while and would love to get your thoughts. github.com/agents-sh/radkit radkit.rs/getting-started/ Most of the agent librararies out there just adds a huge prompt, put all the tool definitions and call the LLM on a loop hope and for the best. This is not a way to build reliable ai agents. A better way to build ai agents is described in 12-factor agents by Dex Horthy here. https://www.youtube.com/watch?v=8kMaTybvDUw https://github.com/humanlayer/12-factor-agents Another limitations of current agentic frameworks is their support for interoperability among agents is very limited. Google came up with https://a2a-protocol.org/latest/ (now under linux foundation) to address this, but the agent frameworks trying to do as much as possible and keep the end users locked into their "ec
Read the rest
osystem" instead of supporting such protocols. Everyone is so focused on MCP for some reason. (no hate for mcp, radkit supports mcp as well). We belive in an agentic future where businesses expose ai agents and not mcp servers or rest apis. If you build an agent using radkit, it is a2a-protocol compliant from the get go. With all of this in mind, we are building `radkit`. It is still early stages. But we have reached a milestone and wanted to share with the community.
2 points · Open discussion
Thanks! Our favorite resources on this (both have been posted on HN a few times): - https://www.anthropic.com/engineering/building-effective-age... - https://github.com/humanlayer/12-factor-agents That's also why we implemented pretty much all relevant patterns in the docs (i.e. https://pickaxe.hatchet.run/patterns/prompt-chaining). If there's an example or pattern that you'd like to see, let me know and we can get it released.
In Show HN: Pickaxe – A TypeScript library for building AI agents
I'm a big fan of https://github.com/humanlayer/12-factor-agents because I think it gets at the heart of engineering these systems for usage in your app rather than a completely unconstrained demo or MCP-based solution. In particular you can reduce most concerns around security and reliability when you treat your LLM call as a library method with structured output (Factor 4) and own your own control flow (Factor 8). There should never be a case where your agent is calling a tool with unconstrained input.
In A practical guide to building agents [pdf]
For SWEs interested in "AI Engineering" (either getting involved in how models work, or building applications on them), there's a critical paradigm shift in that using "AI" requires more of an experimental mindset than software engineering typically does. - I strongly recommend Chip Huyen's books ("Designing Machine Learning Systems" and "AI Engineering") and blog (https://huyenchip.com/blog/). - Andreessen Horowitz' "AI Cannon" is a good reference listicle (https://a16z.com/ai-canon/) - "12 factor agents" (https://github.com/humanlayer/12-factor-agents)
In Ask HN: Go deep into AI/LLMs or just use them as tools?
I am wondering how libraries like DSPY [0] fits in your factor-2 [1] As I was reading, I saw mention of BAML > (the above example uses BAML to generate the prompt ... Personally, in my experience hand-writing prompts for extracting structured information from unstructured data has never been easy. With DSPY, my experience has been quite good so far. As you have used raw prompt from BAML, what do you think of using the raw prompts from DSPY [2]? [0] https://dspy.ai/ [1] https://github.com/humanlayer/12-factor-agents/blob/main/con... [2] https://dspy.ai/tutorials/observability/#using-inspect_histo...
In 12-factor Agents: Patterns of reliable LLM applications
dhorthy·Apr 15, 2025Submission

12-factor Agents: Patterns of reliable LLM applications

I've been building AI agents for a while. After trying every framework out there and talking to many founders building with AI, I've noticed something interesting: most "AI Agents" that make it to production aren't actually that agentic. The best ones are mostly just well-engineered software with LLMs sprinkled in at key points. So I set out to document what I've learned about building production-grade AI systems: https://github.com/humanlayer/12-factor-agents. It's a set of principles for building LLM-powered software that's reliable enough to put in the hands of production customers. In the spirit of Heroku's 12 Factor Apps (https://12factor.net/), these principles focus on the engineering practices that make LLM applications more reliable, scalable, and maintainable. Even as models get exponentially more powerful, these core techniques
Read the rest
will remain valuable. I've seen many SaaS builders try to pivot towards AI by building greenfield new projects on agent frameworks, only to find that they couldn't get things past the 70-80% reliability bar with out-of-the-box tools. The ones that did succeed tended to take small, modular concepts from agent building, and incorporate them into their existing product, rather than starting from scratch. The full guide goes into detail on each principle with examples and patterns to follow. I've seen these practices work well in production systems handling real user traffic. I'm sharing this as a starting point—the field is moving quickly so these principles will evolve. I welcome your feedback and contributions to help figure out what "production grade" means for AI systems!
475 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.