[{"data":1,"prerenderedAt":82},["ShallowReactive",2],{"content-query-wymPyuMJbB":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"lang":10,"date":11,"categories":12,"tags":14,"body":18,"_type":76,"_id":77,"_source":78,"_file":79,"_stem":80,"_extension":81},"\u002Fblog\u002Fai-agent-butler","blog",false,"","Master & Sub agent","2025 年 12 月那会儿，Claude Code 特别火。我用它写代码，结果发现自己还是得一直坐在电脑前。","zh-Hans","2026-01-31",[13],"Computer technology",[15,16,17],"Chinese & 中文","AI","Experience",{"type":19,"children":20,"toc":73},"root",[21,28,33,38,43,48,53,58,63,68],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26],{"type":27,"value":9},"text",{"type":22,"tag":23,"props":29,"children":30},{},[31],{"type":27,"value":32},"我给它派一个活，它干一会儿，干完了就停在那里。然后我看一眼结果，再告诉它下一步做什么。就这么来回循环。代码确实是它在写，可我想出去散个步，还得想一下，它手上的活是不是马上就做完了？要不我再等两分钟，给它派个新的再走。",{"type":22,"tag":23,"props":34,"children":35},{},[36],{"type":27,"value":37},"后来我就想，能不能找一个 AI 专门替我派活？我管它叫「管家 Agent」，也就是 Master Agent。",{"type":22,"tag":23,"props":39,"children":40},{},[41],{"type":27,"value":42},"我脑子里有个产品点子，就先跟管家聊。我说我想做个什么东西，给谁用，第一次打开应该能干什么。聊着聊着，有些我以为想明白了的地方，可能还得再说一遍。等我们把要做的事和验收标准敲定下来，管家就可以把活拆开，一批一批交给不同的子 Agent 去做。比如先把核心流程跑通，再补边界情况。上一批做完，管家检查一下结果，该返工就返工，该往下做就派下一批。",{"type":22,"tag":23,"props":44,"children":45},{},[46],{"type":27,"value":47},"我中途想看，随时可以回来看看做到哪儿了。哪里不满意，我就跟管家说。比如我试了一下，发现用户填完一堆东西，点返回以后全没了。我只要把我期待的行为讲清楚，管家就可以安排子 Agent 去改，改完再给我验收。碰上必须由我拍板的事，它就来问我。已经说清楚的活，它可以接着干。",{"type":22,"tag":23,"props":49,"children":50},{},[51],{"type":27,"value":52},"我最想试试的其实是个很普通的场景。我出门散个步，回来的时候，第一批任务已经做完了，下一批也在跑。或者晚上我把需求聊清楚就去睡觉，第二天起来，电脑上已经有个能点开试的版本，还有几件事等我拿主意。",{"type":22,"tag":23,"props":54,"children":55},{},[56],{"type":27,"value":57},"我当时想给自己的电脑做一套自己用的 Agent，就从零开始，让 Claude 帮我写了一个 Agent Harness。可以把 Harness 理解成让 Agent 干活的那层程序，给它接上工具，让它能在电脑上实际做事。",{"type":22,"tag":23,"props":59,"children":60},{},[61],{"type":27,"value":62},"真做起来，我得先想清楚，派活和干活是放在同一个循环里，还是拆成两层，外面一层管任务，里面一层负责执行。还有上下文怎么给，子 Agent 接到活的时候需要知道哪些前情，哪些决定要记下来，下次还能接着用。缓存命中也得考虑，比如每一轮都要用的系统提示和工具说明，可以尽量保持稳定，让模型复用已经处理过的部分。有 Claude 帮忙，我基本上只需要做这些设计上的决定，具体怎么写就交给它。",{"type":22,"tag":23,"props":64,"children":65},{},[66],{"type":27,"value":67},"做到一半，OpenClaw 火了。我看了一下，觉得自己想要的很多东西已经可以拿它来试了。模型这边可以接不同的 Provider，我也可以从不同的聊天入口给自己的电脑派活，再让 Agent 调用工具把任务做完。对我来说，先这么用起来，就已经能做不少事了。",{"type":22,"tag":23,"props":69,"children":70},{},[71],{"type":27,"value":72},"现在我自己写代码的手感，确实退化得差不多了。以前 Rust、TypeScript 和 JavaScript 我都写得挺熟。现在日常的代码基本都交给 AI，真让我从一个空文件开始敲，很多以前顺手就能写出来的东西，我估计都得现查，以后写代码都得靠 AI 了。",{"title":7,"searchDepth":74,"depth":74,"links":75},2,[],"markdown","content:blog:ai-agent-butler.md","content","blog\u002Fai-agent-butler.md","blog\u002Fai-agent-butler","md",1793885408870]