# How to Build a Services-as-Software Agency: The 5-Layer Operating Stack
**作者**: Alex Vacca
**日期**: 2026-04-22T20:14:27.000Z
**来源**: [https://x.com/itsalexvacca/status/2049583033003765890](https://x.com/itsalexvacca/status/2049583033003765890)
---

Two weeks ago I published the playbook for building a $7M services-as-software business.
In this article, I'm putting together the entire operating system to run your own AI outbound service-as-a-software company.
We've sent 23M+ cold emails across 2,000+ campaigns at ColdIQ for 400+ B2B clients. The system that ran every one of them is five layers:
- Layer 1: Data and Intelligence. Turn the universe into a tiered, scored, enriched account book.
- Layer 2: Outreach and Execution. Get the message in front of the buyer, tiered by prospect value.
- Layer 3: Orchestration. Claude Code as the runtime that connects every API and runs the actual work.
- Layer 4: Reporting and Client Comms. Make a service feel like a product to the client.
- Layer 5: People and Knowledge. Keep the operating system intact when the operator changes.
Underneath all five sits a feedback loop that turns every campaign into a training example for the next one. That's what I want to walk you through.

# Layer 1: Data and Intelligence
The job of this layer is simple to state and hard to execute. Turn the addressable universe into a tiered, scored, enriched account book that knows who's worth touching, who's worth ignoring, and who's worth a personalized hand-written sequence from a senior AE.
The tools we run inside it:
- Apollo for the universe pull.
- Clay as the data layer that sits on top, where one table runs across every client we work with and 3X's their useful TAM. ColdIQ is Clay's #1 partner globally and one of four Elite Studio Clay Experts, and the table we run inside Clay is the closest thing the agency has to a memory.
- PredictLeads handles real-time firmographic signals like funding rounds and hiring triggers.
- Common Room covers community and product-adjacent signals.
- Apify and Exa handle anything the off-the-shelf tools don't.
For verified contact data we run a three-vendor waterfall.
1. Wiza runs first against LinkedIn profiles.
2. FullEnrich cascades through 20+ providers under the hood to catch what Wiza missed.
3. Prospeo cleans up the residual at 98%+ verified accuracy. Run the full waterfall and email coverage lands at 90%+ even on harder ICPs.
The layer's policy file is scoring-criteria.md. It defines what counts as Tier 1, Tier 2, Tier 3, or DQ for a given client. Two non-negotiable rules sit inside it:
1. Stack at least five signals per tier. One signal is functionally a guess, and Tier 1 lists built on a single signal don't survive a manual sanity check.
2. Score by signal density, not company size. A 200-person company hitting four of our five intent signals is a stronger lead than a 2,000-person company hitting one.
When this layer runs cleanly, the numbers come out the way you want them to. In one recent campaign rebuild we ran inside Claude Code, an Apollo CSV turned into 153 contacts in 90 seconds, and 149 of them had verified emails attached by the time the script finished. Same output you'd get from a half-day in the Clay UI, in a fraction of the time, with the policy file controlling every threshold so the rule doesn't drift between operators on the team.
The layer outputs the tiered account book. Everything that happens after this point is downstream of how disciplined this layer was.
Learn more about tiering your ICP:
> **Michel Lieben@MichLieben**: [原文链接](https://x.com/MichLieben/status/2047046395111366726)
>
# Layer 2: Outreach and Execution
The job of this layer is to put the message in front of the buyer across email, LinkedIn, and phone, with the routing decided by what the prospect's tier was in Layer 1.
We run Instantly for primary email volume. The platform handles warmup, deliverability monitoring, and inbox rotation underneath every campaign. We send 500K+ cold emails per month across four ESPs simultaneously, and the reason for four ESPs and not one is that deliverability in 2026 is a hard gate, not a best practice.
As of today, Microsoft killed Basic Auth for outbound mail. That is the kind of change that breaks single-ESP setups quietly, until a campaign goes silent and nobody knows why for a week. Across 2026 the gatekeepers (Google and Microsoft) have been retraining the spam classifiers on billions of new examples per month. The spam complaint threshold sits at 0.1%, which means one to two complaints per thousand emails can cook a sender domain entirely.
Instantly's 2026 benchmark report makes one thing clear about deliverability. The difference between hitting inbox and not hitting it is almost entirely sender infrastructure.

The infrastructure rules that have to be in place before any of this works:
- Never send from your primary domain. Use sender domains spun up specifically for outbound.
- Warm inboxes for four weeks before sending real campaigns.
- SPF, DKIM, and DMARC configured on day one of the warmup.
- Cap each inbox at 20-30 emails per day. Scale by adding inboxes, never by raising the cap.
The layer's policy file is copy-frameworks.md. It holds the patterns we've trained on the same emails that have generated $10M+ for our clients, plus a master prompt that clones the buyer psychology of our best AE on a good day. Four operating rules inside it determine whether replies actually show up:
- Cap each email at 80 words. Longer copy reads less.
- Relevance beats personalization. Use the signal data already pulled in Layer 1 instead of relying on first-name interpolation.
- Exactly one CTA per email. "Worth a conversation?" still works after a decade.
- A/B test the offer, not the adjectives wrapping it.
Here's the complete GTM playbook to run in 2026 (goes deeper on the aspects mentioned in this section):
> **Alex Vacca@itsalexvacca**: [原文链接](https://x.com/itsalexvacca/status/2032124171560583250)
>
# Layer 3: Orchestration. Claude Code as the Runtime.
The job of this layer is to connect every API and run the actual work.
For us, the runtime is Claude Code. The alternatives we tested (Cursor, Lovable, n8n positioned as the central layer) didn't survive the build. What survived was Claude Code with markdown files as the policy and a skills folder underneath as the memory.
Sitting at the bottom of every project is CLAUDE.md, the project-level operating system. Our Head of GTM has spent 600+ hours inside Claude Code across our build work, and the headline finding from that time has been simple. Without a clear, well-maintained CLAUDE.md, the model produces generic AI output regardless of the prompts. We keep ours under 200 lines, written in clear and direct language, and we update it whenever a convention or workflow shifts.
Sitting on top of that file, three policy markdown files get read at the top of every session:
- scoring-criteria.md from Layer 1.
- copy-frameworks.md from Layer 2.
- instantly-api-docs.md so the model stops guessing at endpoints when it builds the campaign payload.
And underneath everything sits .claude/skills/. Every time Claude Code makes a working API call, the script gets saved into that folder. Next campaign, the same script gets pulled out and run again, and the model only has to write a fresh script when something genuinely new is happening. Over time the folder fills with battle-tested code, and each next session opens with more of the plumbing already in place than the one before. Across the agency we currently run 58 Claude Code skills across 7 orchestrators, with 137 triggers wired underneath them.
On top of skills sit MCP servers for the live integrations the runtime needs to take real actions. We have one set wired in at the project level for Gmail, Sheets, Slack, the CRM, and the various databases the campaigns touch.

The pipeline that runs through this layer end to end is five steps: score, source, enrich, write, push. Each step is a prompt to Claude Code, and each prompt assumes the previous step's output is already sitting in the project folder. A campaign that used to take a full afternoon at ColdIQ now ships in under an hour, and the workflow gets sharper every time we run it because the markdown files and the skills scripts improve with every campaign.
A few slash commands worth knowing for the day-to-day inside Claude Code:
- /init builds a starter CLAUDE.md from existing code in your project.
- /compact summarizes context when a session starts running long.
- /memory reveals what the project currently remembers about itself.
- /cost tracks token usage as a session runs.
The whole layer is forkable across clients, which is the section coming up after the loop.
You can find more information on setting up your project files and using Claude code to run outbound, here:
> **Alex Vacca@itsalexvacca**: [原文链接](https://x.com/itsalexvacca/status/2049224354404389181)
>
# Layer 4: Reporting and Client Comms
The job of this layer is to make the service feel like a product to the client.
The cadence we run is the same across every account from day one:
- A live dashboard for every client, where every email sent, every reply, and every meeting booked shows up in real time. No monthly PDFs, no polish theater.
- A weekly Loom from the account owner covering wins, misses, and the next-week plan.
- A quarterly review with the decision-maker, not just the operator. That's where renewals happen.
The whole point of this layer is the experience asymmetry it creates.
The contract on the table looks like a service. The dashboard, the telemetry, and the weekly recap make it feel like a product. Clients consume the work the way they consume SaaS, in real time, on their schedule, without needing to wait for a monthly report.
Once a client has been inside that experience for two quarters, leaving feels like ripping out an internal tool, not switching agencies. The contract the client signed and the experience the client has are running in parallel, and the experience is the part that compounds into retention.
# Layer 5: People and Knowledge
The job of this layer is to keep the operating system intact when the operator changes.
This is the layer most agency founders never build, which is why most agency founders are still the bottleneck of their own business at $1M ARR. The work they did in year one lives in their head. The next hire learns the work by sitting next to them, which means the agency only scales as fast as the founder can clone themselves. That ceiling is real, and it doesn't need to be there.
The fix is a documentation library that turns the work into an asset. What we keep:
- Workflow files in markdown. One file per repeatable task, written as if you were handing it to someone who started Monday.
- Loom videos for anything involving a cursor, titled by client name and task.
- Decision logs per client. Every "why did we do it this way" note goes there, dated.
- A failed-campaigns file. What was tried, why it died. The most valuable artifact you'll produce in year one.
The hiring sequence sits on top of the documentation. Hire in this order, and don't skip:
1. Delivery operator. Someone who can run multiple accounts alone after a short shadowing period. The job is execution, not strategy.
2. Technical automator fluent in your stack. Their job is to turn workflow files into running agents.
3. Head of delivery. This is the person you were. They own quality and manage the first two hires.
Do not hire a marketer, a salesperson, or a COO before the delivery layer can run without you. Every early hire that isn't delivery is a rounding error at best and a burn-rate accelerator at worst. I replaced the last piece of work that still required my attention, and revenue went up the month after. The work was the ceiling.
The data moat sits underneath all of it. Every campaign produces inputs (enriched leads, technographic signals, tier assignments) and outputs (replies, meetings, booked deals, lost deals, the reasons each one went the way it did). Save both. The raw version and the cleaned version. 2,216 campaigns is the dataset that came out of doing the work by hand in year one. No SaaS competitor can buy, license, or ship around a dataset that deep, because nobody else ran the work for that long.
# How the 5 Layers Compose: The Compounding Loop
Most outbound stacks are funnels. A list goes in at the top, copy goes out the side, pipeline trickles out the bottom, and when the campaign ends, so does the data. Replies sit in Smartlead, bounces in Instantly, meeting notes in HubSpot, LinkedIn engagement in Sales Navigator, and enrichment output in Clay until the next pull overwrites it. Five data stores, zero feedback, and the next campaign starts from the same priors as the last one.
A real services-as-software stack is structurally different. Every output becomes an input somewhere else, which is why the system gets smarter every week instead of resetting every Monday.
There are four feedback edges that connect the five layers. Skip any one of them and the loop turns back into a fancier funnel.
Edge 1: Reply and bounce data into Layer 1 targeting. When a reply comes back saying "wrong contact" or "we don't buy from EU vendors," that's enrichment data your list missed, dressed up as a sales objection. A reply-classification step reads the reply, tags the reason, and writes it back to a "negative signal" column in the Clay table. The next list pull reads that column as an exclusion filter automatically.
Edge 2: Meeting outcomes into Layer 2 copy and Layer 1 ICP. Every disqualified meeting routes two ways. The stated objection feeds the next campaign's copy pass as a "do not promise this" constraint. The stated-need-we-don't-serve feeds the next list build as a lookalike input for who else might have the same need.
Edge 3: Engagement signals into Layer 2 cold email recognition. When a prospect reacts to a post from one of our team accounts, that engagement gets scraped, enriched, and written as a new column in the Clay table against the person's company. The next outbound that touches that company references what they engaged with, by name, in the first sentence of the email.
Edge 4: Enrichment plus outcome into Layer 1 list-building priors. Every campaign produces both an enrichment dataset and an outcome dataset. Both feed back into the next list build as priors, which means campaign two is seeded by everything campaign one learned.
The Clay table is the loop's memory. It accumulates state across every campaign, and that's what 3X's the useful TAM for every client we run. Funnels end at the bottom of the page. Loops keep paying for years.
# Forking the Whole Stack
The architecture survives client and campaign-type swaps cleanly. Onboarding a new client becomes mostly a writing exercise.
Each new client folder starts as a copy of the canonical template. Two voice-specific files get rewritten:
- scoring-criteria.md for the new ICP, with new signal definitions and new tier thresholds.
- copy-frameworks.md for the new tone of voice, with new templates and new cadence rules.
Everything else carries over. The API docs file stays. The .env configuration carries the same vendor keys. The .claude/skills/ folder carries the saved scripts that have been battle-tested across previous campaigns. The five layers' folder scaffolding (intelligence, outreach, orchestration, reporting, knowledge) all get inherited from the template without modification.
A new account spinning up in production looks like this. A delivery operator copies the template folder. They rewrite the two voice files for the new ICP and tone. They run the score-source-enrich-write-push pipeline through Claude Code, which pulls scripts out of the saved skills folder and only writes new ones for genuinely new edge cases. The first campaign goes live inside the same week the contract was signed.
That's the move that separates services-as-software from the agency model that came before it. In the old model, every new client meant every new piece of plumbing got rebuilt by hand. In the new model, every new client means a forked folder and two rewritten files.
The work that compounds across clients lives in the template. The work that's specific to the client lives in the two voice files. Nothing in between.
# What I'm Building for the People Who Want to Do This
The same five-layer system I described above runs the agencies launched out of the AI Agency Accelerator. 155 of them so far. 12 weeks. Full access to the template library, the scoring and copy frameworks, the skills folder my team runs every day, and 11 AI agents handed over from internal ColdIQ ops.
The program isn't for everyone. It isn't for someone who wants passive income, doesn't want client work, or just wants to learn about AI. It's an operating system for operators who want to install this stack inside their own agency, ship the first campaign through it inside week one, and stay in the work long enough for the loop to compound. If that's you, head to aiagency.io.
## 相关链接
- [Alex Vacca](https://x.com/itsalexvacca)
- [@itsalexvacca](https://x.com/itsalexvacca)
- [4.1K](https://x.com/itsalexvacca/status/2049583033003765890/analytics)
- [playbook](https://x.com/itsalexvacca/status/2044502868556992937)
- [$7M](https://x.com/search?q=%247M&src=cashtag_click)
- [Apr 23](https://x.com/MichLieben/status/2047046395111366726)
- [17K](https://x.com/MichLieben/status/2047046395111366726/analytics)
- [$10M](https://x.com/search?q=%2410M&src=cashtag_click)
- [Mar 12](https://x.com/itsalexvacca/status/2032124171560583250)
- [266K](https://x.com/itsalexvacca/status/2032124171560583250/analytics)
- [Apr 29](https://x.com/itsalexvacca/status/2049224354404389181)
- [9.7K](https://x.com/itsalexvacca/status/2049224354404389181/analytics)
- [$1M](https://x.com/search?q=%241M&src=cashtag_click)
- [aiagency.io](https://aiagency.io/)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [4:14 AM · Apr 30, 2026](https://x.com/itsalexvacca/status/2049583033003765890)
- [4,198 Views](https://x.com/itsalexvacca/status/2049583033003765890/analytics)
---
*导出时间: 2026/4/30 16:41:49*
---
## 中文翻译
# 如何构建“服务即软件”代理公司:五层运营体系
**作者**: Alex Vacca
**日期**: 2026-04-22T20:14:27.000Z
**来源**: [https://x.com/itsalexvacca/status/2049583033003765890](https://x.com/itsalexvacca/status/2049583033003765890)
---

两周前,我发布了构建一个价值 700 万美元的“服务即软件”业务的行动指南。
在本文中,我将整理出一整套操作系统,用于运营你自己的 AI 外呼型“服务即软件”公司。
在 ColdIQ,我们已为 400 多家 B2B 客户在 2000 多个营销活动中发送了超过 2300 万封冷邮件。支撑每一个活动的系统由五个层级构成:
- 第一层:数据与情报。将整个潜在市场转化为一本分层、评分、丰富化的客户账本。
- 第二层:触达与执行。根据潜在客户的价值分层,将信息传递到买家面前。
- 第三层:编排调度。以 Claude Code 作为运行时环境,连接所有 API 并执行实际工作。
- 第四层:报告与客户沟通。让服务在客户眼中感觉像一个产品。
- 第五层:人员与知识。确保操作者更换时,操作系统能保持完好。
在这五层之下,是一个反馈循环,它将每一次营销活动转化为下一次活动的训练样本。这正是我想带你们深入了解的内容。

# 第一层:数据与情报
这一层的任务说来简单,执行起来却很难。将可触达的潜在市场转化为一本分层、评分、丰富化的客户账本,明确谁值得接触、谁值得忽略、谁值得由资深客户经理(AE)亲自撰写一套个性化序列。
我们在这一层内部运行的工具:
- Apollo 用于拉取整个潜在市场。
- Clay 作为其上的数据层,一张数据表横跨我们所有的客户,将其可用 TAM 放大三倍。ColdIQ 是 Clay 在全球的第一大合作伙伴,也是四家 Elite Studio Clay 专家之一,我们在 Clay 中运行的这张数据表是这家代理公司最接近“记忆”的存在。
- PredictLeads 处理实时的企业信号,如融资轮次和招聘触发事件。
- Common Room 覆盖社区及产品相关信号。
- Apify 和 Exa 处理现成工具无法覆盖的一切。
对于经过验证的联系人数据,我们运行一个三家供应商的瀑布式流程。
1. Wiza 首先针对 LinkedIn 个人资料进行验证。
2. FullEnrich 在底层串联 20 多家供应商,以捕捉 Wiza 遗漏的部分。
3. Prospeo 以 98% 以上的验证准确率清理剩余部分。运行完整的瀑布流程后,即便面对较难触达的理想客户画像(ICP),邮件覆盖率也能达到 90% 以上。
这一层的策略文件是 scoring-criteria.md。它定义了对特定客户而言什么才算第一层级、第二层级、第三层级或取消资格(DQ)。文件中有两条不可妥协的规则:
1. 每个层级至少堆叠五个信号。单一信号在功能上等于猜测,建立在单一信号上的第一层级名单无法通过人工合理性检查。
2. 按信号密度评分,而不是按公司规模评分。一家命中我们五个意向信号中四个的 200 人公司,比一家只命中一个信号的 2000 人公司是更优质的潜在客户。
当这一层干净利落地运行时,产出的数据就会符合你的预期。在我们最近一次于 Claude Code 内部运行的营销活动重构中,一份 Apollo 的 CSV 在 90 秒内被转化为 153 个联系人,其中 149 人在脚本运行结束时已附带经过验证的邮箱。这与你在 Clay 界面中花半天时间得到的结果相同,但只用了极小部分时间,且策略文件控制着每一个阈值,确保规则不会在团队成员之间产生偏差。
这一层的输出是分层客户账本。此后发生的一切,都取决于这一层执行的严格程度。
了解更多关于 ICP 分层的内容:
> **Michel Lieben@MichLieben**: [原文链接](https://x.com/MichLieben/status/2047046395111366726)
>
# 第二层:触达与执行
这一层的任务是将信息通过邮件、LinkedIn 和电话传递到买家面前,而路由决策取决于潜在客户在第一层中的层级。
我们使用 Instantly 处理主要的邮件发送量。该平台在每次营销活动底下处理预热、送达率监控和收件箱轮换。我们每月通过四家邮件服务商(ESP)同时发送超过 50 万封冷邮件,之所以用四家而不是一家,是因为在 2026 年,送达率是一道硬性门槛,而非最佳实践。
截至今天,微软已终止外发邮件的基本身份验证(Basic Auth)。这类变更会悄无声息地搞垮单一 ESP 的配置,直到某个营销活动陷入沉寂,而没人知道原因长达一周。整个 2026 年,守门人(谷歌和微软)一直在用每月数十亿条新样本重新训练垃圾邮件分类器。垃圾邮件投诉阈值为 0.1%,这意味着每千封邮件中一到两个投诉就可能彻底毁掉一个发件域名。
Instantly 的 2026 年基准报告就送达率阐明了这一点:能否进入收件箱,差异几乎完全取决于发件基础设施。

在这一切生效之前,必须就位的基础设施规则:
- 永远不要用你的主域名发送。使用专门为外发而搭建的发件域名。
- 在发送真正的营销活动之前,先预热收件箱四周。
- 预热的第一天就配置好 SPF、DKIM 和 DMARC。
- 每个收件箱每天上限 20-30 封邮件。通过增加收件箱来扩量,永远不要提高上限。
这一层的策略文件是 copy-frameworks.md。其中保存了我们基于那些曾为客户创造超过 1000 万美元收入的邮件所训练出的文案模式,外加一个主提示词,能在我们的最佳 AE 状态好的日子里克隆其买家心理。其中四条运行规则决定了回复是否真的会出现:
- 每封邮件上限 80 个词。更长的文案阅读率更低。
- 相关性胜过个性化。使用第一层已经拉取的信号数据,而不是依赖名字插值。
- 每封邮件恰好一个行动号召(CTA)。十多年过去了,“值得聊一聊吗?”依然有效。
- A/B 测试的是报价方案本身,而不是包裹它的形容词。
这是 2026 年可以执行的完整 GTM 操作手册(深入探讨了本节提到的各个方面):
> **Alex Vacca@itsalexvacca**: [原文链接](https://x.com/itsalexvacca/status/2032124171560583250)
>
# 第 3 层:编排。Claude Code 作为运行时。
这一层的任务是将所有 API 连接起来,并执行实际的工作。
对我们来说,运行时就是 Claude Code。我们测试过的替代方案(Cursor、Lovable、以及作为中心层的 n8n)都没能在构建过程中存活下来。最终留下来的方案是 Claude Code,以 markdown 文件作为策略,其下的 skills 文件夹作为记忆。
每个项目的最底层是 CLAUDE.md,它是项目级的操作系统。我们的 GTM 负责人在构建工作中已经在 Claude Code 里花了 600 多个小时,而这段时间得出的核心结论很简单:如果没有一份清晰、维护良好的 CLAUDE.md,无论提示词写得多好,模型产出的都是千篇一律的 AI 输出。我们把 CLAUDE.md 控制在 200 行以内,用清晰直接的语言编写,并在任何规范或工作流发生变化时及时更新。
在这个文件之上,有三个策略 markdown 文件会在每次会话开始时被读取:
- 来自第 1 层的 scoring-criteria.md。
- 来自第 2 层的 copy-frameworks.md。
- instantly-api-docs.md,让模型在构建活动 payload 时不再瞎猜 API 端点。
而在所有东西之下的是 .claude/skills/。每当 Claude Code 成功进行一次 API 调用,该脚本就会被保存到这个文件夹里。下一次活动时,同一个脚本会被取出并重新运行,只有当真正出现新情况时,模型才需要编写新脚本。随着时间推移,这个文件夹里会积累大量经过实战检验的代码,每一次新会话开始时,需要现搭的管道都比上一次更少。目前我们在整个机构中,跨 7 个编排器运行着 58 个 Claude Code skills,其下接入了 137 个触发器。
在 skills 之上是 MCP 服务器,用于运行时执行真实操作所需的实时集成。我们在项目层级接入了一套 MCP,覆盖 Gmail、Sheets、Slack、CRM,以及活动所涉及的各类数据库。

贯穿这一层端到端的流程有五个步骤:评分、寻源、丰富、撰写、推送。每一步都是给 Claude Code 的一条提示词,而每条提示词都假设上一步的输出已经保存在项目文件夹里。过去在 ColdIQ 一个活动需要耗费整个下午,现在一小时内就能交付,而且每次运行这个工作流都会变得更精准,因为 markdown 文件和 skills 脚本会随着每个活动不断改进。
在日常使用 Claude Code 时,有几个值得了解的斜杠命令:
- /init 根据项目中的现有代码生成一份起始 CLAUDE.md。
- /compact 在会话运行时间过长时总结上下文。
- /memory 显示项目当前记住了关于自身的哪些内容。
- /cost 在会话运行时追踪 token 用量。
整个这一层可以跨客户进行 fork,这也是接下来循环之后的章节要讲的内容。
关于如何搭建项目文件以及使用 Claude Code 运行外呼业务的更多信息,请参见这里:
> **Alex Vacca@itsalexvacca**: [原文链接](https://x.com/itsalexvacca/status/2049224354404389181)
>
# 第 4 层:报告与客户沟通
这一层的任务是让这项服务在客户眼中像一个产品。
我们从第一天起在每个账户上运行的节奏都是一样的:
- 为每个客户提供实时仪表盘,每一封发出的邮件、每一个回复、每一场 booked 的会议都实时呈现。没有每月 PDF,没有粉饰性的表演。
- 每周由客户负责人录制一期 Loom 视频,涵盖成果、失误和下周计划。
- 与决策者(而不仅仅是执行者)进行季度回顾。续约就发生在这里。
这一层的全部意义在于它所创造的体验不对称性。
桌面上的合同看起来像一份服务。而仪表盘、遥测数据和每周总结让它感觉像一个产品。客户像消费 SaaS 一样消费这项工作:实时、按自己的节奏,无需等待月度报告。
一旦客户在这样的体验中待了两个季度,离开就像拆掉一个内部工具,而不是更换一家代理机构。客户签署的合同和客户获得的体验是并行运行的,而体验正是不断累积成留存率的那一部分。
# 第 5 层:人员与知识
这一层的任务是保证操作员更换时,操作系统依然完好无损。
这是大多数代理机构创始人从未搭建的一层,这就是为什么在 100 万美元 ARR 时,大多数代理机构创始人仍然是自己业务的瓶颈。他们在第一年所做的工作都存在自己脑子里。下一个新人是通过坐在旁边学习来掌握工作的,这意味着代理机构的扩张速度只能取决于创始人克隆自己的速度。这个天花板是真实存在的,而且它本不必存在。
解决办法是建立一个文档库,把工作变成资产。我们保存的内容包括:
- Markdown 格式的工作流文件。每个可重复的任务一个文件,写的时候要当作你是在交给一个周一刚入职的人。
- 任何涉及鼠标操作的内容都录成 Loom 视频,以客户名称和任务命名。
- 每个客户的决策日志。每一条“我们为什么这样做”的记录都放进去,并注明日期。
- 一个失败活动文件。尝试了什么、为什么失败。这是你在第一年所能产出的最有价值的文档。
招聘顺序建立在文档体系之上。按这个顺序招聘,不要跳过:
1. 交付操作员。经过短暂的跟随学习期后,能够独立运行多个账户的人。这份工作是执行,而不是战略。
2. 精通你的技术栈的技术自动化人员。他们的任务是把工作流文件变成可运行的 agent。
3. 交付负责人。这就是曾经的你。他们负责质量,并管理前两名新员工。
在交付层能够在没有你的情况下运转之前,不要雇用营销人员、销售人员或首席运营官(COO)。每一个与交付无关的早期雇员,充其量只是一个微不足道的误差,最坏则是加速资金消耗的助推器。当我替换掉了最后一块仍需要我亲自操手的工作后,第二个月的收入就上升了。工作本身才是天花板。
数据护城河坐落在这一切之下。每一个营销活动都会产生输入(富集后的线索、技术栈信号、分层归属)和输出(回复、会议、已成交的订单、丢单,以及每一单走向背后的原因)。两者都要保存。原始版本和清洗后的版本。2,216 个营销活动就是第一年手工做单积累出来的数据集。没有任何 SaaS 竞争对手能够购买、授权或绕开如此深度的数据集,因为没有别人把这项工作坚持了那么久。
# 五层如何组合:复利循环
大多数外呼获客技术栈都是漏斗。名单从顶部进入,文案从侧面输出,商机从底部涓涓流出,营销活动结束时,数据也就没了。回复躺在 Smartlead 里,退信在 Instantly 里,会议记录在 HubSpot 里,LinkedIn 互动在 Sales Navigator 里,而富集结果躺在 Clay 里,直到下一次拉取将其覆盖。五个数据存储,零反馈,下一个营销活动从和上一个相同的先验假设开始。
一个真正的“服务即软件”技术栈在结构上是不同的。每一个输出都会在某处变成输入,这就是为什么系统每周都在变得更聪明,而不是每周一都归零重来。
有四条反馈边连接着这五层。跳过任何一条,这个循环就会退化成一个更花哨的漏斗。
边 1:回复和退信数据回流到第一层的定向。当一条回复说“联系人不对”或“我们不从欧盟供应商采购”时,那是你的名单遗漏的富集数据,只是包装成了销售异议。一个回复分类步骤读取回复,标记原因,并将其写回 Clay 表中的一个“负面信号”列。下一次名单拉取会自动把该列作为排除过滤器。
边 2:会议结果回流到第二层文案和第一层 ICP。每一个被取消资格的会议都有两条路由。客户陈述的异议会作为“不要承诺这一点”的约束条件输入到下一个营销活动的文案环节。客户陈述的我们无法满足的需求,会作为相似受众输入到下一次名单构建中,用于寻找可能存在同样需求的其他人。
边 3:互动信号回流到第二层冷邮件识别。当潜在客户对我们团队账号的帖子做出反应时,这个互动会被抓取、富集,并作为新列写入该人员所在公司的 Clay 表中。下一次触达该公司的外呼,会在邮件的第一句中直接点名提及他们互动过的内容。
边 4:富集加结果回流到第一层名单构建的先验。每一个营销活动都会产生一个富集数据集和一个结果数据集。两者都作为先验反哺到下一次名单构建中,这意味着第二个营销活动是由第一个营销活动学到的一切来播种的。
Clay 表是这个循环的记忆。它跨越每一个营销活动积累状态,这就是我们为每个客户将可用 TAM 扩大 3 倍的原因。漏斗在页面底部就结束了。而循环能持续多年产生回报。
# 分叉整个技术栈
这套架构可以干净地应对客户和营销活动类型的切换。新客户的入职基本上变成了一项写作练习。
每个新客户文件夹都从规范模板的副本开始。只有两个与“声音”相关的文件需要重写:
- scoring-criteria.md,针对新的 ICP,包含新的信号定义和新的分层阈值。
- copy-frameworks.md,针对新的语气风格,包含新的模板和新的触达节奏规则。
其他一切都延续下去。API 文档文件保留。.env 配置沿用同样的供应商密钥。.claude/skills/ 文件夹保留着经过历次营销活动实战检验的已保存脚本。五层的文件夹骨架(情报、外呼、编排、报告、知识)全部从模板继承,无需修改。
一个新账户在生产环境中启动的过程是这样的:一名交付操作员复制模板文件夹。他们为新 ICP 和语气重写那两个“声音”文件。他们通过 Claude Code 运行评分-信源-富集-写入-推送流水线,该流水线从保存的技能文件夹中调取脚本,只为真正的新边缘情况编写新脚本。第一个营销活动在合同签署的同一周内上线。
这就是“服务即软件”区别于此前的代理机构模式的关键之举。在旧模式中,每来一个新客户,意味着每一根管道都要靠手工重建。在新模式中,每来一个新客户,意味着一个分叉的文件夹和两个重写的文件。
跨客户复利的工作存在于模板中。特定于客户的工作存在于那两个“声音”文件中。两者之间没有任何东西。
# 我在为想要这样做的人构建什么
上面描述的同一套五层系统,正驱动着从 AI Agency Accelerator(AI 代理机构加速器)中孵化出来的代理机构。目前已达 155 家。为期 12 周。你将获得模板库、评分和文案框架、我团队每天使用的技能文件夹的完整访问权限,以及从 ColdIQ 内部运营中交接出来的 11 个 AI 智能体。
这个项目并不适合所有人。它不适合那些想要被动收入的人,不适合不想做客户工作的人,也不适合只想了解 AI 的人。它是一个为运营者准备的操作系统,面向那些想在自己的代理机构内部署这套技术栈、在第一周内就让第一个营销活动上线,并愿意在这个领域深耕足够久以让循环产生复利的人。如果你就是这样的人,请前往 aiagency.io。
## 相关链接
- [Alex Vacca](https://x.com/itsalexvacca)
- [@itsalexvacca](https://x.com/itsalexvacca)
- [4.1K](https://x.com/itsalexvacca/status/2049583033003765890/analytics)
- [playbook](https://x.com/itsalexvacca/status/2044502868556992937)
- [$7M](https://x.com/search?q=%247M&src=cashtag_click)
- [4月23日](https://x.com/MichLieben/status/2047046395111366726)
- [17K](https://x.com/MichLieben/status/2047046395111366726/analytics)
- [$10M](https://x.com/search?q=%2410M&src=cashtag_click)
- [3月12日](https://x.com/itsalexvacca/status/2032124171560583250)
- [266K](https://x.com/itsalexvacca/status/2032124171560583250/analytics)
- [4月29日](https://x.com/itsalexvacca/status/2049224354404389181)
- [9.7K](https://x.com/itsalexvacca/status/2049224354404389181/analytics)
- [$1M](https://x.com/search?q=%241M&src=cashtag_click)
- [aiagency.io](https://aiagency.io/)
- [升级到高级版](https://x.com/i/premium_sign_up)
- [2026年4月30日 4:14 AM](https://x.com/itsalexvacca/status/2049583033003765890)
- [4,198 次浏览](https://x.com/itsalexvacca/status/2049583033003765890/analytics)
---
*导出时间: 2026/4/30 16:41:49*