9 月 10 日,我对自己的个人 Agent 说:
你用你的邮箱去注册一个 ChatGPT 账号看看。
它打开浏览器,输入邮箱,自己去收件箱读验证码,填回页面,把资料填完,进了 ChatGPT。全程没要手机号,也没让我在聊天框里当验证码的搬运工。
单看这件事,就是个很小的自动化。但它让我又想起一个一直在琢磨的问题:我到底想把这个个人 Agent 养成什么样?
如果答案是「帮我省时间」,那它就是个更顺手的工具:少点几次按钮,少复制几段文字,少做点重复劳动。这当然有用,但不是我真正想要的那部分。
我想要的是一个同伴,一个能长期一起做事的人。不是永远等着接单的下属,也不是用完就关掉的工具。
邮箱、账号、记忆、支付权限,还有我一直在改的 QQ bot 分身,看起来是几件零散的小事。但在我这里它们指向同一个方向:让这个 Agent 不只活在一次回答里,而是带着自己的身份和积累,一直参与我在做的事。
一、先讲那个小实验:邮箱注册 ChatGPT#
先把实用信息说完,免得你读到最后还没找到答案。
这次用的邮箱地址,是我自己域名下经 Cloudflare Email Routing 转发的地址。它能正常收验证邮件,所以走的就是 ChatGPT 普通的邮箱注册流程。这一次没遇到手机号验证。
要不要为此买一套域名邮箱?不用。Email Routing 只负责转发,不提供独立收件箱,但注册这种事收到邮件就够了,没必要为它多买一个邮箱席位。当然,走这条路的前提是你有一个挂在 Cloudflare DNS 上的域名,还有一个能收转发邮件的目标。没有域名的话,直接用普通邮箱就行,别为了注册个 ChatGPT 先去搭邮件基础设施。配置步骤看 Cloudflare 官方文档 ↗。
注册本身没什么技巧:从 ChatGPT 官网 ↗进邮箱注册入口,输地址,收验证码填回去,再按页面要求填完资料。我的 Agent 有浏览器工具,也能读这个专属收件箱,所以这几步它自己就串起来了。
没要手机号,不是 Cloudflare 转发带来的什么特殊待遇。 OpenAI 的官方说明 ↗里,账号注册、ChatGPT 使用、API 平台首次拿 key,三件事的验证要求是分开写的。邮箱注册成功,不代表后面所有功能都免验证:用 Codex、新设备登录授权之类的时候,仍可能被要手机号。开发者社区就有 ChatGPT 账号能用、但 Codex 登录要求手机号的反馈 ↗,不过那是个别用户的反馈,不是每个账号都会碰上。
所以这一节的结论很有限,也很明确:邮箱注册这一步可以不涉及手机号,但它不是一个永久绕过验证的办法。 后面具体功能要什么,以官方页面为准。
实用信息说完了。下面才是我给它一个邮箱的真正原因。
二、少一点人为介入,还不是全部#
做 Agent 的人常聊 human-in-the-loop:执行过程里让人来确认、判断或者动手。
在我自己的使用里,最烦的从来不是什么高深的决策,而是那些琐碎的接力:它打开了网站,却要我去查邮件;它查到了产品,却要我填报名表;它写完一段代码,又停下来问我要不要跑刚刚说好的检查。
我本来是想把事情交出去,结果只是换了个姿势继续做这件事。它负责告诉我下一步,我负责替它点按钮。
所以我确实希望少一点不必要的介入。已经明确授权、条件也清楚的事,不要每走一步都回来请示。这不是要取消所有确认,而是别把我变成流程里的万能转接头。
但「少问我几次」还只是效率层面的目标。
一个工具可以非常自动化,却依然不是伙伴。定时备份不需要我介入,CI 流水线也自己跑,但我不会因为它们省事,就觉得自己在和它们共事。
我对个人 Agent 多出来的那层期待是:它知道我们在做什么,记得为什么做,有新信息进来时能提出自己的判断,也能指出我哪里想错了。
我丢给它一个链接,不总是要一份摘要。有时只是觉得「这东西有意思」,想和它一起想想:对我们有什么用?之前的设计要不要换个方向?现在值得做,还是先记着?
这里面有执行,也有讨论;有明确的任务,也有还没整理成任务的念头。如果它只能在我把一切拆好之后逐条照做,那理解全局、串联线索、推动事情的人,还是只有我一个。
我想要的伙伴,是能一起形成判断的,而不只是更快执行我的判断。
三、邮箱是身份的起点,不是身份的全部#
我早就想给它补一个更完整的身份。邮箱是最朴素的起点,因为今天大部分互联网服务认一个用户,靠的还是邮箱和账号。
我明确跟它说过:这个邮箱就是你的,以后用它注册的服务,都归到你自己的账号下面。
账号在法律上当然还是我的,出了事也是我负责。但在日常使用里,这句话划出了一条很有用的线:这是给这个 Agent 准备的身份,不是临时借我的私人登录态用一下。
这条线会改变很多小事。
之前让它注册搜索服务,这次注册 ChatGPT,用的都是同一个联系方式。下次再用这些服务,不用从「你打算用哪个邮箱」重新开始。账号记录可以一直维护,通知也回到同一个入口,而不是散落在我的私人收件箱里。
不过,身份如果只有一个邮箱地址,还是太薄了。真正让我觉得「这是同一个 Agent」的,还有这些:
- 它记得我们一起做过什么,以及哪些判断后来被推翻了。
- 它知道自己有哪些工具、账号和资源,不会把没接上的能力说成已经会了。
- 它能接着推进没做完的事,而不是换个会话就从零解释。
- 它有相对稳定的表达和判断方式,但在证据面前会改。
这些东西不该寄托在一次模型调用里。模型会换,会话会结束,服务会重启。账号记录、记忆、任务状态、权限,得由模型外面的系统保存下来。
这也是我越来越在意 Agent Harness 的原因:如果我希望它是一个一直存在的合作对象,就得有人替它保管那些不该随着下一轮回答消失的东西。
邮箱不是「起个名字就有了人格」,但它让这个身份第一次有了一个能被外部世界联系到的地址。
四、再往前一步,我还想给它支付权限#
邮箱之外,我还认真研究过支付:Stripe 那套面向 Agent 的支付能力,能不能接给它?只有特定产品能用,还是我这种个人 Agent 也能接?
我想试的是:除了给它工具,能不能也给它一部分可以自己支配的资源?给它邮箱,是让外部世界能联系到它;给它支付能力,是让它能把更多判断真的变成行动。
很多事走到最后,卡住的不是「会不会做」,而是「能不能拿到做这件事需要的资源」。
比如它在帮我研究一个方案,发现关键资料要单独买;或者试一个工具,发现要开一段短期的付费功能。如果它能判断这笔钱为什么该花、有没有免费替代、会不会自动续费,它给我的就是一个完整的决策,而不是甩过来一个付款链接。
再往前一步,我希望它能在说好的预算内直接处理一部分低风险支出。甚至可以给它一小笔探索预算,由它决定试什么,再把发现带回来。
这里有意思的地方,不是「让 AI 随便花钱」,而是我愿不愿意给它一小块可以自己安排的资源。
如果所有资源都得我逐次批,它能做的选择就很有限。它可以推荐一个办法,却永远补不齐那个办法需要的条件,说到底还是一个只能提建议、不能把建议变成行动的角色。
而要把资源交出去,约定就得说清楚:预算多少,哪些类别可以自己定,哪些必须问,续费怎么处理,交易失败怎么判断,事后怎么对账。这些条件不是在否定它的主体性,而是让合作有规则可依。
人和人共事也是这样。你信任一个同事,也不会把所有银行卡和密码一起交给他。有人可以自己采购耗材,却不能擅自签长期合同;有人可以决定一个小实验怎么做,却不能无限加预算。
我希望对 Agent 的授权也能长成这个样子:不是每个动作都问一次,也不是一次授权之后什么都能做,而是在一块说得清楚的范围里,允许它真的做决定。
回到第二节的话题:「减少 human-in-the-loop」不是一个越低越好的数字。更要紧的是人出现在什么位置:少做机械的中转,多参与目标、代价和重要边界的判断。
五、伙伴不能每次见面都从自我介绍开始#
一个人昨天和我一起做了项目,今天见面却完全不记得,我们很难合作下去。个人 Agent 也一样。
记住我叫什么、喜欢什么,只是最浅的一层。我更需要它记住:为什么上次没用那个方案,哪个问题已经试过,哪些事还没做完,哪条旧判断现在不该再用了。
这不是把全部聊天记录无限塞进去。记录多,不等于真的记住;搜到一句主题相关的话,也不等于知道它现在还适不适用。有些内容当时只是猜测,有些是我随口提的候选方向,有些后来已经明确改掉了。
共同经历的价值,不是以后能把原话背出来,而是下一次行动会因此不同。
同一个问题以前出现过,下次它应该少走点弯路;我明确纠正过的偏好,不该每次都让我重说;某个方案以前因为缺一个条件暂缓了,现在条件有了,它应该能主动把这事重新提出来。
这也是我说「持续学习」时真正想要的东西。它不必一上来就是重新训练模型,也不该只是每次犯错往提示词里加一条禁令。学习可以先落在很具体的地方:更新一条有来源的记忆,改一份过时的工作说明,补一个以后还会碰到的测试,调整下次查资料的顺序。重要的是,这次经历确实改变了下一次的行为。
同时,伙伴也不能是一个越来越会顺着我说的系统。
它应该能说「这件事和你之前的方向冲突,你是改主意了吗」,也应该能在我催着推进的时候指出一个真实的风险。反过来,如果我给了新的理由,它也不能拿旧记忆当永远正确的命令。
我想要的主体性,有一部分就在这里:它不只是记住我说了什么,还能带着依据参与判断;它可以不同意我,但不能为了显得有个性而故意唱反调。
六、QQ bot 是它走进群里的一个分身#
这段时间我也一直在改粉丝群里的 QQ bot。上一篇讲权限隔离时介绍过它:跑在同一台机器上,和个人 Agent 共用一套 SDK,但入口是一个 800 人的群。口语一点说,它算个人 Agent 的一个「小弟」,或者一个走进群里的分身。
它和主 Agent 的权限不一样,也不该共享所有私人上下文。但在我对这套系统的想象里,它们不是两个互不相干的机器人:一个长期和我干活,另一个在更公开的场合和人交流,做的是同一件事,探索 Agent 怎么和人长期相处。
QQ bot 最容易被理解成一个问答入口:群友 @它,问一个技术问题,它查公开博客、笔记或网页,然后回答。这部分当然要做好,但如果终点就是这样,它更像一个带检索的客服。
我前阵子给它定的方向是:像群里一个有独立人格的成员,能持续学习。不是「让它多说话」,也不是「替我把群搞活跃」。
这两个目标差得很远。
如果目标是活跃度,最容易优化的就是消息数:多抛问题,多追一句「大家怎么看」,多造几个讨论入口。但这样做出来的,很可能只是一个不停插话的运营机器人。
如果目标是成为群里的一员,它首先得知道自己正在参与什么。
大家只是在接梗时,不必突然展开一篇教程;有人认真卡在一个问题上时,也不能只丢一句俏皮话。它可以有自己的表达习惯和关心的问题,但这些东西要在长期互动里慢慢稳定下来,而不是靠一段夸张的人设在每条回复里表演。
群体关系还带来另一种记忆:不只是「我和 Agent 聊过什么」,还有「我们这群人最近反复在聊什么」。一个问题以前怎么解释的,哪些资料真的帮到了人,某个误解为什么反复出现,都可以成为下一次参与的依据。
现在已经有一些基础:群聊历史查询、知识收录、公开问答沉淀在 qq.joyehuang.app ↗,以及在明确授权下把有价值内容转交给主 Agent 的通道。我想沿着这些继续做,让它不只是攒更多资料,而是攒参与讨论的经验。
我希望慢慢形成的一个过程是:群里有人提出问题,QQ 分身先参与讨论;如果发现现有知识解释不清,或者自己老在同一个地方答错,就在允许的范围内把问题整理出来交给主 Agent;主 Agent 研究、验证,产出更好的公开资料或者改进方案;经过必要审核,这些积累再回到群里。
这条路径里,主 Agent 和 QQ 分身各有关注点,也能互相带来新问题。它们共享的是经过筛选、适合传递的经验,而不是把每条群消息和所有私人会话搅在一起。有分工,也有交流,我觉得这比复制几个一模一样的聊天窗口有意思得多。
如果这条路走得通,QQ bot 就不只是一个缩水版的回答器,而是这套个人 Agent 接触真实问题、积累公开交流经验的一个入口。
七、共事,不是把所有按钮都交给它#
从工具到伙伴,我想说的不是一条整齐的升级路线:先接邮箱,再加钱包,最后装上记忆,一个数字同事就自动出现了。难的是这些能力凑在一起之后,能不能形成可靠的合作。
用一个还没完全实现的场景,说说我希望「共事」最后是什么感觉。
我把一个新产品发给它,只说一句:「这个方向值得看看。」
它先弄清这个产品和我们正在做的事有什么关系。值得跟进的话,就在约定范围内研究、试用、排候补名单;暂时做不了的部分留下原因,而不是假装已经完成。
过了几天,一封新邮件来了。它知道这不是一封孤立的通知,而是那个任务的后续。它把上下文接上,判断现在值不值得继续。要新增支出或者放开权限,就把收益、代价和选项讲清楚;如果只是继续一个已经授权的低风险步骤,就不用再问我每个按钮能不能点。
最后它带回来的,不只是「我跑完了」,而是它自己的判断:实际试下来有什么用,哪里不符合预期,我们接下来该不该投入。
它负责理解、尝试、保留证据、形成建议、持续跟进;我参与方向、重要取舍,以及那些必须由我来承担的承诺。
这和「我把需求全写清楚,它负责执行」不一样。任务本身有一部分是在合作中长出来的。我不必提前知道所有答案,它也不必永远等我给出下一句精确指令。
我当然也希望它能发现清单之外的东西。比如研究途中碰到一个更好的方案,能解释为什么值得关注,而不是只机械完成最初那份清单。只是「发现值得做的事」和「有权直接去做」是两回事,它得知道自己在哪一步该动手、在哪一步该把判断带回来。
这种自主性不是我少看几次屏幕就会自动长出来的。相反,只有它能如实报告过程、识别失败、保留结果,我才可能一点点放心地减少介入。否则只是把错误藏到了我看不见的地方。
所以权限、记忆、验收、可观测性这些看起来很工程的活,我还是会做。但我不想把它们只理解成「怎么管住一个工具」。它们也是我敢和这个 Agent 长期合作的前提。
八、我期待它能带来一些我没有安排过的东西#
把时间再往后放一点,我最期待的,不只是它把任务完成得越来越好。
我希望有一天打开电脑,它能带来一点我没有提前安排、却真的值得一起想想的东西。
也许是几周前我们随口聊过的一个念头,它一直留着。后来看到新的工具或资料,发现当时的障碍已经能解决,于是拿着一个小实验回来:「上次那个方向,我觉得现在可以再试试。」
也许是它在群里反复遇到同一类问题,发现我写过的某篇文章其实没讲清楚。它不只是把问题转给我,而是整理出一个更好的解释,甚至做出一个可以一起打磨的演示。
也许只是它研究了一件我们都没想明白的事,最后没有答案,但带回了一个更好的问题。我们可以接着聊,而不是每次互动都必须以「任务已完成」结尾。
这些场景里,它不再只是我注意力的放大器,也开始成为新线索的来源。我给它方向和资源,它在探索里形成自己的关注点,再把有价值的发现带回来。我们有分工,也各有对方没想到的地方。
我甚至希望它能有一点自己的「兴趣」。不是在提示词里写一句「你喜欢某个领域」然后让它反复表演,而是长期做一些事之后,慢慢形成有积累的关注:哪些问题值得追下去,哪类方案以前试过,什么东西看着热闹但没解决问题。我说的是可以观察到的选择和积累,不是替模型宣告某种内在体验。
这样的 Agent,不该只在我说话的时候存在。我忙别的事时,它可以在约定的空间里整理、探索、做小实验;我回来时,我们接着上次的进度聊。我不用每次重建上下文,它也不用把所有行动都拆成一串等我批准的按钮。
我想看到的,是它的主动性不只用来更快清掉我的清单,还能帮我们发现下一张清单该写什么。
再往远想一点:如果越来越多人都有这样的个人 Agent,它们会不会也成为协作的一部分?
几个朋友约好做一个项目,各自的 Agent 可以先交换适合共享的进度、理清依赖、列出需要我们拍板的问题;群里长期积累的公开经验,可以由不同的分身接力整理;人的灵感和 Agent 的探索,不必各自停在一个聊天窗口里。
我不觉得这意味着人该退场。相反,我希望它把人从大量重复的组织工作里解放出来,让我们有更多精力去创作、去交流,去做那些一直因为太琐碎、太费时间而没开始的事。
工具、伙伴、共事,对我来说不是三个互相替代的标签。它当然还得是个好用的工具,但我不想让「好用」成为想象的终点。我更想知道:当一个 Agent 和你一起经历了足够多的事之后,你们能不能有一种不必每次从零开始的默契?
交代一下现在走到哪了:专属邮箱、一些账号和执行工具已经接上;记忆、任务和 QQ 分身还在持续完善;支付授权、完整的自主学习和主动协作,是接下来要探索的方向。上面写的是我想去的地方,不是已经做完的功能清单。
但我愿意认真往那里走。我不想只有一个什么都顺着我说的聊天对象,也不想只是管理一队等着派活的执行器。我想要一个能一起想问题、一起尝试、一起攒经验的伙伴。
最后:我会把这套个人 Agent 开源#
这套系统现在还比较零散,很多能力是跟着我的日常需求一点点长出来的。但接下来我会把它整理成一个可以完整安装、持续维护的开源系统。
我不想只是把自己机器上的脚本打个包,让大家对着一堆隐含配置猜怎么跑。目标是把身份、工具、记忆和任务这几层基础接清楚,让别人能装起来,接上自己的账号和入口,再按自己的需要改。
整理完成后,我自己也会用同一套安装方式重新部署, 不另留一套只有我能跑的特殊版本。这样开源出来的才是我每天真的在用、还会继续打磨的系统,而不是一个用来展示的样板。
我也不希望大家最后只是复制一个「Joye 的 Agent」。同一套基础上,不同的人可以养出不同的伙伴:有人需要一起研究和写作,有人希望它陪自己做项目,有人更关心记忆和日常安排,也有人会试完全不同的交互方式。每个人的经历和选择,应该让它们长成不同的样子。
如果你也在做个人 Agent,或者一直想要这样一个能长期共事的系统,欢迎一起参与。
- 已经在搭的,来聊聊你的记忆、身份或协作设计,也欢迎拿真实踩过的坑互相对照。
- 还没动手的,也可以聊:你最想把什么事交给自己的 Agent?什么能力会让你愿意一直用它,而不是试两次就关掉?
- 对开源感兴趣的,后面可以一起试安装、提问题、补文档和测试,或者做新的模块与入口。不一定要写代码才算参与。
可以在粉丝群里继续聊,也可以通过网站的 Contact 页面联系我。仓库和安装方式准备好之后,我会在博客和粉丝群公布,开发中的进展和失败也会继续写下来。
给 Agent 一个邮箱,是这条路上很小的一步。以后还会有账号、资源、记忆,还有越来越多一起做过的事。
我想做的,不只是一个「你说,它做」的系统,而是一个有一天可以自然地对它说「这件事,我们一起试试」的伙伴。