我现在看很多人用AI,第一句话大概都这样。帮我写一篇爆款文章。帮我规划一个能赚钱的副业。帮我做一个AI助手。帮我优化一下这个项目。。。。。
这些话听起来很正常,因为人和人之间经常这么说。
你跟同事说一句帮我优化一下,他大概能猜到你在烦什么。可AI不一样。它会很快给你一份看起来完整的东西,标题有了,结构有了,步骤也有了,但你读完还是不知道它到底算没算完成。
这就是很多人刚开始用AI时最容易踩的坑。你以为自己写了goal,其实只是写了一句愿望。
愿望可以很大,很顺,很有情绪。goal要能验收。结果出来以后,你得能说清楚过了、没过、哪里没过、下一轮该改哪。
许愿的时候,人只要说我想要什么。
但在写goal的时候,人要先承认自己到底要拿什么来验收。
这个动作一旦省掉,后面再讲prompt技巧、loop、state、agent,都会变成在一团雾里打转。
先看如果你会了能做成什么样?这里2d是2天。

愿望最会伪装成目标
先看一个最常见的场景,看看是不是你,至少老金我在一开始是这样的。
你打开AI,脑子里有一个方向,想做内容,也想涨粉。你不想先写一堆规则,毕竟AI不就是应该理解我吗?于是你敲下一句,帮我写一篇能涨粉的文章。
AI很快给你一篇。标题挺猛,开头挺顺,中间还分了三点。你读完觉得哪里不对,但又说不上来。让它改,它就把语气改热一点。再改,它就多加几个案例。折腾三轮以后,你开始怀疑AI不行。
但问题可能不在AI,问题在第一句。
帮我写一篇能涨粉的文章,这句话没有验收口。涨粉多少算涨?读者是谁?这篇文章解决什么问题?你想让读者收藏、转发、私信,还是点进课程页?你不说,AI只能按它见过的平均文章样子补。
平均文章最大的问题,就是谁看都像,谁看都不动。
先把一句许愿改成可验收goal
第一个例子,写文章。
许愿句:
帮我写一篇爆款文章。
可验收goal:
写一篇给刚开始用AI做内容的人看的公众号稿。读者读完要能把自己的选题从一句愿望改成一个可验收目标。
正文至少包含3个改写案例,结尾给5行模板。
验收标准是读者可以直接复制模板,改出自己的下一条AI指令。
第二段没有许诺爆款,反而更有机会被转发。因为它说清楚了读者、问题、动作和交付物。AI写完以后,你也能验收。没有3个案例,不过。结尾没有模板,不过。模板不能复制就用,不过。
这里先记住一句话,goal是验收标准,不是施工图。
它不是把每一步都写死,而是把成功的样子写清楚,路径留给后面的过程去跑。
第二个例子,规划副业。
许愿句:
帮我规划一个适合普通人的AI副业。
可验收goal:
基于我每周可投入8小时、预算1000元以内、已有公众号和小红书账号的条件,给我设计一个30天副业验证计划。
目标不是马上赚钱,而是在30天内验证一个可收费服务是否有人愿意咨询。
交付物包括目标用户、一个具体服务包、10条获客内容选题、第一周行动清单和放弃标准。
这段话里最关键的不是AI副业四个字,而是30天、8小时、1000元以内、已有账号、咨询意愿和放弃标准。很多副业规划最后变成鸡血文,就是因为没有放弃标准。AI会给你十条路,每条都看起来能做。你越看越兴奋,第二天就不知道先做哪个。
可验收goal会逼你承认资源有限。你一周只有8小时,就别让AI给你设计一个像小公司一样的运营盘子。你预算只有1000元,就别让AI推荐一堆投流打法。你要验证咨询意愿,就别先做一套完整课程。
这不是把目标写小,是把目标写到你真的能动。
第三个例子,做AI助手。
许愿句:
帮我做一个AI助手,能帮我提升效率。
可验收goal:
做一个面向公众号写作的AI助手。
它每次接到选题后,先帮我输出3个标题方向、1个读者痛点、1个反对意见和1个可验证的正文承诺。
暂时不要求自动写完整文章。验收标准是我连续用5个选题测试,每次都能在10分钟内得到可用于开稿的判断材料。
这就是我更愿意相信的AI协作方式。
人负责判断这个助手该服务什么结果,AI负责把中间动作跑快。
你不需要一上来就做一个什么都能干的超级助手,先让它稳定解决一个最烦的小步骤,比如开稿前不知道从哪下手。
能连续5个选题跑通,才说明这个助手有一点价值。跑不通,也知道哪里坏了。是标题方向太空,还是读者痛点太泛,还是反对意见不够尖。
这就比提升效率四个字清楚多了。
Goal的位置也重要,但别写成玄学
Goal写在哪里,确实会影响长任务里的稳定性。
更准确的说法是,长上下文里,模型不一定能稳定利用所有位置的信息。论文Lost in the Middle观察到,相关信息在输入开头或结尾时,模型表现往往更好,放在中间时更容易掉性能。Anthropic的长上下文提示实验也在讨论怎么提高模型从长文档里找回关键信息的概率。
所以这件事对普通人有什么用?
不要把goal埋在几千字聊天记录中间。每次让AI继续做长任务时,先把当前goal、验收标准和当前状态重新摆到它眼前。你可以把它放在本轮消息开头,也可以放在一段固定摘要里。
自然语言式写法通常长这样:
你是一个公众号写手。请帮我写一篇关于loop和goal搭配使用的文章,目标读者是AI工程师。
文章要通俗易懂,要有案例,要有反常识点,结尾要给一个可执行的动作。
字数2500字左右。
更稳的写法是把验收项拆出来:
{
"role":"公众号主笔",
"goal":"写一篇让读者能跟做的loop和goal搭配指南",
"audience":"刚开始把AI用于内容和项目的人",
"acceptance":["读者能分清愿望和goal","至少3个可照抄案例","结尾有5行模板"],
"loop":"每一轮检查是否服务同一个goal",
"state":"记录当前进度、已删论据和下一步"
}
这个改法不是为了显得工程化,而是为了少猜。goal一旦成了独立字段,AI和人都更容易看见它。下一轮改稿时,你也不用重新解释半天,只要看这几个字段有没有变。
没有goal,loop只是在换着方式猜
讲到这里,才轮到loop。
loop就是反复执行、检查、修正的一套动作。写文章时,它可以是先出标题,再写开头,再检查案例,再补模板。做副业时,它可以是先找用户,再写服务包,再发内容,再看有没有人来问。做AI助手时,它可以是先跑5个选题,再记录失败,再改提示词。
但loop有一个前提,得有一个可验收的终点。没有goal的loop,只是让AI更勤快地跑偏。你让它改,它就改语气。你让它再具体点,它就加例子。你让它高级点,它就换一层更漂亮的词。
这就是我以前经常看到的反例。一个任务跑到第六轮,AI开始偏离最初方向。很多人会说AI忘了初心。
其实不一定是忘了,有时是你从来没有给它一个稳定可读的初心。
你把目标埋在最早那条消息里,后面一路追加资料、意见、吐槽、临时想法。到最后,AI只能从一堆碎片里猜现在什么最重要。它不是不努力,它是在努力猜错。
所以loop和goal的关系可以粗暴理解成一句话,goal管终点,loop管每轮怎么靠近终点。goal太糊,loop会跑飞。goal写死到每一步都规定好,loop又没有发挥空间。
更好的写法是,goal精确到成功的模样,路径留给loop。
反例:
写一篇2500字的文章,分5节,每节500字。
这个goal看起来很具体,但它把施工图写死了。AI可能会认真凑出5节,每节都差不多长,最后像PPT。
另一个反例:
写一篇好文章。
这个goal太糊,AI只能去找平均意义上的好。于是它给你一个标题党开头、三段式结构和万能结尾。
更好的写法:
写一篇让刚开始用AI做内容的人,看完想立刻把自己的一句许愿prompt改成可验收goal的文章。
正文要有写文章、副业、AI助手3个改写案例。
读者5分钟内能照着模板改出自己的下一条指令。
这段话没有规定每一节怎么写,但成功标准很清楚。AI可以自己组织路径,你也可以验收结果。
State不是上下文,是下一轮能接着跑的会议纪要
很多人把上下文和state混在一起,以为聊天记录越长,AI就越懂自己。这个误会挺要命。
上下文像会议录音,什么都在里面。state更像会议纪要,只记三类事,做到哪了,哪些坑别再犯,下一步改什么。
LangGraph的README把自己描述成用于构建长期运行、有状态agent的底层编排框架,其中提到durable execution、human-in-the-loop、memory这些能力。你不用一上来学框架,但这个方向值得记住。生产级的长任务不能只靠一串聊天记录硬撑,它需要知道失败后从哪里继续,人在哪里接手,哪些状态要跨轮保存。

放回普通人的场景,state可以很简单。
这里看不懂没关系,老金文末带你手把手做。
写文章时,state不是全文聊天记录,而是这几行:
{
"current_goal":"让读者把许愿句改成可验收goal",
"accepted_cases":["写文章","副业规划","AI助手"],
"removed_claims":["第30个词权重不到50%","80%场景用workflow"],
"next_action":"把旧稿的自举prompt库改成小白能做的版本"
}
副业验证时,state也不用复杂:
{
"current_goal":"30天内验证是否有人愿意咨询",
"week":1,
"done":["写出服务包","发出3条内容"],
"signals":["1个人私信问价格"],
"next_action":"继续发7条内容,不急着做课程"
}
你看,这里面没有神秘东西。state就是把下一轮最该知道的东西留下来。它不是给AI显摆你聊了多少轮,而是让下一轮不用从头猜。
Workflow和agent别搞反
很多人一听AI助手,就想上agent。好像只要叫agent,任务就会自动变聪明。
Anthropic在Building Effective Agents里把workflow和agent分得很清楚。workflow是LLM和工具按预设路径被编排。agent是LLM能动态决定流程和工具使用。它还提醒开发者先找最简单可行的方案,只有需要时再增加复杂度,因为agent系统通常会用更多延迟和成本换任务表现。

这段话用大白话讲很简单,大概就是下面这样。
如果你的任务是每周生成同一类复盘、按固定模板整理客户反馈、每天把素材改成小红书标题,那更像workflow。轨道清楚,goal清楚,state字段也能固定。
如果你的任务是调研一个陌生行业、拆一个没有固定路径的项目、让AI自己决定先查资料还是先写代码,那才更像agent。路径不确定,模型要动态判断下一步。
多数人搞反了。对账任务做成agent,结果到处乱跑。探索任务写成死流程,结果遇到新情况就卡住。
判断方法也不用复杂。先问一句,这个任务的路线能不能提前写下来?能写下来,先用workflow。写不下来,而且每一步都需要根据新发现改路线,再考虑agent。
这个选择背后还是同一件事。你先要有goal。没有goal,workflow只是机械重复,agent只是自由乱跑。
这和现在外面铺天盖地的"Agent 平台""Agent 工厂"叙事完全相反。
老金我再翻译成大白话:
Workflow = 轨道列车。 Goal 写死,Loop 写死,State 固定字段。适合"每周给老板发报表""按模板生成合同"这类任务。
Agent = 自动驾驶。 Goal 模糊,Loop 动态生成,State 可演化。适合"调研陌生行业""开放式探索"。
下次接到任务,先问一句:这是轨道车还是无人车?想清楚再选。
Devin最值得学的不是估值,是外层loop
2026年5月,TNW报道Cognition以260亿美元估值融资超过10亿美元,并写到CEO Scott Wu称Cognition内部超过90%的代码由Devin完成。

对普通人更有启发的是它的外层loop。
Devin写代码,团队再用这些结果改进Devin。改完的Devin继续写更多代码,再暴露更多问题,再反过来改自己。这个结构比单次写代码更重要。
普通人当然不需要复刻Cognition。你也不可能今晚搭一个Devin。但你可以有一个很小的人肉版外层loop。
每天睡前问自己一句,今天我让AI干的活,哪些能让明天少干一点?
如果今天你让AI写了3次类似的标题,那就把最有用的那次变成模板。如果今天它连续两次把读者写错了,就把读者字段加进你的固定goal。如果今天它总忘记你不要营销号口吻,就把这个边界写进state。
这就是个人版自举。不是AI突然变聪明,而是你把失败反馈喂回了下一轮。
如果对你有帮助,记得关注一波~
手把手操作:30 分钟搭一个"自举 prompt 库"
理论够了。下面给你一个能今晚就跑通的小循环。
场景:你每天让 AI 帮你干很多杂活,但 prompt 都是临时拍的。用下面这套,你一周就能攒出一个"自举"的小型 prompt 库。
准备:你电脑上已经装了 Claude Code(其他Codex之类的都行)。
第 1 步:建一个 state 文件
在你常用的项目目录下新建 ~/.ai_state/daily_review.json:
{
"date":"2026-06-17",
"today_done":[],
"repeated_patterns":[],
"new_prompts":[],
"errors":[],
"next_action":""
}
第 2 步:创建一个Hook,用于自动提取用户今日输入
Hook一直是被人忽略的老金用的最多的没有之一的工具,我认为作为硬性的自动化工具,它简直无敌。
我也不懂代码,AI生成如下,这是我基于Claude Code做的,其他的平台的自行研究修改,输入给它让AI自己修改就行了。
记得一些基础认知,采集不消耗token是边界。
// collect-today.mjs
// 作用:扫今天的 Claude Code 日志,把你今天输入过的话提取出来,写进 daily_review.json
import fs from"fs";
import path from"path";
import os from"os";
constSTATE = path.join(os.homedir(), ".ai_state", "daily_review.json");
constROOT = path.join(os.homedir(), ".claude", "projects");
const today = newDate(); today.setHours(0, 0, 0, 0);
const inputs = [];
(functionwalk(dir) {
for (const e of fs.readdirSync(dir, { withFileTypes: true })) {
const p = path.join(dir, e.name);
if (e.isDirectory()) { walk(p); continue; }
if (!e.name.endsWith(".jsonl")) continue;
if (fs.statSync(p).mtime < today) continue; // 只看今天改过的日志
for (const line of fs.readFileSync(p, "utf8").split("\n").filter(Boolean)) {
try {
const o = JSON.parse(line);
// 只收你真正打的字:type=user 且 content 是字符串(自动排除工具回传的数组)
if (o.type === "user" && o.message && typeof o.message.content === "string") {
const t = o.message.content.replace(/\s+/g, " ").trim();
if (t) inputs.push(t);
}
} catch {}
}
}
})(ROOT);
let state = {};
if (fs.existsSync(STATE)) try { state = JSON.parse(fs.readFileSync(STATE, "utf8")); } catch {}
state.date = newDate().toISOString().slice(0, 10);
state.today_done = inputs;
fs.mkdirSync(path.dirname(STATE), { recursive: true });
fs.writeFileSync(STATE, JSON.stringify(state, null, 2));
console.log(`采集完成:${inputs.length} 条 → ${STATE}`);
第 3 步:复制下面这段 prompt 给 AI
这里老金同上仅用Claude Code举例说明,直接复制给对话框。
你是我的 AI 工作流复盘员。
日期:[今天]
我已经跑过采集脚本,今天我输入过的内容都在 ~/.ai_state/daily_review.json 的 today_done 字段里。请你:
1. 读取这个文件的 today_done,把里面同类的事情归在一起,只挑出今天出现 ≥ 2 次的类别。
2. 每个类别做成一个可复用的 prompt 模板,模板里必须有三部分:使用场景、输入示例、输出格式。
3. 把每个模板存成一个文件,放到 ~/.ai_state/prompts/ 目录下,文件名用英文短词,比如 bug-fix.md、refactor.md。
4. 把你挑出来的重复类别和新模板文件名,写回 daily_review.json 的 repeated_patterns 和 new_prompts 字段。
规则:
- 只记录重复 ≥ 2 次的,只发生一次的事不记录。
- 如果今天没有任何重复的事,直接告诉我"今天没有重复任务",不要编造。
- 如果 ~/.ai_state/prompts/ 目录不存在,先创建它。
做完后回复我:今天发现了哪几类重复、各出现了几次、生成了哪些模板文件。
第 4 步:每天晚上用一次
打开 Claude Code,跑:
cc "读取 ~/.ai_state/daily_review.json,按里面的 prompt 复盘今天的事"
你大概能获取你今天做的重复的内容,比如我在测试本项目的这样的记录。

跑完你会看到,today_done 字段被填满,repeated_patterns 列出今天重复的事,~/.ai_state/prompts/ 下多了几个新文件。

然后你就能看到一个好的Prompt,基于你今日的对话,优化出来的最优版本,比如这仨是我今天跑出来的。

第 5 步:周末合并 prompt
周末花 20 分钟:
把这周新生成的 prompt 文件过一遍
合并相似的(重复的合并成一个)
删掉用不到的
把高频 prompt 收录到 ~/.ai_state/INDEX.md
第 6 步:第二周看效果
坚持 7 天后,回到 state 文件看一眼:
1、repeated_patterns 是不是越来越短了?说明 AI 帮你减少了重复。
2、prompts/ 目录下是不是攒了 10+ 个可用模板?说明 prompt 库在自举。
3、某天的 errors 是不是开始重复同一条?说明那个 prompt 写得不对,要改。
这就是 loop × goal 合理搭配的真实样子:goal 是"攒一个自举的 prompt 库",loop 是"每天晚上复盘 + 周末合并",state 是 daily_review.json 这个文件。
三层到位,AI 真的能越用越好用。
五个零件,够你先用
一个能用的goal,通常有五个零件。
第一,使用者是谁。写给刚开始用AI做内容的人,和写给已经有团队的运营负责人,完全不是一篇文章。
第二,结果长什么样。不要只写变好、提升、优化,要写交付什么东西,使用者能做出什么动作,项目能进入哪个状态。
第三,验收标准是什么。数量、范围、边界、示例、测试方式都可以是标准。标准不一定复杂,但一定要能判断。
第四,约束是什么。时间、预算、平台、素材、能力、不要做什么,都要说。约束不是限制AI发挥,是防止它替你幻想资源。
第五,下一轮怎么改。一个好goal不是只管第一稿,它应该能告诉你结果不合格时往哪修。
这五个零件放进去以后,AI反而更自由。因为它不用猜你的真实意图,可以把力气用在生成、比较、整理和执行上。
小白最该避免的三个写法
第一,别写好一点、专业一点、高级一点。你自己都没定义什么叫好,AI只会拿平均审美糊一层。
可以改成:保留原观点,把开头改得更像一个刚开始用AI做内容的人正在现场卡住,前150字内出现一个具体许愿句。
第二,别写给我一个完整方案。完整方案很容易变成大而全,读完很满足,做起来没入口。
可以改成:先给我一个7天内能验证的最小方案,只包含每天一个动作、一个产出、一个失败判断。
第三,别写你自由发挥。自由发挥适合你已经有审美、有验收、有边界的时候。刚开始用AI,先别这么潇洒。
可以改成:在不改变主线的前提下,给我3种表达路径,每种说明适合什么读者,最后推荐一个。
你会发现,这些改法都没有让AI少做事。它们只是把AI从猜心思,拉回到交付结果。
真正的分工是人写goal,AI跑过程
我不太相信那种把任务全部扔给AI,然后等它自动给你一个完美结果的用法。听起来省事,实际很容易返工。尤其是内容、项目、副业这种东西,里面有太多人的判断。
你要不要讨好流量。你愿不愿意露脸。你能不能持续30天。你到底想要粉丝、收入、作品集,还是只是想试试水。
这些不是AI替你决定的事。
更舒服的方式是,人先把goal写成可验收结果,AI再帮你拆步骤、找材料、生成初稿、做检查。结果出来以后,人再验收。验收不过,回到goal里看是哪一项没满足。
这时候loop才有意义。它不是让AI一直转,而是让AI每次都围着同一个可验收结果修。state也才有意义。它不是堆上下文,而是记住这一轮为什么改、改到了哪、哪些边界不能碰。
AI进入普通人工作的分工,其实很朴素。
人别偷懒到只许愿。AI别越界到替人决定什么才算成功。
五行模板
最后给你一个可以直接复制的五行模板。下次打开AI,先别写帮我做一个什么,先填这五行。
我要完成的可验收结果是:
这个结果服务的对象是:
交付物必须包含:
不做或不能越过的边界是:
我会用这几个标准验收:
如果你只能填出第一行,说明你现在还在许愿。
没关系。能发现这一点,已经比直接让AI开干强很多了。今晚先改一句就行。别急着搭系统,别急着喊agent,也别急着整理100个prompt。
先把一句愿望,改成一个你真的能收货的goal。
今晚睡前,把这段 prompt 复制给 AI:
"读取 ~/.ai_state/daily_review.json(如果不存在就帮我建一个),按里面的字段格式复盘今天。找出今天我重复做的事,告诉我。"
然后看 AI 的回答。如果它找到了 ≥ 2 个重复的事——恭喜,你的外层 loop 跑起来了。
飞书**开源知识库(实时更新 交流群**):
https://tffyvtlai4.feishu.cn/wiki/OhQ8wqntFihcI1kWVDlcNdpznFf
每次我都想提醒一下,这不是凡尔赛,是希望有想法的人勇敢冲。
我不会代码,我英语也不好,但是我做出来了很多东西。
我真心希望能影响更多的人来尝试新的技巧,迎接新的时代。
谢谢你读我的文章。
如果觉得不错,随手点个赞、在看、转发三连吧🙂
如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章。