Skip to content

Commit b5d4596

Browse files
authored
Merge pull request #5450 from Agenta-AI/feat/agenta-2-0-announcement
feat(website): Introducing Agenta 2.0 — announcement post + hero tag
2 parents 959c31f + 3299a4b commit b5d4596

7 files changed

Lines changed: 182 additions & 56 deletions

File tree

92.5 KB
Loading

website/src/components/Hero.astro

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ const SHOW_HERO_VIDEO = false;
2424
>
2525
<div style="display:flex;flex-direction:column;align-items:center;gap:32px;">
2626
<div style="display:flex;flex-direction:column;align-items:center;gap:28px;">
27+
<a
28+
href="/blog/introducing-agenta-2-0"
29+
style="display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,0.06);box-shadow:0 0 0 1px rgba(255,255,255,0.14);font:var(--text-caption);letter-spacing:0.03em;color:rgba(255,255,255,0.8);text-decoration:none;"
30+
>Agenta 2.0 — read the announcement →</a
31+
>
2732
<h1
2833
class="ag-h1"
2934
style="margin:0;font:var(--text-display-xl);color:#F7F6F4;max-width:920px;text-wrap:pretty;"
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
slug: "introducing-agenta-2-0"
3+
title: "Introducing Agenta 2.0"
4+
description: "Agenta 2.0 is the open-source workspace for building and running agents: build them through chat, improve them with feedback, share them with your team."
5+
category: Article
6+
date: 2026-07-22
7+
readingTime: "6 min read"
8+
heroImage: /blog/introducing-agenta-2-0/hero.png
9+
ogImage: /blog/introducing-agenta-2-0/hero.png
10+
author: mahmoud-mabrouk
11+
featured: true
12+
featuredRank: 1
13+
tags: ["Article"]
14+
---
15+
16+
Today, we are introducing Agenta 2.0, an open-source workspace for building and running agents.
17+
18+
Agenta lets you build specialized agents for different areas of work. You can work with them as AI coworkers, share them with your team, and use them to automate recurring tasks.
19+
20+
## Agents are becoming a new building block for work
21+
22+
Agents have reached a point where they can help with a [large share of tasks across a company](https://www.anthropic.com/research/labor-market-impacts).
23+
24+
Give an agent a goal, clear instructions, the right context, and access to tools, and it can complete many tasks autonomously. It can inspect information, use applications, write scripts, and adapt when the situation changes.
25+
26+
Until now, automating work often meant defining every step in advance. You designed a deterministic workflow and specified what should happen at each branch. This remains the right approach in high-governance settings where every step must be predictable.
27+
28+
But much of our work is not like that. Research, product decisions, customer support, sales, and company operations require context and judgment. The right next step depends on what the system finds. Agents have become much better at handling this kind of work.
29+
30+
An agent can become the basic unit that performs this work. At a technical level, we think of the agent as a new compute primitive. In practical terms, you describe the job, provide the context and tools, and let the agent reason through the problem.
31+
32+
People still provide direction, feedback, and judgment. They do not need to encode every path. Agents take on more of the execution.
33+
34+
## Building useful agents still requires too much work
35+
36+
Most companies are not yet using agents to their full potential.
37+
38+
A useful agent needs company context. It needs instructions, files, skills, tools, and access to the applications where work happens. People need a way to improve it, share it, run it again, and understand what happened when it makes a mistake.
39+
40+
Most importantly, the people doing the work need to be able to create their own agents. They understand the work best.
41+
42+
Today, this capability is spread across several kinds of products.
43+
44+
Coding agents such as Claude Code and Codex are very powerful, but still require technical skills. Closed AI workspaces provide a polished experience, but limit how much users can inspect, change, or move and lock them into one provider. Visual workflow builders work well when users can define the process in advance, but they do not fully use what this new agent paradigm makes possible.
45+
46+
The result is an awkward choice between agency, ease of use, automation, and control.
47+
48+
We think teams need an open workspace where every team member can build agents by working with them, give them lasting context, share them with the team, automate suitable work, and control how they run.
49+
50+
## A workspace for you and your agents
51+
52+
Agenta provides that workspace.
53+
54+
You start with a real job and describe it in chat. The agent works with you, uses the context you provide, and helps create the setup it needs.
55+
56+
Each agent has a persistent workspace. It can maintain research, documents, plans, reports, and other artifacts instead of starting every conversation without context.
57+
58+
You improve the agent through real work and feedback, then share it with your team. For recurring work, you can create loops that run on a schedule or when an event occurs in a connected application.
59+
60+
In other words, the AI coworker and the automation are not separate systems. They are two ways to use the same agent. You can work with it directly when the job needs discussion, then let it handle understood parts of the work in the background.
61+
62+
## Using open standards
63+
64+
The agent itself remains simple and portable. An Agenta agent is built from standard components: `AGENTS.md`, skills, tools, and MCP servers. You can see and change how it works.
65+
66+
This means three things. First, you can reuse compatible MCP servers and skills from the broader agent ecosystem.
67+
68+
Second, you can switch supported models or harnesses without rebuilding the agent. You can choose the right setup for each task without being locked into one provider.
69+
70+
We already work this way inside Agenta. Our go-to-market work uses [pi](https://pi.dev) with GPT-5.6. We use Claude Code with Opus 4.8 for engineering. For day-to-day tasks, where speed matters, we use [GLM 5.2 Nitro](https://openrouter.ai/z-ai/glm-5.2:nitro) through [OpenRouter](https://openrouter.ai/). In our personal local self-hosted setup, our personal agents use our existing Claude Code and ChatGPT subscriptions.
71+
72+
Last, open standards allow you to run your agents almost anywhere. Right now we support Agenta Cloud, local in docker containers or through [Daytona](https://daytona.io/) sandboxes. Over time, we plan to support more environments, including [E2B](https://e2b.dev/), [Vercel sandboxes](https://vercel.com/docs/sandbox), and [Modal](https://modal.com/).
73+
74+
## A go-to-market agent in practice
75+
76+
We built the new Agenta from our own need to work this way.
77+
78+
As a technical founder, I work across product, engineering, research, positioning, content, and launch planning. These areas affect one another, but their context is usually spread across conversations and documents.
79+
80+
My go-to-market agent works with a persistent workspace containing our product context, research, positioning, decisions, launch plans, and drafts. I use it in chat to research questions, compare new information with earlier decisions, update documents, and prepare assets. This announcement is one output from that ongoing work.
81+
82+
I also use agents for recurring work. One, for instance, helps operate our social listening through [Octolens](https://octolens.com/), where it manages research vocabulary, monitoring feeds, and the decisions behind them.
83+
84+
The agent does not make decisions for me. It gathers and structures information, records context, and helps perform the work. Over time, I give it feedback and refine it to fit the way I work. It gives me immense leverage.
85+
86+
## Reliability and continuous improvement
87+
88+
The first version of Agenta focused on helping teams build, evaluate, and observe applications powered by LLMs. That foundation remains important because reliability is still a major challenge when building agents.
89+
90+
When we started Agenta, LLMs were poor at following instructions and understanding what users meant. Much of our users' time went into prompt engineering and building complex workflows designed to compensate. Today, agents are far better at following instructions. Most workflows can now be expressed as instructions to an agent instead of being defined step by step.
91+
92+
Reliability today is about explaining the job clearly. Say you are building an agent to reach out to prospects. How do you define your ideal customer profile? What style should the agent follow? What should it focus on when researching a prospect, and what should it ignore?
93+
94+
You cannot build a reliable agent that performs a job successfully without answering these questions. To achieve that, there is no shortcut; you need to review the agent results, give feedback, and iterate.
95+
96+
Agenta provides the tools to improve agents continuously. Every run is logged and traced with its inputs and outputs. Every agent configuration is versioned. A user can give feedback, and the agent can inspect what happened, identify why it made a mistake, and propose configuration changes.
97+
98+
Over time, you build more capable agents that become part of your company's operating DNA and differentiation. They encode your best practices, standard operating procedures, and your ways of working.
99+
100+
The second layer of reliability comes from permissions and human approval. We built Agenta with a detailed permission system and human-in-the-loop controls. Teams can decide which actions an agent may perform, which require approval, and which remain blocked.
101+
102+
## Getting started
103+
104+
Agenta 2.0 is today available through Agenta Cloud and as an open-source, self-hosted product.
105+
106+
Start with a template. Ask an agent to customize it, then give it the context and access to the tools it needs. Improve it through use. Over time, you can automate parts of the work and build a system that gives your whole team far more leverage.
107+
108+
Get started for free in [Agenta Cloud](https://cloud.agenta.ai), or copy the prompt in the [self-hosting guide](https://agenta.ai/docs/self-host/overview) to run it yourself in minutes.
109+
110+
We believe the people who understand the work should be able to build the agents that do it. We want to help them build the next million agents.

website/src/content/posts/the-definitive-guide-to-prompt-management-systems.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ heroImage: /blog/the-definitive-guide-to-prompt-management-systems/hero.webp
99
ogImage: /blog/the-definitive-guide-to-prompt-management-systems/hero.webp
1010
author: mahmoud-mabrouk
1111
featured: true
12-
featuredRank: 1
12+
featuredRank: 3
1313
tags: ["Article"]
1414
---
1515

website/src/content/posts/the-ultimate-guide-for-chunking-strategies.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ readingTime: "15 min read"
88
heroImage: /blog/the-ultimate-guide-for-chunking-strategies/hero.webp
99
ogImage: /blog/the-ultimate-guide-for-chunking-strategies/hero.webp
1010
author: ilyes-rezgui
11-
featured: true
12-
featuredRank: 3
11+
featured: false
1312
tags: ["Article"]
1413
---
1514

website/src/pages/blog/[slug].astro

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const getStaticPaths = (async () => {
1313
}) satisfies GetStaticPaths;
1414
1515
const { post } = Astro.props;
16-
const { title, description, category, date, heroImage, ogImage, readingTime } =
16+
const { title, description, date, heroImage, ogImage, readingTime } =
1717
post.data;
1818
1919
// Resolve every contributor (primary first, then co-authors) for the byline.
@@ -87,8 +87,8 @@ const sectionBorder = "border:1px solid rgba(255,255,255,0.07);margin-top:-1px;"
8787
<article style={`background:#0E0D0F;${sectionBorder}padding:0 0 24px;`}>
8888
<!-- header -->
8989
<div
90-
class="ag-pad"
91-
style="max-width:760px;margin:0 auto;padding:56px 24px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;"
90+
class="ag-pad ag-post-head"
91+
style="max-width:760px;margin:0 auto;padding:56px 24px 44px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;"
9292
>
9393
<a
9494
href="/blog"
@@ -103,74 +103,68 @@ const sectionBorder = "border:1px solid rgba(255,255,255,0.07);margin-top:-1px;"
103103
stroke-linejoin="round"></path></svg
104104
>All blogs
105105
</a>
106-
<span
107-
style="display:inline-flex;align-items:center;height:24px;padding:0 13px;border-radius:999px;background:rgba(242,242,92,0.12);box-shadow:inset 0 0 0 1px rgba(242,242,92,0.3);font:var(--text-caption);letter-spacing:0.04em;color:var(--yellow-400);"
108-
>{category}</span
109-
>
110106
<h1
111107
class="ag-h1"
112108
style="margin:0;font:300 52px/1.08 var(--font-display);color:#F7F6F4;text-wrap:pretty;"
113109
>
114110
{title}
115111
</h1>
116112
<p
117-
style="margin:0;font:var(--text-body-md);color:rgba(255,255,255,0.6);max-width:600px;text-wrap:pretty;"
113+
style="margin:0;font:400 19px/1.5 var(--font-sans);letter-spacing:-0.011em;color:rgba(255,255,255,0.62);max-width:600px;text-wrap:pretty;"
118114
>
119115
{description}
120116
</p>
121117

122-
<!-- byline: stacked avatars · author name(s) · role · date · reading time -->
118+
<!-- date · reading time: quiet single line directly below the subtitle -->
119+
<div
120+
style="display:flex;align-items:center;justify-content:center;gap:9px;margin-top:-8px;font:var(--text-caption);letter-spacing:0.03em;color:rgba(255,255,255,0.45);"
121+
>
122+
<span>{dateLabel}</span>
123+
{readingTime && (
124+
<>
125+
<span style="width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.3);" />
126+
<span>{readingTime}</span>
127+
</>
128+
)}
129+
</div>
130+
131+
<!-- byline: stacked avatars · author name(s), vertically centered -->
123132
{
124133
primaryAuthor && (
125134
<div
126135
class="ag-author"
127-
style="display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px;"
136+
style="display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;"
128137
>
129138
<div style="flex:0 0 auto;display:flex;align-items:center;">
130139
{authors.map((a, i) => (
131140
<a
132141
href={`/authors/${a.id}`}
133142
aria-label={a.data.name}
134-
style={`display:block;${i > 0 ? "margin-left:-14px;" : ""}`}
143+
style={`display:block;${i > 0 ? "margin-left:-12px;" : ""}`}
135144
>
136145
<img
137146
src={a.data.avatar}
138147
alt={a.data.name}
139-
width="56"
140-
height="56"
141-
style="display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:inset 0 0 0 2px #0E0D0F,inset 0 0 0 3px rgba(255,255,255,0.1);"
148+
width="40"
149+
height="40"
150+
style="display:block;width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:inset 0 0 0 2px #0E0D0F,inset 0 0 0 3px rgba(255,255,255,0.1);"
142151
/>
143152
</a>
144153
))}
145154
</div>
146-
<div style="display:flex;flex-direction:column;gap:3px;text-align:left;">
147-
<span style="font:var(--text-label);color:#F7F6F4;">
148-
{authors.map((a, i) => (
149-
<>
150-
{i > 0 && <span style="color:rgba(255,255,255,0.45);"> & </span>}
151-
<a
152-
href={`/authors/${a.id}`}
153-
style="color:#F7F6F4;text-decoration:none;"
154-
>
155-
{a.data.name}
156-
</a>
157-
</>
158-
))}
159-
</span>
160-
<div
161-
style="display:flex;align-items:center;gap:9px;flex-wrap:wrap;font:var(--text-caption);letter-spacing:0.03em;color:rgba(255,255,255,0.45);"
162-
>
163-
<span>{primaryAuthor.data.role}</span>
164-
<span style="width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.3);" />
165-
<span>{dateLabel}</span>
166-
{readingTime && (
167-
<>
168-
<span style="width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,0.3);" />
169-
<span>{readingTime}</span>
170-
</>
171-
)}
172-
</div>
173-
</div>
155+
<span style="font:var(--text-label);color:#F7F6F4;">
156+
{authors.map((a, i) => (
157+
<>
158+
{i > 0 && <span style="color:rgba(255,255,255,0.45);"> & </span>}
159+
<a
160+
href={`/authors/${a.id}`}
161+
style="color:#F7F6F4;text-decoration:none;"
162+
>
163+
{a.data.name}
164+
</a>
165+
</>
166+
))}
167+
</span>
174168
</div>
175169
)
176170
}
@@ -200,7 +194,7 @@ const sectionBorder = "border:1px solid rgba(255,255,255,0.07);margin-top:-1px;"
200194

201195
<!-- body -->
202196
<div
203-
class="ag-prose ag-pad"
197+
class="ag-prose ag-pad ag-post-body"
204198
style="max-width:720px;margin:0 auto;padding:48px 24px 8px;"
205199
>
206200
<Content components={{ InlineCTA, img: BlogImage }} />
@@ -267,6 +261,14 @@ const sectionBorder = "border:1px solid rgba(255,255,255,0.07);margin-top:-1px;"
267261
padding-left: 20px !important;
268262
padding-right: 20px !important;
269263
}
264+
/* Hero image breathes proportionally less on phones. */
265+
.ag-post-head {
266+
padding-top: 44px !important;
267+
padding-bottom: 30px !important;
268+
}
269+
.ag-post-body {
270+
padding-top: 32px !important;
271+
}
270272
}
271273
</style>
272274
</Site>

website/src/styles/global.css

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -562,40 +562,50 @@ html,
562562
Body is a muted warm white for comfortable reading; headings brighter; links
563563
carry the brand accent; code sits on a subtle raised surface.
564564
============================================================================ */
565+
/* Body scale tuned against Linear's blog (linear.app/now): 15–16px regular 400
566+
with a slight negative tracking reads far lighter than a heavier 17px block.
567+
We keep Inter for body and GT Alpina for headings — only size/weight/leading
568+
and tracking follow Linear. */
565569
.ag-prose {
566570
color: rgba(255, 255, 255, 0.72);
567571
font-family: var(--font-sans);
568-
font-size: 17px;
569-
line-height: 1.75;
572+
font-size: 16px;
573+
font-weight: 400;
574+
line-height: 1.65;
575+
letter-spacing: -0.011em;
570576
}
571577
.ag-prose > :first-child {
572578
margin-top: 0;
573579
}
574580
.ag-prose p {
575-
margin: 0 0 1.15em;
581+
margin: 0 0 1.25em;
576582
}
577583
.ag-prose h2 {
578-
margin: 2em 0 0.6em;
579-
font: 400 30px/1.2 var(--font-display);
584+
margin: 2em 0 0.55em;
585+
font: 400 26px/1.25 var(--font-display);
586+
letter-spacing: -0.015em;
580587
color: var(--text-on-dark-heading);
581588
text-wrap: pretty;
582589
}
583590
.ag-prose h3 {
584-
margin: 1.6em 0 0.5em;
585-
font: 400 23px/1.3 var(--font-display);
591+
margin: 1.7em 0 0.5em;
592+
font: 400 20px/1.3 var(--font-display);
593+
letter-spacing: -0.012em;
586594
color: var(--text-on-dark-heading);
587595
text-wrap: pretty;
588596
}
589597
.ag-prose h4 {
590-
margin: 1.4em 0 0.4em;
591-
font: 600 17px/1.4 var(--font-sans);
598+
margin: 1.5em 0 0.4em;
599+
font: 600 16px/1.4 var(--font-sans);
600+
letter-spacing: -0.006em;
592601
color: var(--text-on-dark-heading);
593602
}
594603
.ag-prose a {
595604
color: var(--yellow-400);
605+
font-weight: 400;
596606
text-decoration: underline;
597607
text-underline-offset: 2px;
598-
text-decoration-color: rgba(242, 242, 92, 0.4);
608+
text-decoration-color: rgba(242, 242, 92, 0.55);
599609
}
600610
.ag-prose a:hover {
601611
text-decoration-color: var(--yellow-400);

0 commit comments

Comments
 (0)