为什么你一个人跟AI聊天,聊着聊着它就变傻了
你有没有这种经历?刚开始跟AI对话的时候,它脑子特清楚,你问啥它都能接住。但聊着聊着,你让它修个前端的按钮,又让它改个后端的接口,再让它检查一下安全漏洞。结果它开始答非所问,要么忘了最开始的代码长啥样,要么写出来的东西驴唇不对马嘴。这不是AI偷懒,是你把它逼疯了。
想象一下,你让一个全能管家同时做饭、带孩子、修水管、记账。这管家前五分钟还行,半小时后就分不清锅里的汤和账本上的数字了。AI也是这个道理。每个对话窗口能记住的东西是有限的,专业术语叫“上下文窗口”。一旦塞进去的东西太多,它就开始丢三落四。
这时候你就需要换个思路。别让一个AI干所有事,而是让一个AI当总指挥,派一堆小AI分别干活。这些小AI就叫“子代理”也就是Subagents。
什么叫子代理,就是一群各怀绝技的小弟
子代理这个概念听起来挺唬人,其实特别简单。你打开Codex这个AI编程工具,里面本来就藏着三个基础小弟。
第一个叫默认代理,啥都能干点但啥都不精。
第二个叫工作代理,专门负责写代码修bug。
第三个叫探索代理,专门负责翻你老代码,找东西查资料。
这三个小弟分工明确。你让工作代理去写新功能,让探索代理去查旧代码里有没有相关的东西。它们互不干扰,各自忙各自的。比你把所有活儿堆给一个AI,然后看着它崩溃要强多了。
但这三个是系统自带的,你还可以自己定制小弟。比如你写一个专门搞Python的小弟,给它设定好规则,让它写代码时必须加类型注释,必须用Pathlib处理文件路径。再写一个专门做安全审查的小弟,让它只负责找漏洞,不准改任何代码。这样一来,每个小弟都只盯着自己的一亩三分地,专业度拉满。
怎么让小弟们开始干活,直接说人话就行
实际操作起来特别直接,你不用学啥复杂语法,就跟平时说话一样。比如你对着Codex说下面这句话,它就能听懂:
启动安全审查员,检查一下登录功能有没有安全漏洞
Codex会自动从你设定好的小弟名单里找到那个专门管安全的,让它去干活。更妙的是你可以同时叫好几个小弟干活,比如这样:
同时启动代码审查员检查代码正确性,启动安全审查员看有没有风险,启动测试生成员看看少了哪些测试
然后你就可以喝茶去了。这三个小弟会同时开工,互不打扰。你想想这得省多少时间。以前你让一个AI干三件事,它得一件一件来,中间还可能串台。现在三个小弟各干各的,几分钟全搞定。那种感觉就像你以前一个人搬砖,现在突然有了三个免费劳动力,而且这三个人不用你管饭也不用你发工资。
这些小弟藏在你项目文件夹的哪个犄角旮旯里
这些小弟其实不是啥神秘玩意儿,就是一堆文本文件。它们藏在你项目文件夹里一个叫.codex的隐藏文件夹下面。如果你在电脑上看不到这个文件夹,别慌,那是系统默认隐藏了。你在终端敲下面这行命令就能看到所有隐藏文件:
ls -la
然后再敲下面这行就能看到小弟们的档案:
ls -la .codex/agents
.codex文件夹里面一般有个config.toml配置文件,还有个agents文件夹。agents文件夹里就是每个小弟的档案。每个小弟都是一个以.toml结尾的文件,名字起啥都行,比如python_expert.toml或者security_auditor.toml。
如果你懒得自己写,网上有人已经整理好了三十多个现成的小弟档案。你直接下载下来扔进agents文件夹就能用。这就好比别人已经帮你训练好了一群特种兵,你只需要把他们调到你队伍里就行。
整个项目文件夹长啥样,一张图看懂
你建好文件夹之后,整个结构应该长这样:
your-project/
│
└── .codex/
├── config.toml
└── agents/
├── backend_developer.toml
└── code_reviewer.toml
有个小技巧要记住。如果你想让这些小弟在所有项目里都能用,就别把它们放在项目文件夹里。把它们放在你电脑的根目录下的.codex/agents/文件夹里,路径是~/.codex/agents/。这样不管你在哪个项目里干活,都能随时叫这些小弟帮忙。
先定好全局规矩,别让小弟们互相打架
在你让小弟们干活之前,得先在config.toml文件里定好规矩。这个文件长这样:
[agents]
max_threads = 6
max_depth = 1
最关键的两条都在这里面。max_threads是最大并行线程数,就是说同时能有多少个小弟干活。默认可能只有两个,你可以改成六个甚至更多。只要你的钱包扛得住,多开几个小弟并行干活速度飞快。max_depth是最大层级深度,这个要特别注意。设成1就意味着小弟只能直接干活,不能再生小弟。设成2就可以让小弟再派小弟。听起来很酷对吧?但千万别乱改。小弟再生小弟,很快就变成套娃模式,出了bug你连根都找不着。
手把手教你怎么给每个小弟写简历
每个小弟的档案文件其实就跟写简历一样。你得告诉Codex这个小弟叫啥名字,擅长干啥,有啥规矩。一个完整的小弟档案长这样:
name = "security_auditor"
description = "专门检查代码安全风险,找OWASP漏洞,看密钥有没有乱放"
model = "gpt-5.4"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
nickname_candidates = ["Security Auditor"]
developer_instructions = """
你是个专门管安全的审查员。只能看代码,不能改代码。
你的任务是找出可能被黑客利用的漏洞,按严重程度排序。
找到问题后告诉我哪个文件哪一行出了事,应该怎么修。
别跟我说代码风格好不好看,那不是你的事。
"""
名字必须全小写加下划线,简单好记,比如code_reviewer。描述要写得具体,别写什么“帮忙看代码”,要写“专门检查代码有没有回归性bug、有没有安全风险、有没有漏掉测试”。最重要的部分是developer_instructions,这里你要像给实习生布置任务一样写清楚。你得告诉它你只管看不管改,找漏洞按严重程度排序,找到问题后指出在哪个文件哪一行,给出修复建议。
你还可以给不同的小弟分配不同的AI模型。厉害的模型脑子好使但贵,适合干复杂活儿。弱一点的模型便宜但速度快,适合干简单重复的活儿。这就跟你不会让一个博士后去帮你搬砖是一个道理。sandbox_mode这个设置也特别重要。read-only模式的小弟只能看不准改,workspace-write模式的小弟才能动手改代码。
再给你看一个专门写Python的小弟档案长啥样:
name = "python_expert"
description = "专门写Python代码,加类型注解,写pytest测试"
developer_instructions = """
你是个Python专家。写代码必须加类型注解,用pathlib处理文件路径。
每个函数要短小精悍,错误处理要清楚。
改完代码告诉别人应该跑哪个命令来验证。
"""
怎么让你的小弟们动起来,两条命令就够了
配置好了之后真正开干特别简单。你只需要在跟Codex对话的时候,直接说启动某某某去干某个活儿。它就会自动找到对应的小弟档案,给它派任务。比如:
启动python_expert把utils.py这个文件重构一下,加上类型注解
Codex就会找到你写好的python_expert这个小弟,让它去干活。整个过程你甚至都不用管它在哪个文件夹里。你还可以同时启动好几个,比如这样:
同时启动code_reviewer和security_auditor,分别审查这次提交的代码
两个小弟会同时开工,你只需要等着它们分别交报告就行。那种感觉就像你有了一群不用睡觉的员工。
你有啥办法知道小弟们正在干啥活儿
小弟们干活的时候你可以随时查看进度。在终端输入下面这个命令:
/agent
就能看到当前有哪些小弟正在运行,它们各自在干啥。这就跟一个车间主任站在操作台前看大屏幕一样,一目了然。如果你发现某个小弟跑偏了,你甚至可以钻到它的单独对话线程里,给它直接发指令。这就像你看到某个员工干活不对劲,直接走到他工位上指点两句,不会影响其他员工。
但有一点要特别注意。小弟们默认不会自己创建新分支,它们改了代码就直接往你当前分支上写。如果你不想让它们把主分支搞得一团糟,记得在指令里明确说“创建一个新分支再干活”。
新手最常干翻车的五件事,我替你踩过坑了
第一件,不给小弟们分清楚任务。你就说一句“帮我看看代码”,所有小弟都不知道该看啥,最后要么都不动,要么全部挤在一起重复劳动。
第二件,开太多小弟。这不是人越多越好的事儿。六个小弟同时干活,你的钱包在滴血,而且它们写出来的东西互相覆盖互相冲突,最后你啥也得不到。
第三件,让多个小弟同时改同一个文件。这是最大的坑。就算Git不报冲突,它们改出来的逻辑也可能自相矛盾。前面小弟加了个变量,后面小弟不知道直接给删了。代码不报错,但功能全乱套。
第四件,完全相信AI写的测试。AI写的测试有时候测的根本不是功能对不对,而是测代码是不是按它理解的那个方式写的。这种测试代码覆盖率看着挺高,但其实啥用没有。
第五件,让小弟直接碰敏感区域。部署脚本、数据库迁移、生产环境密钥这些东西,永远不要让小弟们碰。它们万一犯个糊涂,你的整个项目可能就全完了。
结尾总结
你觉得让AI帮你干活已经够懒了。但真正的高手已经开始让AI管理AI了。这就像你雇了一群员工,然后给每个员工配了一个助理。表面上你啥都没干,实际上效率翻了三倍。