🔶 我的 Agent 配置
英文标题:🔶 My Agent Setup
作者正通过六个分工明确的 Agent,尝试以更少的员工和志愿者同时扩展多个产品及一个非营利组织。这套系统运行在一台配备 4 vCPU、8 GB RAM 和 160 GB 磁盘的 DigitalOcean VPS 上,全部 Agent 当前使用 OpenAI GPT-5.6 Sol,并可调用 GPT-5.6 Terra 子 Agent。Agent 通过支持 Agent 的开源 Slack 替代品 Buzz 协作,结合 Nostr、Mnemosyne 记忆库、Obsidian Wiki、MCP 服务和外部 Webhook,实现告警响应、研发任务、工作简报、内容规划和研究等流程。作者认为该方案目前的实际 ROI 尚不理想,搭建成本约是自己完成这些任务所需时间的 10 倍,但其模块化、可迁移和最小权限的设计对 Agent 化工作流具有探索价值。
31.5 KB
5.0 KB
16.2 KB
440.1 KB
中文
(本文由一位人类撰写。我让 gtm-agent 审阅并做了一些修改,但后来我基本又把这些改回去了——这让我花的时间,比直接带着缺失的逗号、过长的句子,以及把 six 写成 6 发布出去,多了 10 倍。请参见文末的「这值得吗?」。)
有几个人问过我的 Agent 配置,不过先说说目标。我正在做几个产品以及一个非营利组织。目前我唯一提到过的产品是 The Daily FM,它只是因为我想要,所以我就做了。
所有这些 Agent 实验的目标,是用比原本所需更少的员工和志愿者,扩展多个产品和这个非营利组织。简而言之,我正在打造一支 Agent 员工队伍。我开始这场折腾大约一个月,仍处于非常早期的阶段。
我知道这个领域最头部的网红们正对着麦克风大谈成千上万个 Agent(Agent swarm 怎么不提了?)、自我改进循环(还是图?)等等,但在发展到数千个之前,我想先从适度的六个开始。
Agent
配置档案
- **ea-agent:**我的行政助理。它基本负责提醒我各种事情、与我的日历交互,以及像项目经理一样在 Linear 中管理工作。
- **ops-agent:**监控网站性能和 Sentry,确保各项服务持续运行,并分诊问题。它会自行修复问题、将其分配给 dev-agent,或发送给我。
- **dev-agent:**我的核心开发人员,可访问几个项目的 GitHub。
- **gtm-agent:**我的营销人员。它查看漏斗、流量数据和社交媒体,并具备文案撰写和社交媒体管理技能。
- **research-agent:**搜索网络、进行长期异步研究,并制作报告。
- **vps-agent:**我的基础设施管理员,对 Agent 主机拥有 root 访问权限。它可以创建新 Agent、添加 MCP 服务器和技能,以及处理服务器维护。它只会在 Buzz 中回应我。

运行时与记忆
目前所有 Agent 都是 Hermes Agent,但我预计这未来会发生变化。它们由 SOUL.md、AGENTS.md、技能、工具、MCP 服务器、每个配置档案对应的一个 Mnemosyne 记忆库,以及一个同步到我电脑的共享 Obsidian Wiki 定义。理论上,这一切都是可迁移的。它们不过是一些容易定位的 0 和 1。对吧?对吧?!
Obsidian 已被证明非常酷。和其他人一样,我是在 Karpathy 发布其 LLM wiki 脑内倾倒时发现它的。起初我没有领会,但用得越多,它作为一份「业务运营手册」就越有用。它让我可以记录流程,让 Agent 启动后就知道这里的工作方式。
模型
目前所有 Agent 都使用 OpenAI GPT-5.6 Sol,并能够使用 GPT-5.6 Terra 启动子 Agent。我最初使用 Anthropic 的 Fable,但收到一张 API 账单后,我意识到 Anthropic 不允许将订阅用量用于这种配置,所以我切换到了 GPT。
对于这类工作,前沿模型大多可以互换。我可能并不需要 Sol,并会在有需要时调整。我很想使用开放权重模型,但当每月 100 美元的 OpenAI 订阅已能完成工作时,我几乎没有切换的动力。如有需要,我甚至会升级到 200 美元的套餐。
算力
六个 Agent 都运行在一台简单的 DigitalOcean Basic Droplet 上:4 vCPU、8 GB RAM 和 160 GB 磁盘空间。由于主机持续发生磁盘交换,我不得不从 4 GB RAM 升级。我通过 Tailscale 对其进行保护,并且不暴露任何公共端口。
编程
我前面提到了 dev-agent,但我仍然使用搭配 Fable 的 Claude Code 完成 95% 的编码工作,并将 Codex 作为备用方案。我就是习惯待在本地电脑的终端里,实时看着代码变更和推理过程发生。我知道……这很不酷。
通信
![]()
Buzz
正如我之前谈到的,我正在使用 Buzz:这是 Block 推出的开源 Slack 替代品,具备一流的 Agent 支持。它仍处于早期阶段,撰文时版本为 v0.5.9,而且你需要手动安装 iPhone 应用,但它很有前景。我的 vps-agent 可以在大约 10 分钟内创建一个新 Agent,并将其接入 Buzz,成为团队的另一名成员。
所有 Agent 都会直接回应私信,无需点名。在房间中,它们需要被点名(例如 @ea-agent)。它们可以相互交谈,但 vps-agent 除外,只有我能与它交谈。

Nostr
Buzz 基于 Nostr 协议运行,这也相当酷。它小巧且开放,并通过缩写颇为不幸的 NIP 定义规范。其核心 NIP-01 定义了一种通用的签名事件、基于密钥的作者身份、WebSocket 中继,以及可过滤的实时订阅。Buzz 将这些扩展为频道和运营事件。
Agent 从字面上说就只是密钥对。任何社区都能托管自己的中继服务,而新的事件类型沿用同一套签名和认证模型。我只是觉得这太酷了。
工作流
正如我在下文提到的,我已经配置了 Webhook,将外部系统的消息发送到 Buzz。Buzz 可以格式化消息并点名特定用户。
❯ buzz workflows list --channel 7a46....42f
name: sentry_notifier
description: Post Sentry alerts to Buzz
trigger:
on: webhook
steps:
- id: step_1
name: send_message
if: "trigger_action == \"created\""
action: send_message
text: |
🚨 Sentry issue created:
{{trigger.data | truncate(1000)}}
@ops-agent please triage — the JSON head above has the issue id, title,
and permalink; use your Sentry MCP for full details.
一些使用场景
请记住,我才刚开始一个月。但到目前为止,已经出现了一些有趣的使用场景。
自动化 Sentry 响应
我的应用会针对各种错误类型、高延迟和其他问题创建 Sentry 事件。新事件会发到 Buzz,其中 Buzz Workflows 可以格式化消息,并点名 ops-agent,甚至是一个 Agent 团队(Buzz 的一个概念,我并未使用)。
收到警报后,ops-agent 会跨 Sentry、Cloudflare 和代码分析根本原因,提供报告,并尝试修复问题。这个过程目前仍然 100% 由我参与其中,但我能看到很多独立自动化的空间。

简单开发任务
如上文编程部分所说,我还没准备好放弃亲自在终端中操作,但已经开始外包一些事情。一个简单例子是:如果我在外出时查看自己的某个网站并想到一个点子,可以把它发到 Buzz,让 Agent 完成它。
下一步是建立一座真正的软件工厂,让 Agent 对 Linear 工单作出响应。工单进,PR 出,听起来不错。
早晨工作简报
ea-agent 会查看 Linear 工单、我的日历和前一天的对话,进行分诊并建议我应该做什么。
社交内容日历审查
gtm-agent 每天审查内容日历,告诉我其中的空缺,并能推荐内容。出于许多原因,我在这方面非常谨慎,主要是因为我并不是那种为了任何理由都在社交媒体发帖的人。我不想「只要点击量」,我想以自己的声音,真诚地分享我认为有用的内容(参见本文顶部的说明)。等我公布更多正在做的事情后,再看这会如何发展。
提醒与研究
我发现最有用的简单功能之一,是随时打开移动应用并说:「ea-agent,明天提醒我这件事,并且持续提醒,直到我回应。」或者:「嘿,research-agent,我刚有了一个想法。去做深度研究,然后告诉我 XYZ。」
每日工作报告
我对这一项尤其兴奋。我的 vps-agent 会查看前一天所有 Buzz 对话,包括私密私信,并在早晨向我发送一份报告:已完成什么、正在进行什么,以及哪些事情需要我注意。这个想法有两个目的:
- 评估整个系统的健康状况。
- 为那些随着工作量增加后我肯定会遗漏的事情,加上一层「双保险」。
Agent 会将报告作为一份跨章节持续递增编号的有序列表发送;读完后,我可以说类似的话:
去做第 2 和第 3 项,明天提醒我第 4 项,并为第 8 和第 10 项创建 Linear 工单。💥
问题
为什么不让一个 Agent 处理所有事情?
这可能没有意义,但主要原因是最小权限原则。有些 Agent 不需要访问 GitHub、部署环境或我的日历。如果可以避免,为什么要扩大影响范围和出错的可能性?就像人类一样……?
为什么不全力投入 Claude/codex Agent + computer + 这个 + 那个 + 另一个……?
这是个好问题。Anthropic 和 OpenAI 对于从模型向外扩张自己的帝国,有着万亿美元级别的既得利益;这类似于 AWS 如何从 EC2 和 S3 发展成一个服务数量比天上星星还多的巨头。这很合理,我也认为它们能做到,但我不希望生活在一个由少数几个自居为道德和真理裁决者的参与者控制的世界里。
因此,至少在理论上,上述组件是可迁移、可替换和/或开源的。
这值得吗?
就这段旅程本身而言,值得;就 ROI 而言,不值得。我花在搭建这套系统上的时间,是我自己完成上述任何一项工作所需时间的 10 倍。但是……建造工厂本身并不产出任何东西,对吧?:)
图片来源:Buzz 应用图标来自采用 Apache-2.0 许可证的 Buzz 仓库。Nostr 标志由 Andrea Nicolini 创作,并以 CC0 发布。
English / 原文
(this was written by a human. I had my gtm-agent review and make some changes, but I then mostly reversed all of those taking me 10x more time than had I just shipped it with missing commas, run-on sentences, and 6 instead of six. Refer to "Has it been worth it?" at the end.)
A few people have asked about my agent setup, but first let me talk about the goal. I'm working on a few products as well as a nonprofit. The only product I've mentioned so far is The Daily FM, which is just something I wanted so I built it.
The goal of all this agent experimentation is to scale multiple products and the nonprofit with fewer staff and volunteers than would otherwise be needed. In short, I'm creating a staff of agents. I'm about a month into this charade, so it's still early days.
I know the leading influencers in the space are yelling into their mics about thousands of agents (what happened to swarms?), self-improving loops (or is it graphs?), etc., but before getting to thousands, I'd like to start with a modest six.
The agents
Profiles
- ea-agent: My executive admin. It's basically there to remind me of stuff, interact with my calendar, and manage work in Linear like a program manager.
- ops-agent: Monitors site performance and Sentry, makes sure stuff keeps running, and triages issues. It either fixes them, assigns them to dev-agent, or sends them to me.
- dev-agent: My core developer, with GitHub access to a few projects.
- gtm-agent: My marketer. It looks at funnels, traffic numbers, and social media, and has skills for writing and social media management.
- research-agent: Searches the web, does long asynchronous research, and builds reports.
- vps-agent: My infrastructure manager, with root access to the agent box. It can create new agents, add MCP servers and skills, and handle server maintenance. It only responds to me in Buzz.

Runtime and memory
All the agents are currently Hermes agents, but I predict this will change at some point. They are defined by SOUL.md, AGENTS.md, skills, tools, MCP servers, a Mnemosyne memory bank per profile, and a shared Obsidian wiki synced to my machine. In theory this is all portable. It's just a few easily-locatable 1's and 0's. Right? RIGHT?
Obsidian is proving to be really cool. Like everyone else I discovered it when Karpathy published his LLM wiki brain dump. It didn't click at first, but the more I use it, the more useful it becomes as a "business operating manual." It lets me capture processes so agents can spin up and just know how things work 'round here.
Models
Currently all agents use OpenAI GPT-5.6 Sol and can spin up subagents using GPT-5.6 Terra. I was originally using Anthropic's Fable, but I got slapped with an API bill and realized Anthropic doesn't allow subscription usage for this setup, so I switched to GPT.
Frontier models are mostly interchangeable for this type of work. I probably don't need Sol and will adjust if needed. I'd love to use an open-weights model, but I have little incentive to switch when a $100 OpenAI subscription gets the job done. I'd even move to the $200 plan if needed.
Compute
All six run on a simple DigitalOcean Basic Droplet: 4 vCPUs, 8 GB RAM, and 160 GB of disk. I did have to upgrade from 4 gigs RAM because the box kept swapping to disk. I secure it with Tailscale and don't expose any public ports.
Coding
I mentioned dev-agent above, but I still use Claude Code with Fable, and Codex as a fallback, for 95% of my coding. I just feel at home in the terminal on my local machine, watching code changes and reasoning happen in real time. I know... so uncool.
Communication
![]()
Buzz
As I've talked about before, I'm working with Buzz, an open-source Slack alternative by Block with first-class agent support. It's early still, v0.5.9 at the time of writing, and you need to install the iPhone app manually, but it has a ton of promise. My vps-agent can create a new agent and connect it to Buzz as another member of the team in about 10 minutes.
All agents respond to DMs without a callout. In rooms, they require one (for example, @ea-agent). They can talk to each other, except for vps-agent, which only I can talk to.

Nostr
Buzz runs on the Nostr protocol, which is also pretty cool. It's small and open and defines its specifications through unfortunately-acronymed NIPs. At its core, NIP-01 defines a universal signed event, key-based authorship, WebSocket relays, and filterable real-time subscriptions. Buzz extends that into channels and operational events.
Agents are literally just keypairs. Any community can host its own relay, and new event types use the same signing and authentication model. I just think this is so cool.
Workflows
As I mention below, I've already set up webhooks that post messages into Buzz from external systems. Buzz can format the messages and call out specific users.
❯ buzz workflows list --channel 7a46....42f
name: sentry_notifier
description: Post Sentry alerts to Buzz
trigger:
on: webhook
steps:
- id: step_1
name: send_message
if: "trigger_action == \"created\""
action: send_message
text: |
🚨 Sentry issue created:
{{trigger.data | truncate(1000)}}
@ops-agent please triage — the JSON head above has the issue id, title,
and permalink; use your Sentry MCP for full details.
Some use cases
Remember, I'm only a month in. But a few interesting use cases have emerged so far.
Automated Sentry response
My apps create Sentry events for various error types, high latency, and other problems. New events post into Buzz, where Buzz Workflows can format the message and call out ops-agent or even an agent team (a Buzz construct that I don't use).
Once it receives the alert, ops-agent analyzes the root cause across Sentry, Cloudflare, and the code, provides a report, and attempts to fix the issue. This process is still 100% me-in-the-loop, but I can see a lot of room for independent automation.

Simple development tasks
As mentioned in the coding section above, I'm not ready to let go of driving the terminal, but I have started to outsource some stuff. An easy example: if I'm looking at one of my websites on the go and come up with an idea, I can pop it into Buzz and have the agent complete it.
The next step is to set up a proper software factory and have the agents react to Linear tickets. Ticket in, PR out, sounds neat.
Morning work briefing
ea-agent looks through Linear tickets, my calendar, and conversations from the previous day to triage and recommend what I should work on.
Social calendar review
gtm-agent reviews a content calendar every day, lets me know about gaps, and can recommend content. I'm gun-shy in this area for lots of reasons, mostly because I'm not really a post-for-any-reason on socials kind of guy. I don't "just want clicks" I want to authentically share what I think is useful, in my voice (see header at the top of this post). We'll see how this evolves as I announce more of the things I'm working on.
Reminders and research
One of the simplest things I've found useful is opening the mobile app from anywhere and saying, "ea-agent, remind me of this thing tomorrow, and keep reminding me until I respond." Or, "hey research-agent, I just had this idea. Go do deep research and tell me XYZ."
Daily work report
I'm particularly excited about this one. My vps-agent looks at all Buzz conversations from the previous day, including private DMs, and sends me a morning report on what was accomplished, what's in flight, and what requires my attention. The idea is twofold:
- Assess the health of the overall system.
- Add a "belt and suspenders" for things I'm sure to miss once the volume grows.
The agent sends the report as an ordered list that keeps incrementing across sections and after reading it, I can say something like:
Go do 2 and 3, remind me about 4 tomorrow, and create Linear tickets for 8 and 10. 💥
Questions
Why not one agent for everything?
This might be pointless, but the main reason is least privilege. Some agents don't need access to GitHub, deployments, or my calendar. Why increase the blast radius and potential for mistakes if I can avoid it? Just like humans...?
Why not go all in on Claude/codex agents + computer + this + that + the other thing....?
That's a good question. Anthropic and OpenAI have a trillion-dollar vested interest in expanding their empires outward from the model, similar to how AWS grew from EC2 and S3 into a juggernaut of more services than stars in the sky. It makes sense, and I think they can pull it off, but I don't want a world controlled by a few players who act as arbiters of morality and truth.
That's why, at least in theory, the components above are portable, swappable, and/or open source.
Has it been worth it?
For the journey, yes, for the ROI, nope. I've spent 10x longer setting this up than it would have taken me to do any of the things above on my own. But... building the factory itself doesn't produce anything, now does it? :)
Image credits: the Buzz app icon comes from theApache-2.0-licensed Buzz repository. The Nostr logo was created by Andrea Nicolini and released under CC0.