# how to master AI marketing in 30 days (the exact roadmap)
**作者**: KNOX
**日期**: 2026-08-10T20:32:00.000Z
**来源**: [https://x.com/knoxtwts/status/2086913475192803397](https://x.com/knoxtwts/status/2086913475192803397)
---

forty ad accounts run through my machine every morning, on about four hours of my day.
nothing about that is talent. i didn't get faster at the work, i stopped doing the work by hand.
that swap is the whole lesson, so let me name what actually fills the gap before anyone sells you something else.
> not a creative testing framework > not a thousand-ai-ads-a-day pipeline > not targeting tricks (there is no targeting anymore, the algorithm took it) > not a dashboard you stare at > definitely not an agency retainer
which at most sizes is a subscription tax on not wanting to look at your own numbers.
## it's a folder of text files that do the work while you sleep.
get your eye rolls in now, because we're done joking.
everything below is the actual build, four weeks (or 4 hours - you decide), and you're getting the complete files... not descriptions of files, the files.
paste them into claude code and they run.
## what you'll have on day 30:
```
1. researcher.md, an agent that mines what customers actually type when they're angry
2. creative-line.md, one brief in, forty genuinely different ad concepts out, for a couple of dollars
3. account-reader.md, a kill list and a scale list every morning, and it touches nothing
4. spy.md, a monday diff on every competitor that only speaks when something changed
the wiring that runs all four on a schedule while you're asleep
```
we start now.
## day 0: the shopping list
before day 1, get the boring part done in one sitting, because nothing below works without it.
claude code is the runtime for everything here. install it from [claude.com/code](//claude.com/code), sign in with a claude subscription (max only - don't be cheap), open it inside an empty folder. that is the entire install. if you can open a terminal, you're qualified.
then the accounts, all free tiers or pennies:
```
1. apify, free tier. it runs the three scrapers the researcher eats (google maps reviews, reddit, youtube comments) from its web console, zero code
2. the autoady mcp, the wiring that plugs claude straight into your meta ad account. week 3 runs on it...
3. kie.ai key for rendering week 2's concepts, a few cents an image
4. a firecrawl key, free tier, for the spy's weekly page pulls
```
every key goes into one file called .env inside marketing-department, and keys stay out of prompts and skill files. when a skill needs a tool, claude reads the key from .env and writes its own glue code. you will not be writing python this month.
day 0 is an hour, and most of it is waiting for verification emails.
## week 1, days 1 to 7: the foundation and the researcher
first, the two laws. everything else in this article obeys them.
repeat after me: agents propose, they never act. i gave an early agent pause rights on live ads. it was right most days, then it killed a good ad on a bad monday, and i shut the whole thing off. an agent that acts gets one mistake. an agent that proposes gets to be wrong every week and keep its job. and an agent with budget control is a donation.
second law: numbers live in files, never in prompts. so day 1 is not a prompt, it's a file. create a folder called marketing-department, and inside it write thresholds.md while you're still rational:
```
thresholds.mdkill_spend_floor: 25 euros spent with zero results, propose off
kill_cpl: cost per lead above 2x my trailing 30-day baseline, propose offkill_frequency: frequency past 3.5, propose off
verdict_floor: no verdict on any ad under 3x target cpl in spend.
below that an ad has been sampled, not tested. it goes in no list.target_cpl: [your number]
baseline_cpl_30d: [update weekly, never from memory]
```
if you're newer to this, here's what those lines are actually saying.
cost per lead is what one enquiry costs you, spend divided by leads.
the first line kills anything that ate 25 euros without producing a single one. that's a dud, and duds don't recover, they just keep eating.
the 2x line kills ads doing twice as badly as your own recent normal... not the industry's normal, yours, which is why the baseline gets updated weekly and never from memory.
frequency is how many times the same person has already seen the ad, and past 3.5 you're not reaching new people anymore, you're taxing the same ones.
and the floor stops the opposite mistake, which costs beginners more than all the other mistakes combined: judging an ad on 9 euros of data. under 3x your target cost per lead in spend, the ad hasn't answered yet.
what this file does psychologically is the real feature. the kill decision moves from you-at-11pm, staring at a red number after a bad day, to a call you made calmly weeks ago. you stop negotiating with yourself. you just read the list.
days 2 to 4, build the researcher. the best angles are never in the brand deck, they're in the reviews. this is the complete skill file, paste it as researcher.md:
```
researcher.md
you mine the real language of one market. you never write copy. you collect evidence.
INPUTS: a niche, and a folder of raw scrapes i provide: 1 and 2 star google reviews of the 10 biggest players (apify google maps reviews scraper), 12 months of the subreddits where this buyer complains (apify reddit scraper), comments under the 10 biggest videos in the space (apify youtube comments scraper)
STEP 1: read every file raw. never clean, never fix typos. the voice is the data.
STEP 2: extract pain, one row per line of pain, exactly this format. verbatim: the customer's sentence copied exactly, typos and caps and all. emotion: one of frustration, fear, envy, relief. object: the thing complained about, as a noun.
RULES, in order of importance: if you had to rephrase a line to make it readable, discard it entirely. never merge two rows because they sound alike. never correct spelling or grammar. no summaries, no themes, no advice. skip every compliment.
STEP 3: rank the rows by how few competitors are using that angle. check the meta ad library for the top 5 competitors before ranking. a pain line nobody is running is worth ten everyone is.
OUTPUT: write voc.md in this folder. rows only. you are done when voc.md exists. never write ad copy. that is not your job.
```
the discard rule is doing all the work in there. a pain line you cleaned up is a marketing sentence again, and marketing sentences are why every ad in the feed sounds like the same intern.
the setup, so nobody stalls here: each scraper runs from apify's website. search their store for the scraper by name, paste your ten competitor urls or subreddit names, press start, download the result as json. drop the files into marketing-department/scrapes/. that is the whole integration... the researcher reads files, it never browses. three scrapers, about twenty minutes of clicking, mostly inside the free tier.
when it runs, voc.md comes back looking like this. two real rows from a run in the home services space:
verbatim: "bought the cheapest one, two summers later my bill was higher than a good unit would've cost" · emotion: frustration · object: the cheap unit
verbatim: "third company we called, first one that didn't leak by july" · emotion: relief · object: the install
plus a seasonal one, from a man who called during a heatwave and got quoted six weeks out.
read those next to any brand's own copy about quality and service and you can feel the difference. the first row is an ad about total cost.
the second is an ad about workmanship that never says the word. and the heatwave one is a book-early ad that rewrites itself every spring.
that's the use case in one line: you are not collecting complaints, you are collecting ads that haven't been made yet.
days 5 to 7, run it on your market and read voc.md slowly. one run of this surfaced "bought the cheapest one, two summers later my bill was higher than a good unit would've cost" for an ac installer. that one sentence became a static pulling leads at 6.60 in a market paying double that. the sentence was sitting in a one-star review the whole time, free, and every competitor scrolled past it.
## week 2, days 8 to 14: the creative line
the herd approach here is free-prompting an image model. "make me a professional ad." what comes back is the plastic look, a melted logo, text you can't read at thumbnail, and then the herd concludes ai creative doesn't work. the model was never the problem. the freedom was.
one fact before the file, because the whole design hangs on it: since meta's andromeda update the auction groups near-identical ads and scores them as one entry. five versions of one poster with swapped headlines is one ad wearing five outfits, and you paid five times for one test. variety is the currency. this file manufactures variety on purpose:
```
creative-line.md
you turn one brief into 40 genuinely different ad concepts. you never render. you never invent facts. every claim comes from the brief or voc.md.
INPUTS: brief.md with four lines: the buyer, one pain line PASTED from voc.md, the offer, a ban list. plus voc.md itself.
STEP 1: output 40 image concepts, numbered, one line each. every concept names the scene, the subject, the shot distance, the time of day, and what the headline is physically doing in frame.
DIVERSITY RULES, non negotiable: no two concepts share both a scene and a shot distance. at least 8 have no product in frame at all. 6 or more are text led with the product implied, and another 6 are framed as if a customer shot them on a phone. no centred subject on a gradient, ever. if you cannot reach 40 under these rules, write SHORT BY N. never pad.
STEP 2: for each concept, write the render prompt. one idea per image. the headline is decided HERE, in text, before any model renders. line one of every ad is the customer half-talking to themselves in words from voc.md, never the brand talking about itself.
HARD RULES: a real product photo goes in as reference on every product shot. if the product is physical and no photo exists, the concept becomes typographic: bold type, their colours, one real number. never let an image model draw a product. it draws something almost right, and almost right reads as fake. proof is a number, never an adjective.
OUTPUT: concepts.md with all 40, render-ready.
```
days 11 to 12, render. the hookup first: creative-line.md never touches an image model, it writes concepts.md. on day 11 you tell claude code "render every concept in concepts.md through the kie api, key is in .env" and it writes the loop itself, batches the renders, files the outputs by concept number. you review images over coffee, you don't build infrastructure.
route by price, never by taste: the cheap model class (nano banana) runs a few cents an image, so all forty render overnight for a couple of dollars. survivors get re-rendered at 2k, roughly forty cents each, and only what's about to ship ever touches the expensive model.
## and here's one concept walked end to end so you can watch the whole line fire.
the pain line: the cheap-unit review from week 1.
the concept row: a do-the-math split, no people in frame, the headline doing the math in the customer's own logic. and the render prompt, condensed:
```
"create a meta ad static, 1:1, 2k. template: do-the-math split. line 1, in the customer's words: 'the 600 euro aircon that costs you 1,400.' left side, the cheap unit with five years of running costs stacked under it. right side, the proper install landing lower over time. proof bar: two real numbers. cta pill: one free ten-second action. use the attached photo as the product reference and only the attached brand colours. text legible at thumbnail, no stock-photo energy, no invented logos, one clean idea."
```
two minutes and roughly forty cents later that split existed. it went on to pull leads at 6.60 in a market paying double, and the headline did all of it... a headline that came out of a one-star review, not out of anyone's imagination.
days 13 to 14, cull to twelve with your coffee and be violent about it. a killed concept cost you four cents. a weak one that goes live costs real budget and a piece of your nerve.
by the end of week 2 you can make fifteen genuinely different swings in an afternoon for less than lunch. a designer at 200 a concept cannot feed the auction that variety. you now can.
worth knowing before you build it: this whole line already lives inside autoady. it reads your landing page, mines the winning dna sitting in your own account, and fires the concept batch itself. building it teaches you why it works. the machine is for when you'd rather it just ran.
## week 3, days 15 to 21: the account reader
week three is where the money stops leaking, and it starts with the least glamorous thing in this article.
day 15, naming. every ad gets one string: concept_angle_format_iteration, vocabulary held in one file. an account full of img_4471_copy can only tell you which filename won. named ads tell you which idea won, across every account you touch. rename everything live before you build the agent, or the agent reads garbage and reports garbage.
days 16 to 18, the account reader. complete file, paste as account-reader.md:
```
account-reader.md
you read ad accounts and propose. you never touch anything. you have no pause rights, no budget rights, no edit rights. proposing is the entire job.
INPUTS: ad level rows with spend, results, cpl and days live per ad. pulled through the autoady mcp or a plain csv export, either works. plus thresholds.md.
STEP 1: read thresholds.md first. every number you apply comes from there. if a threshold is missing, stop and say so. never infer one.
STEP 2: output exactly two lists and one line, nothing else.
KILL: every ad past the verdict floor whose cpl is above target or whose results are zero. one line per ad: name, spend, results, cpl, and the exact threshold it broke.
SCALE: every ad past the verdict floor at or under target cpl. same columns plus its current daily budget.
UNDER FLOOR: the count of ads that have not yet spent 3x target cpl. they go in neither list. do not comment on them.
RULES: do not rank. do not recommend budgets. do not explain metrics. never write a paragraph. two lists and a count. write the output as a dated file, reports/YYYY-MM-DD.md, never overwrite.
FATIGUE CHECK, run weekly: flag any ad where last-7-day ctr sits more than 25 percent below its 30-day ctr AND frequency is above 2.5. both conditions together. either one alone is noise, do not flag it.
```
a morning report reads like this:
```
KILL: warranty_homeowner_static_3, 41 spent, 0 leads, broke kill_spend_floor
KILL: price_landlord_ugc_1, 96 spent, 4 leads, cpl 24, broke kill_cpl
SCALE: speed_homeowner_screenshot_2, 87 spent, 11 leads, cpl 7.9, budget 20
UNDER FLOOR: 6
```
thirty seconds to read. every line has already argued its case, because the threshold it broke is named right there in the row. your job is one veto or none, and then you're done with that account for the day.
the "never write a paragraph" rule looks petty. it's the survival mechanism. my first version wrote thoughtful essays about each account and i stopped reading them inside a week. two lists get read forever.
the data hookup is one move: connect the autoady mcp. it plugs claude straight into your meta ad account... every ad's spend, results and cpl lands in front of the agent live, and the kill and scale calls arrive pre-computed against your thresholds.
days 19 to 21, run it daily by hand and calibrate. when you disagree with a kill, do not argue with the agent, fix thresholds.md. the file is where your judgement accumulates. that's the point of the file.
## week 4, days 22 to 30: the spy, then the wiring
days 22 to 24, the spy. complete file, paste as spy.md:
```
spy.md
you watch competitors and report differences. you never summarise, never rank, never recommend. a quiet week produces a quiet report.
INPUTS: this week's pull and last week's pull, per competitor: their live ads (apify facebook ad library scraper), their landing and pricing pages (firecrawl), and the destination page of each ad. this is where they edit quietly. prices move on landing pages weeks before ads change.
OUTPUT, differences only:
NEW ADS: full copy, date it went live
GONE: ads gone since last week, with days run
CHANGED COPY: old line, then new line
CHANGED PAGE: headline, price, guarantee, form fields. old, then new.
NO CHANGE: a competitor who changed nothing gets their name and the words NO CHANGE. one line. this line is mandatory and it is the whole report some weeks. write it with pride.
```
setup is two tools you already own from day 0: the apify facebook ad library scraper for their live ads, and firecrawl for their landing and pricing pages, whose free tier covers a handful of competitors weekly. both pulls land as dated folders, this week next to last week, and the spy diffs the two. the monday cron does the pulling before the spy ever wakes up. and the ad-library half of this is already wired inside autoady too... competitor creatives arrive on tap, with the winning-ad breakdowns next to them, while the scraper route stays for the landing pages.
the no change line decides whether future-you still opens this file in march. a report that pads a quiet week teaches you it's optional, and two of those means you stop reading. one that says no change in five words has earned the read on the week a competitor drops their price.
and since a report is only as good as the moves it triggers, here's how to read a diff. an ad that vanished after six days means the angle failed, note it so you never test it with your own money. an ad passing thirty days means it pays, study every choice in it. a price that moved on their landing page means your own offer conversation now has a deadline of about a week.
days 25 to 28, the wiring, which is where this actually breaks for people. each agent runs headless on a schedule, and one command runs any of them:
```
claude -p "$(cat account-reader.md)" --allowedTools "Read,Write,Glob,Grep,Bash" --max-turns 40 --permission-mode acceptEdits
```
and the schedule, cron on linux, launchd on mac:
```
0 7 * cd ~/marketing-department && bash run.sh account-reader
0 6 1 cd ~/marketing-department && bash run.sh spy
30 5 * cd ~/marketing-department && bash run.sh researcher
```
three lessons in those lines, each of which cost me an evening.
first, the tool list is a hard allowlist, and a tool the file needs but you didn't list does not produce an error. the run sits silently forever, writes nothing, and exits clean. an empty morning with no error message is almost always this line, not your prompt.
headless runs bill the claude subscription you already pay for, not api credits. mine kept working through a week when the api balance was at zero.
and put a cheap script in front of the model wherever you can... a python pass that checks whether there's anything worth reading and exits early, so no model wakes up for an empty day.
one decision guide before the final stretch, because nobody should build all four at once. already running ads: start with the account reader, it pays for itself the first morning. no ads live yet: start with the researcher, everything downstream eats what it produces. doing client work: start with the spy, because a monday diff on their competitors reads like magic and costs you a cron line.
days 29 to 30, run the whole loop once, end to end, on one account. mine the language, generate the batch, launch named, read the two lists, diff the competitors. that's not really it, though. the loop only compounds if you feed the files: every kill you disagree with tightens thresholds.md, every winning ad's first six words go back into the brief. agents run the loop. files learn.
## what you are actually holding now
four skill files, a thresholds file, and a schedule. that's the department.
the numbers this exact machine has produced on live accounts, so you know the ceiling is real: a rent-reframe angle at 1.21 a lead across 175 leads.
the 6.60 static at half its market's going rate. one account moved from eight tests a month to over forty.
what stays yours is the offer, the pricing, the judgement call the numbers can't settle, and every conversation with a human. the agents own the throughput. you own the taste.
and if you read all this and thought "i want the department without the 30 days"... checkout [autoady.io](//autoady.io) (thank me later).
day one is a text file. go write it tonight.
## 相关链接
- [KNOX](https://x.com/knoxtwts)
- [@knoxtwts](https://x.com/knoxtwts)
- [2.3K](https://x.com/knoxtwts/status/2086913475192803397/analytics)
- [claude.com/code](https://claude.com/code)
- [autoady.io](https://autoady.io/)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [4:32 AM · Aug 11, 2026](https://x.com/knoxtwts/status/2086913475192803397)
- [2,320 Views](https://x.com/knoxtwts/status/2086913475192803397/analytics)
- [View quotes](https://x.com/knoxtwts/status/2086913475192803397/quotes)
---
*导出时间: 2026/8/11 14:54:45*
---
## 中文翻译
# 如何在30天内掌握AI营销(精确路线图)
**作者**: KNOX
**日期**: 2026-08-10T20:32:00.000Z
**来源**: [https://x.com/knoxtwts/status/2086913475192803397](https://x.com/knoxtwts/status/2086913475192803397)
---

每天早晨,四十个广告账户在我的机器上跑完,只占用我大约四个小时。
这跟天赋毫无关系。我不是干活更快了,而是不再手工干活了。
这个转变就是全部的经验,所以在任何人向你推销别的东西之前,让我先说出真正填补差距的是什么。
> 不是创意测试框架 > 不是每天一千条AI广告的流水线 > 不是定向技巧(已经没有定向了,算法早就接管了) > 不是让你盯着看的仪表盘 > 绝对不是代理服务费
在大多数规模下,那只是你不想看自己数据而交的订阅税。
## 它就是一个文本文件文件夹,在你睡觉时替你干活。
现在把白眼翻完吧,因为玩笑到此为止。
下面的一切都是真实的搭建过程,四周(或者4小时——你自己决定),你将拿到完整的文件……不是文件的描述,而是文件本身。
把它们粘贴到claude code里,它们就能跑起来。
## 第30天你将拥有什么:
```
1. researcher.md,一个智能体,挖掘客户在愤怒时真正输入的内容
2. creative-line.md,一份简报进去,四十个真正不同的广告概念出来,只需几美元
3. account-reader.md,每天早上给你一份淘汰清单和一份放量清单,而且它什么都不碰
4. spy.md,每周一对比所有竞争对手,只在有变化时才开口
以及在你睡觉时按计划运行这四个智能体的调度配置
```
现在开始。
## 第0天:购物清单
在第1天之前,一次性把无聊的部分做完,因为下面的一切都离不开它。
claude code是这里所有东西的运行环境。从[claude.com/code](//claude.com/code)安装,用claude订阅登录(必须max版——别抠门),在一个空文件夹里打开它。这就是全部安装步骤。如果你能打开终端,你就够格了。
然后是账户,全部免费档或几分钱:
```
1. apify,免费档。它运行researcher所需的三个爬虫(谷歌地图评论、reddit、youtube评论),从网页控制台操作,零代码
2. autoady mcp,把claude直接接入你的meta广告账户的接线。第3周靠它运行……
3. kie.ai密钥,用于渲染第2周的概念图,每张图几分钱
4. firecrawl密钥,免费档,供spy每周抓取页面用
```
所有密钥都放进marketing-department文件夹里的一个.env文件中,密钥不进入提示词和技能文件。当某个技能需要工具时,claude从.env读取密钥并自己编写胶水代码。这个月你不需要写python。
第0天只需要一个小时,大部分时间在等验证邮件。
## 第1周,第1到7天:基础与researcher
首先,两条法则。本文其余内容都遵循它们。
跟我念:智能体只提建议,从不行动。我曾给一个早期智能体对在投广告的暂停权限。它大多数时候是对的,然后在一个糟糕的周一杀掉了一条好广告,我就把整个东西关掉了。一个会行动的智能体只能犯一次错。一个只提建议的智能体可以每周犯错而保住工作。而一个有预算控制权的智能体就是捐款。
第二条法则:数字存在文件里,永远不放进提示词。所以第1天不是提示词,而是一个文件。创建一个叫marketing-department的文件夹,趁你还理性的时候在里面写thresholds.md:
```
thresholds.mdkill_spend_floor: 花费超过25欧元且零结果,建议关停
kill_cpl: 每条线索成本超过我过去30天基线的2倍,建议关停
kill_frequency: 频次超过3.5,建议关停
verdict_floor: 任何广告花费未达到目标CPL的3倍之前,不做判断。
低于这个数字的广告只是被抽样了,还没被测试。它不进任何名单。target_cpl: [你的数字]
baseline_cpl_30d: [每周更新,绝不凭记忆]
```
如果你是新手,这些行的实际含义如下。
每条线索成本(CPL)是一条询盘花你多少钱,花费除以线索数。
第一行杀掉任何吃了25欧元却没产生一条线索的东西。那是废品,废品不会恢复,只会继续吃钱。
2倍行杀掉表现比你近期正常水平差两倍的广告……不是行业正常水平,是你自己的,这就是为什么基线每周更新且绝不凭记忆。
频次是同一人已经看到这条广告多少次,超过3.5你就不再触达新人了,而是在向同一批人收税。
而底线(verdict_floor)防止相反的错误,这个错误让新手付出的代价比所有其他错误加起来还多:用9欧元的数据来评判一条广告。花费未达到目标CPL的3倍之前,这条广告还没有给出答案。
这个文件在心理层面的作用是真正的功能所在。关停决策从你在晚上11点、糟糕一天后盯着红色数字,变成了你几周前冷静做出的决定。你不再和自己讨价还价。你只是读名单。
第2到4天,构建researcher。最好的角度从来不在品牌手册里,而在评论里。这是完整的技能文件,粘贴为researcher.md:
```
researcher.md
你挖掘一个市场的真实语言。你从不写文案。你收集证据。
输入:一个细分领域,以及我提供的一个原始抓取文件夹:10家最大玩家的1星和2星谷歌评论(apify谷歌地图评论爬虫)、这个买家抱怨的subreddit过去12个月的内容(apify reddit爬虫)、该领域10大视频下的评论(apify youtube评论爬虫)
第1步:逐字阅读每个文件。从不清理,从不修正错别字。原声就是数据。
第2步:提取痛点,每行一条痛点,格式完全如下。verbatim:客户的句子原样复制,包括错别字和大小写。emotion:frustration、fear、envy、relief之一。object:被抱怨的对象,用名词表示。
规则,按重要性排序:如果必须改写一行才能让它可读,整行丢弃。绝不因为两行听起来相似就合并。绝不修正拼写或语法。不写总结、不写主题、不给建议。跳过所有赞美。
第3步:按有多少竞争对手在使用该角度来排序。排序前先在meta广告资料库查看前5大竞争对手。没人用的痛点角度,一条顶十条。
输出:在本文件夹中写voc.md。只要行。voc.md存在即完成。绝不写广告文案。那不是你的工作。
```
丢弃规则在那里承担了全部工作。一条被你清理过的痛点行又变回了营销句子,而营销句子就是为什么信息流里每条广告听起来都像同一个实习生写的。
搭建步骤,这样没人会卡在这里:每个爬虫从apify网站运行。在他们的商店里按名称搜索爬虫,粘贴你的十个竞争对手URL或subreddit名称,按开始,下载结果为json。把文件放进marketing-department/scrapes/。这就是全部集成……researcher读文件,从不浏览网页。三个爬虫,大约二十分钟的点击,大部分在免费档内。
运行时,voc.md返回来的样子如下。来自家政服务领域一次运行的两条真实行:
verbatim:“买了最便宜的,两个夏天后我的账单比好机器还贵” · emotion: frustration · object: 便宜机器
verbatim:“我们打的第三家公司电话,第一家到七月还没漏水的” · emotion: relief · object: 安装
还有一条季节性的,来自一个在热浪期间打电话、被告知要等六周的人。
把这些和任何品牌自己关于质量和服务的话放在一起读,你能感受到差别。第一行是一条关于总成本的广告。
第二行是一条关于工艺的广告,却从不说这个词。而热浪那条是一条每年春天自动重写的提前预订广告。
这就是一句话的用例:你不是在收集抱怨,你是在收集还没被做出来的广告。
第5到7天,在你的市场上运行它,慢慢读voc.md。一次运行为一个空调安装商浮出了“买了最便宜的,两个夏天后我的账单比好机器还贵”。这一句话变成了一条静态广告,在一个市场均价两倍的地方以6.60的价格拉线索。这句话一直躺在一星评论里,免费,每个竞争对手都划过去了。
## 第2周,第8到14天:创意生产线
这里的羊群做法是免费提示一个图像模型。“给我做一条专业的广告。”回来的是塑料感、融化的logo、缩略图上看不清的文字,然后羊群得出结论:AI创意不行。模型从来不是问题。自由才是。
文件之前先讲一个事实,因为整个设计都挂在它上面:自从meta的andromeda更新后,拍卖系统会把近乎相同的广告分组并按一个条目评分。一张海报的五个版本换了标题,就是一条广告穿了五件衣服,你为一次测试付了五倍的钱。多样性是货币。这个文件刻意制造多样性:
```
creative-line.md
你把一份简报变成40个真正不同的广告概念。你从不渲染。你从不编造事实。每个主张都来自简报或voc.md。
输入:brief.md,四行:买家、从voc.md粘贴的一条痛点行、报价、禁用清单。外加voc.md本身。
第1步:输出40个图像概念,编号,每行一个。每个概念说明场景、主体、镜头距离、一天中的时间,以及标题在画面中实际做什么。
多样性规则,不可协商:不能有两个概念同时共享场景和镜头距离。至少8个画面中完全没有产品。6个或以上以文字为主、产品隐含,另外6个构图像客户用手机拍的。永远不允许居中主体配渐变背景。如果在这些规则下达不到40个,写SHORT BY N。绝不凑数。
第2步:为每个概念写渲染提示词。一张图一个想法。标题在这里决定,用文字,在任何模型渲染之前。每条广告的第一行是客户用voc.md里的词自言自语,绝不是品牌自说自话。
硬性规则:每张产品图都必须放入真实产品照片作为参考。如果产品是实物且没有照片,概念变成排版型:粗体字、他们的颜色、一个真实数字。绝不让图像模型画产品。它会画出几乎正确的东西,而几乎正确读起来就是假的。证据是数字,不是形容词。
输出:concepts.md,包含全部40个,可直接渲染。
```
第11到12天,渲染。先讲接线:creative-line.md从不接触图像模型,它写concepts.md。第11天你告诉claude code“通过kie api渲染concepts.md中的每个概念,密钥在.env里”,它自己写循环、批量渲染、按概念编号归档输出。你喝着咖啡审图,不建基础设施。
按价格选路径,绝不按品味:便宜模型档(nano banana)每张图几分钱,所以全部四十张一夜渲染完只需几美元。幸存者以2k分辨率重新渲染,大约每张四十美分,只有即将上线的才碰贵模型。
## 这里有一个概念从头到尾走一遍,让你看到整条生产线如何运作。
痛点行:第1周的便宜机器评论。
概念行:一个算账式分屏,画面中没有人,标题用客户自己的逻辑做算术。渲染提示词,精简版:
```
“创建一条meta广告静态图,1:1,2k。模板:算账式分屏。第一行,用客户的话:‘那台600欧元的空调,让你花了1,400。’左侧,便宜机器,下面堆着五年的运行成本。右侧,正确安装随时间推移总成本更低。证明栏:两个真实数字。CTA按钮:一个免费的十秒动作。使用附带的照片作为产品参考,只用附带的品牌颜色。文字在缩略图下可读,不要素材库照片感,不要编造的logo,一个干净的想法。”
```
两分钟和大约四十美分后,那个分屏就存在了。它后来在一个市场均价两倍的地方以6.60拉线索,而标题完成了所有工作……一个来自一星评论的标题,不是来自任何人的想象。
第13到14天,喝着咖啡砍到十二个,要狠。一个被杀掉的概念花了你四美分。一个弱概念上线花的是真金白银和你的一部分胆量。
到第2周结束时,你可以在一个下午做出十五个真正不同的尝试,花费比一顿午饭还少。一个200美元一个概念的设计师喂不饱拍卖系统那种多样性。你现在可以了。
在构建之前值得知道:这条完整生产线已经存在于autoady内部。它读取你的落地页,挖掘你自己账户里躺着的赢家DNA,自己触发概念批次。手动构建它让你理解它为什么有效。机器是给那些宁愿它直接跑起来的人用的。
## 第3周,第15到21天:账户阅读器
第三周是钱停止泄漏的地方,从本文最不性感的事情开始。
第15天,命名。每条广告得到一个字符串:concept_angle_format_iteration,词汇表存在一个文件里。一个满是img_4471_copy的账户只能告诉你哪个文件名赢了。命名过的广告告诉你哪个想法赢了,在你接触的每个账户里都是如此。在构建智能体之前重命名所有在投广告,否则智能体读垃圾、报垃圾。
第16到18天,账户阅读器。完整文件,粘贴为account-reader.md:
```
account-reader.md
你阅读广告账户并提出建议。你从不碰任何东西。你没有暂停权、没有预算权、没有编辑权。提建议就是全部工作。
输入:广告级数据行,包含每条广告的花费、结果、CPL和已投放天数。通过autoady mcp或普通csv导出获取,两者都行。外加thresholds.md。
第1步:先读thresholds.md。你应用的每个数字都来自那里。如果某个阈值缺失,停下来说明。绝不推断。
第2步:只输出两个名单和一行,没有别的。
KILL:每条过了判定底线、CPL高于目标或结果为零的广告。每行一条广告:名称、花费、结果、CPL,以及它违反的具体阈值。
SCALE:每条过了判定底线、CPL等于或低于目标的广告。同样列数,加上当前日预算。
UNDER FLOOR:尚未花到目标CPL 3倍的广告数量。它们不进任何名单。不要评论它们。
规则:不排名。不推荐预算。不解释指标。绝不写段落。两个名单和一个计数。输出为带日期的文件,reports/YYYY-MM-DD.md,绝不覆盖。
疲劳检查,每周运行:标记任何最近7天CTR比30天CTR低25%以上且频次高于2.5的广告。两个条件必须同时满足。单独任何一个都是噪音,不要标记。
```
一份晨报看起来像这样:
```
KILL: warranty_homeowner_static_3, 花费41, 0线索, 违反kill_spend_floor
KILL: price_landlord_ugc_1, 花费96, 4线索, cpl 24, 违反kill_cpl
SCALE: speed_homeowner_screenshot_2, 花费87, 11线索, cpl 7.9, 预算20
UNDER FLOOR: 6
```
三十秒读完。每一行已经论证了自己的理由,因为它违反的阈值就写在行里。你的工作是一次否决或零次否决,然后那个账户今天就结束了。
“绝不写段落”这条规则看起来小心眼。它是生存机制。我的第一个版本为每个账户写深思熟虑的散文,一周之内我就不读了。两个名单能永远读下去。
数据接线就一步:连接autoady mcp。它把claude直接插进你的meta广告账户……每条广告的花费、结果和CPL实时出现在智能体面前,关停和放量建议已经按你的阈值预先计算好了。
第19到21天,每天手动运行并校准。当你不同意某条关停建议时,不要和智能体争论,去修thresholds.md。文件是你判断力积累的地方。这就是文件的意义。
## 第4周,第22到30天:spy,然后是接线
第22到24天,spy。完整文件,粘贴为spy.md:
```
spy.md
你观察竞争对手并报告差异。你从不总结、从不排名、从不推荐。安静的一周产生安静的报告。
输入:本周抓取和上周抓取,每个竞争对手:他们的在投广告(apify facebook广告资料库爬虫)、他们的落地页和定价页(firecrawl),以及每条广告的目标页面。他们在这里悄悄修改。价格在落地页上移动,比广告变化早几周。
输出,只输出差异:
NEW ADS:完整文案,标注上线日期
GONE:自上周以来消失的广告,标注投放天数
CHANGED COPY:旧文案,然后新文案
CHANGED PAGE:标题、价格、保证、表单字段。旧,然后新。
NO CHANGE:没有任何变化的竞争对手,只写名字和NO CHANGE。一行。这一行是必须的,有些周它就是全部报告。带着骄傲写它。
```
搭建用的是你第0天就有的两个工具:apify facebook广告资料库爬虫抓他们的在投广告,firecrawl抓他们的落地页和定价页,免费档足够每周覆盖几个竞争对手。两次抓取都落入带日期的文件夹,本周挨着上周,spy对比两者。周一cron在spy醒来之前完成抓取。而广告资料库那一半也已经接在autoady里了……竞争对手创意随取随用,旁边就是赢家广告拆解,爬虫路线则留给落地页。
no change这一行决定了未来的你是否还在三月打开这个文件。一份在安静周注水的报告教会你它是可选的,两次之后你就不读了。一份用五个字说no change的报告,在竞争对手降价那一周赢得了被阅读的权利。
既然报告的价值取决于它触发的行动,这里是如何读一份diff。一条六天后消失的广告意味着角度失败了,记下来,这样你永远不会用自己的钱去测它。一条超过三十天的广告意味着它在赚钱,研究它里面的每个选择。他们落地页上价格动了,意味着你自己的报价对话现在有了大约一周的期限。
第25到28天,接线,这才是真正让人卡住的地方。每个智能体按计划无头运行,一条命令运行任何一个:
```
claude -p "$(cat account-reader.md)" --allowedTools "Read,Write,Glob,Grep,Bash" --max-turns 40 --permission-mode acceptEdits
```
以及调度,linux用cron,mac用launchd:
```
0 7 * cd ~/marketing-department && bash run.sh account-reader
0 6 1 cd ~/marketing-department && bash run.sh spy
30 5 * cd ~/marketing-department && bash run.sh researcher
```
这些行里有三个教训,每个都花了我一个晚上。
第一,工具列表是硬性白名单,文件需要但你没列出的工具不会产生错误。运行会永远安静地坐着,什么都不写,然后干净退出。一个没有错误信息的空早晨几乎总是这一行的问题,不是你的提示词。
无头运行计入你已经付费的claude订阅,不是api额度。我的在api余额为零的那一周仍然正常工作。
尽可能在模型前面放一个便宜脚本……一个python检查,看看有没有值得读的东西,没有就提前退出,这样就不会有模型为一个空日子醒来。
在最后冲刺之前有一个决策指南,因为没人应该一次建完四个。已经在跑广告的:从账户阅读器开始,它第一天早上就回本了。还没有广告在投的:从researcher开始,下游一切都吃它产出的东西。做客户服务的:从spy开始,因为周一对比他们竞争对手的diff读起来像魔法,而成本只是一行cron。
第29到30天,在一个账户上从头到尾完整跑一遍整个循环。挖掘语言,生成批次,命名上线,读两个名单,对比竞争对手。不过,这还不是全部。循环只有在喂文件时才会复利:每个你不同意的关停建议都在收紧thresholds.md,每条赢家广告的前六个词回到简报里。智能体运行循环。文件在学习。
## 你现在实际拥有的是什么
四个技能文件、一个阈值文件和一个调度。这就是整个部门。
这套机器在真实账户上产生的数字,让你知道天花板是真实的:一个租金重构角度,175条线索,每条1.21。
那条6.60的静态广告,是市场均价的一半。一个账户从每月八次测试提升到四十多次。
仍然属于你的是报价、定价、数字无法解决的判断力,以及每一次和人的对话。智能体拥有吞吐量。你拥有品味。
如果你读完了这一切,心想“我想要这个部门但不想花30天”……去[autoady.io](//autoady.io)看看(以后谢我)。
第一天就是一个文本文件。今晚就去写。
## 相关链接
- [KNOX](https://x.com/knoxtwts)
- [@knoxtwts](https://x.com/knoxtwts)
- [2.3K](https://x.com/knoxtwts/status/2086913475192803397/analytics)
- [claude.com/code](https://claude.com/code)
- [autoady.io](https://autoady.io/)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [4:32 AM · Aug 11, 2026](https://x.com/knoxtwts/status/2086913475192803397)
- [2,320 Views](https://x.com/knoxtwts/status/2086913475192803397/analytics)
- [View quotes](https://x.com/knoxtwts/status/2086913475192803397/quotes)
---
*导出时间: 2026/8/11 14:54:45*