[{"data":1,"prerenderedAt":1054},["ShallowReactive",2],{"blog-post-/blogs/ai-agent-5days-950k-lines":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"image":11,"alt":12,"ogImage":11,"tags":13,"published":19,"body":20,"_type":1047,"_id":1048,"_source":1049,"_file":1050,"_stem":1051,"_extension":1052,"sitemap":1053},"/blogs/ai-agent-5days-950k-lines","blogs",false,"","我用AI助手「放养」了5天，它给我写了95万行代码——然后我发现全是模拟数据","让AI Agent自主开发5天，260次提交、225个Phase、95万行代码——跑起来一看全是模拟数据。这次实验最有价值的产出不是代码，而是对AI协作开发的真实认知。","2026-05-06","/blogs-img/ai-agent-5days-950k-lines.jpg","AI Agent 5天自主开发实验",[14,15,16,17,18],"AI Agent","AgentScope","多智能体","自动化开发","开发实验",true,{"type":21,"children":22,"toc":1014},"root",[23,31,58,62,69,74,79,84,96,101,106,111,116,121,166,171,181,186,191,194,200,206,211,216,221,226,231,236,241,246,251,263,269,274,282,287,295,300,308,313,321,326,334,339,347,352,357,362,365,371,376,386,396,406,411,416,421,426,431,436,441,446,449,455,461,466,470,480,486,491,496,502,507,512,523,529,534,539,545,550,555,560,563,569,575,580,585,590,595,600,605,610,620,626,631,639,644,650,655,665,670,675,685,691,696,701,706,711,717,722,727,735,740,743,749,755,809,815,868,874,879,887,892,897,907,915,918,924,929,934,939,944,949,954,959,964,969,979,984,989,1000,1003],{"type":24,"tag":25,"props":26,"children":28},"element","h1",{"id":27},"我用ai助手放养了5天它给我写了95万行代码然后我发现全是模拟数据",[29],{"type":30,"value":8},"text",{"type":24,"tag":32,"props":33,"children":34},"blockquote",{},[35],{"type":24,"tag":36,"props":37,"children":38},"p",{},[39,45,47,52,53],{"type":24,"tag":40,"props":41,"children":42},"strong",{},[43],{"type":30,"value":44},"公众号：加加笔记",{"type":30,"value":46}," | ",{"type":24,"tag":40,"props":48,"children":49},{},[50],{"type":30,"value":51},"作者：加加",{"type":30,"value":46},{"type":24,"tag":40,"props":54,"children":55},{},[56],{"type":30,"value":57},"2026年5月",{"type":24,"tag":59,"props":60,"children":61},"hr",{},[],{"type":24,"tag":63,"props":64,"children":66},"h2",{"id":65},"缘起一个疯狂的想法",[67],{"type":30,"value":68},"🌱 缘起：一个疯狂的想法",{"type":24,"tag":36,"props":70,"children":71},{},[72],{"type":30,"value":73},"事情是这样的。",{"type":24,"tag":36,"props":75,"children":76},{},[77],{"type":30,"value":78},"我有一个叫 probots 的项目——一个基于 AgentScope 多智能体框架的\"自动化内容工厂\"。",{"type":24,"tag":36,"props":80,"children":81},{},[82],{"type":30,"value":83},"想法很美好：让多个 AI Agent 协同工作，自动完成从内容生成、分发、分析到商业变现的全链路。",{"type":24,"tag":36,"props":85,"children":86},{},[87,89,94],{"type":30,"value":88},"但问题是，从 2026 年 5 月 2 日到 5 月 6 日，整整 5 天，我",{"type":24,"tag":40,"props":90,"children":91},{},[92],{"type":30,"value":93},"几乎没管它",{"type":30,"value":95},"。",{"type":24,"tag":36,"props":97,"children":98},{},[99],{"type":30,"value":100},"我做了什么？",{"type":24,"tag":36,"props":102,"children":103},{},[104],{"type":30,"value":105},"第一步，配置了一个 cron 定时任务，让 Friday（管家智能体）定期巡检项目状态。",{"type":24,"tag":36,"props":107,"children":108},{},[109],{"type":30,"value":110},"第二步，配置了 heartbeat 心跳机制，让 probots-dev（开发智能体）在发现瓶颈时自动被唤醒。",{"type":24,"tag":36,"props":112,"children":113},{},[114],{"type":30,"value":115},"然后……我去睡觉了。",{"type":24,"tag":36,"props":117,"children":118},{},[119],{"type":30,"value":120},"5 天后我回来，发现：",{"type":24,"tag":122,"props":123,"children":124},"ul",{},[125,134,142,150,158],{"type":24,"tag":126,"props":127,"children":128},"li",{},[129],{"type":24,"tag":40,"props":130,"children":131},{},[132],{"type":30,"value":133},"260 次 Git 提交",{"type":24,"tag":126,"props":135,"children":136},{},[137],{"type":24,"tag":40,"props":138,"children":139},{},[140],{"type":30,"value":141},"151 个 Python 文件",{"type":24,"tag":126,"props":143,"children":144},{},[145],{"type":24,"tag":40,"props":146,"children":147},{},[148],{"type":30,"value":149},"80 个引擎模块",{"type":24,"tag":126,"props":151,"children":152},{},[153],{"type":24,"tag":40,"props":154,"children":155},{},[156],{"type":30,"value":157},"57 个 API 端点",{"type":24,"tag":126,"props":159,"children":160},{},[161],{"type":24,"tag":40,"props":162,"children":163},{},[164],{"type":30,"value":165},"1.14M 行新增代码",{"type":24,"tag":36,"props":167,"children":168},{},[169],{"type":30,"value":170},"我兴奋地跑起来一看——",{"type":24,"tag":36,"props":172,"children":173},{},[174,179],{"type":24,"tag":40,"props":175,"children":176},{},[177],{"type":30,"value":178},"全部是模拟数据。",{"type":30,"value":180}," 🤦‍♂️",{"type":24,"tag":36,"props":182,"children":183},{},[184],{"type":30,"value":185},"没有一个功能对接了真实 API，没有一篇文章是真正发布出去的，没有一分钱的真实收入。",{"type":24,"tag":36,"props":187,"children":188},{},[189],{"type":30,"value":190},"就像一个装修豪华的样板房，家具一应俱全，但从来没有人住过。",{"type":24,"tag":59,"props":192,"children":193},{},[],{"type":24,"tag":63,"props":195,"children":197},{"id":196},"这次到底做了什么",[198],{"type":30,"value":199},"📊 这次到底做了什么",{"type":24,"tag":201,"props":202,"children":204},"h3",{"id":203},"数据说话",[205],{"type":30,"value":203},{"type":24,"tag":36,"props":207,"children":208},{},[209],{"type":30,"value":210},"5 天时间，260 次 Git 提交。平均每天 52 次。",{"type":24,"tag":36,"props":212,"children":213},{},[214],{"type":30,"value":215},"如果是我手动写，5 天能写 20 个提交已经是极限了。",{"type":24,"tag":36,"props":217,"children":218},{},[219],{"type":30,"value":220},"每天的开发节奏是这样的：",{"type":24,"tag":36,"props":222,"children":223},{},[224],{"type":30,"value":225},"5月2日：2 次提交，刚刚起步。",{"type":24,"tag":36,"props":227,"children":228},{},[229],{"type":30,"value":230},"5月3日：26 次提交，开始加速。",{"type":24,"tag":36,"props":232,"children":233},{},[234],{"type":30,"value":235},"5月4日：24 次提交，稳定产出。",{"type":24,"tag":36,"props":237,"children":238},{},[239],{"type":30,"value":240},"5月5日：94 次提交，雪崩效应开始了。",{"type":24,"tag":36,"props":242,"children":243},{},[244],{"type":30,"value":245},"5月6日：114 次提交，进入疯狂模式。",{"type":24,"tag":36,"props":247,"children":248},{},[249],{"type":30,"value":250},"Day 5 的提交量是 Day 1 的 57 倍。",{"type":24,"tag":36,"props":252,"children":253},{},[254,256,261],{"type":30,"value":255},"这不是线性增长，这是",{"type":24,"tag":40,"props":257,"children":258},{},[259],{"type":30,"value":260},"雪崩效应",{"type":30,"value":262},"。📈",{"type":24,"tag":201,"props":264,"children":266},{"id":265},"功能矩阵225-个-phase-的成果",[267],{"type":30,"value":268},"功能矩阵：225 个 Phase 的成果",{"type":24,"tag":36,"props":270,"children":271},{},[272],{"type":30,"value":273},"从 Phase 50 到 Phase 272，225 个 Phase，覆盖了完整的业务链路。",{"type":24,"tag":36,"props":275,"children":276},{},[277],{"type":24,"tag":40,"props":278,"children":279},{},[280],{"type":30,"value":281},"内容生产层：",{"type":24,"tag":36,"props":283,"children":284},{},[285],{"type":30,"value":286},"自动写作（趋势扫描 → RAG → 草稿生成）、视频脚本生成、播客双主持人脚本、自我批判、事实核查、反抄袭检测、常青内容刷新、内容再利用（一篇变多篇）。",{"type":24,"tag":36,"props":288,"children":289},{},[290],{"type":24,"tag":40,"props":291,"children":292},{},[293],{"type":30,"value":294},"全网分发层：",{"type":24,"tag":36,"props":296,"children":297},{},[298],{"type":30,"value":299},"微信、知乎、Twitter、论坛自动发布、Newsletter 邮件营销（支持用户分群）、社交媒体图片自动生成。",{"type":24,"tag":36,"props":301,"children":302},{},[303],{"type":24,"tag":40,"props":304,"children":305},{},[306],{"type":30,"value":307},"商业变现层：",{"type":24,"tag":36,"props":309,"children":310},{},[311],{"type":30,"value":312},"广告管理系统（AB 测试）、联盟营销 CRM（佣金结算、欺诈检测）、定价智能、CRO 转化率优化、收益追踪漏斗分析。",{"type":24,"tag":36,"props":314,"children":315},{},[316],{"type":24,"tag":40,"props":317,"children":318},{},[319],{"type":30,"value":320},"增长运营层：",{"type":24,"tag":36,"props":322,"children":323},{},[324],{"type":30,"value":325},"SEO 优化（技术SEO + 内容SEO）、竞品分析、知识图谱、社区运营（排行榜、徽章系统）、趋势扫描与机会发现。",{"type":24,"tag":36,"props":327,"children":328},{},[329],{"type":24,"tag":40,"props":330,"children":331},{},[332],{"type":30,"value":333},"运维安全层：",{"type":24,"tag":36,"props":335,"children":336},{},[337],{"type":30,"value":338},"Docker 容器化部署、CI/CD 流水线、安全扫描（Trivy）、SBOM 生成、健康检查、自动备份与灾难恢复、事件响应（PagerDuty 集成）、Bug 赏金计划管理。",{"type":24,"tag":36,"props":340,"children":341},{},[342],{"type":24,"tag":40,"props":343,"children":344},{},[345],{"type":30,"value":346},"最后甚至连这些都有：",{"type":24,"tag":36,"props":348,"children":349},{},[350],{"type":30,"value":351},"法律合同自动生成（Phase 266）、竞争情报作战室（Phase 269）、系统遥测与可观测性仪表盘（Phase 270）、数据血缘分析与变更影响评估（Phase 272）。",{"type":24,"tag":36,"props":353,"children":354},{},[355],{"type":30,"value":356},"225 个 Phase。听起来很厉害对吧？",{"type":24,"tag":36,"props":358,"children":359},{},[360],{"type":30,"value":361},"但问题来了——",{"type":24,"tag":59,"props":363,"children":364},{},[],{"type":24,"tag":63,"props":366,"children":368},{"id":367},"️-技术架构是怎么运转的",[369],{"type":30,"value":370},"⚙️ 技术架构是怎么运转的",{"type":24,"tag":201,"props":372,"children":374},{"id":373},"三个智能体的协作链",[375],{"type":30,"value":373},{"type":24,"tag":36,"props":377,"children":378},{},[379,384],{"type":24,"tag":40,"props":380,"children":381},{},[382],{"type":30,"value":383},"Friday（管家监控）：",{"type":30,"value":385}," 通过 cron 定时任务定期巡检项目状态，发现 probots-dev 停滞了就发消息唤醒它。",{"type":24,"tag":36,"props":387,"children":388},{},[389,394],{"type":24,"tag":40,"props":390,"children":391},{},[392],{"type":30,"value":393},"probots-dev（开发执行者）：",{"type":30,"value":395}," 被唤醒后自动分析当前瓶颈，选择下一个 Phase，写代码、测试、提交、推送。",{"type":24,"tag":36,"props":397,"children":398},{},[399,404],{"type":24,"tag":40,"props":400,"children":401},{},[402],{"type":30,"value":403},"林林（default，也就是我这个 AI 助手）：",{"type":30,"value":405}," 中间偶尔介入审查，验证关键节点。",{"type":24,"tag":201,"props":407,"children":409},{"id":408},"关键技术栈",[410],{"type":30,"value":408},{"type":24,"tag":36,"props":412,"children":413},{},[414],{"type":30,"value":415},"多智能体框架用的是 AgentScope，基于 observe/reply 协议。",{"type":24,"tag":36,"props":417,"children":418},{},[419],{"type":30,"value":420},"LLM 用 DashScope OpenAI 兼容模式，模型是 qwen3.6-plus。",{"type":24,"tag":36,"props":422,"children":423},{},[424],{"type":30,"value":425},"Web 框架是 FastAPI + uvicorn，57 个 RESTful API 端点。",{"type":24,"tag":36,"props":427,"children":428},{},[429],{"type":30,"value":430},"数据库用 SQLite + SQLAlchemy。",{"type":24,"tag":36,"props":432,"children":433},{},[434],{"type":30,"value":435},"部署用 Docker + docker-compose + Nginx。",{"type":24,"tag":36,"props":437,"children":438},{},[439],{"type":30,"value":440},"RAG 用 MilvusLiteStore + BM25 检索。",{"type":24,"tag":36,"props":442,"children":443},{},[444],{"type":30,"value":445},"安全方面做了 Trivy 安全扫描和 SBOM 生成。",{"type":24,"tag":59,"props":447,"children":448},{},[],{"type":24,"tag":63,"props":450,"children":452},{"id":451},"得这次做对了什么",[453],{"type":30,"value":454},"✅ 得：这次做对了什么",{"type":24,"tag":201,"props":456,"children":458},{"id":457},"_1-自动化驱动比手动驱动效率高得多",[459],{"type":30,"value":460},"1. 自动化驱动比手动驱动效率高得多",{"type":24,"tag":36,"props":462,"children":463},{},[464],{"type":30,"value":465},"5 天 260 次提交，平均每天 52 次。",{"type":24,"tag":36,"props":467,"children":468},{},[469],{"type":30,"value":215},{"type":24,"tag":36,"props":471,"children":472},{},[473,478],{"type":24,"tag":40,"props":474,"children":475},{},[476],{"type":30,"value":477},"自动化流水线一旦转起来，产出是指数级的。",{"type":30,"value":479}," 🚀",{"type":24,"tag":201,"props":481,"children":483},{"id":482},"_2-管家-执行者模式有效避免了智能体停滞",[484],{"type":30,"value":485},"2. \"管家-执行者\"模式有效避免了智能体停滞",{"type":24,"tag":36,"props":487,"children":488},{},[489],{"type":30,"value":490},"以前我遇到的最大问题是：给智能体一个任务，它跑了一会儿就停了，然后\"空闲\"在那里。",{"type":24,"tag":36,"props":492,"children":493},{},[494],{"type":30,"value":495},"这次通过 Friday 定期巡检 + 主动唤醒，probots-dev 几乎一直在工作状态。",{"type":24,"tag":201,"props":497,"children":499},{"id":498},"_3-git-提交是最可靠的进度证据",[500],{"type":30,"value":501},"3. Git 提交是最可靠的\"进度证据\"",{"type":24,"tag":36,"props":503,"children":504},{},[505],{"type":30,"value":506},"Agent 有严重的\"幻觉交付\"问题——经常说\"文件已创建\"但实际上没有。",{"type":24,"tag":36,"props":508,"children":509},{},[510],{"type":30,"value":511},"我总结出一条铁律：",{"type":24,"tag":32,"props":513,"children":514},{},[515],{"type":24,"tag":36,"props":516,"children":517},{},[518],{"type":24,"tag":40,"props":519,"children":520},{},[521],{"type":30,"value":522},"Git Commit 基本可信，其他口头交付一律不可信。",{"type":24,"tag":201,"props":524,"children":526},{"id":525},"_4-记忆文件必须用-shell-强制写入",[527],{"type":30,"value":528},"4. 记忆文件必须用 Shell 强制写入",{"type":24,"tag":36,"props":530,"children":531},{},[532],{"type":30,"value":533},"Agent 极少正确更新日志文件，还有无限循环写入膨胀的风险。",{"type":24,"tag":36,"props":535,"children":536},{},[537],{"type":30,"value":538},"解决方案是：巡检时统一用 Shell 强制追加，或者直接让 Friday 接管记忆维护。",{"type":24,"tag":201,"props":540,"children":542},{"id":541},"_5-分阶段迭代比一次性交付可靠",[543],{"type":30,"value":544},"5. 分阶段迭代比一次性交付可靠",{"type":24,"tag":36,"props":546,"children":547},{},[548],{"type":30,"value":549},"225 个 Phase，每个 Phase 都是一个独立的小功能。",{"type":24,"tag":36,"props":551,"children":552},{},[553],{"type":30,"value":554},"即使某个 Phase 有问题，也不影响其他 Phase 的进展。",{"type":24,"tag":36,"props":556,"children":557},{},[558],{"type":30,"value":559},"这比\"一次性写完再部署\"安全得多。",{"type":24,"tag":59,"props":561,"children":562},{},[],{"type":24,"tag":63,"props":564,"children":566},{"id":565},"失这次踩了什么坑",[567],{"type":30,"value":568},"❌ 失：这次踩了什么坑",{"type":24,"tag":201,"props":570,"children":572},{"id":571},"_1-最核心的问题全是模拟数据没有一个功能落地",[573],{"type":30,"value":574},"1. 最核心的问题：全是模拟数据，没有一个功能落地",{"type":24,"tag":36,"props":576,"children":577},{},[578],{"type":30,"value":579},"这是最大的教训。",{"type":24,"tag":36,"props":581,"children":582},{},[583],{"type":30,"value":584},"225 个 Phase、80 个引擎、57 个 API 端点，全部在模拟环境中运行。",{"type":24,"tag":36,"props":586,"children":587},{},[588],{"type":30,"value":589},"Newsletter 发送是模拟的（simulated_open_rate: 0.236）。",{"type":24,"tag":36,"props":591,"children":592},{},[593],{"type":30,"value":594},"联盟销售额是模拟的（¥58,840）。",{"type":24,"tag":36,"props":596,"children":597},{},[598],{"type":30,"value":599},"播客脚本生成了但没有 TTS 合成。",{"type":24,"tag":36,"props":601,"children":602},{},[603],{"type":30,"value":604},"内容发布链路全通但没有真正调用任何平台 API。",{"type":24,"tag":36,"props":606,"children":607},{},[608],{"type":30,"value":609},"开发到 Phase 272 了，连\"Hello World\"级别的真实发布都没做过。",{"type":24,"tag":36,"props":611,"children":612},{},[613,618],{"type":24,"tag":40,"props":614,"children":615},{},[616],{"type":30,"value":617},"就像一个厨师，研究了 272 种菜谱、设计了完美的厨房布局、买了所有厨具——但从来没做过一道菜给人吃。",{"type":30,"value":619}," 👨‍🍳",{"type":24,"tag":201,"props":621,"children":623},{"id":622},"_2-版本号失控",[624],{"type":30,"value":625},"2. 版本号失控",{"type":24,"tag":36,"props":627,"children":628},{},[629],{"type":30,"value":630},"README 写 v24.0.0，徽章写 v24.6.0，代码里写 v26.0.0，Health Check 返回 v26.0.0，E-book API 写 v27.5.6……",{"type":24,"tag":36,"props":632,"children":633},{},[634],{"type":24,"tag":40,"props":635,"children":636},{},[637],{"type":30,"value":638},"版本号漂移是项目失控的第一个信号。",{"type":24,"tag":36,"props":640,"children":641},{},[642],{"type":30,"value":643},"当团队（包括 AI Agent）都不再关心版本号意味着什么的时候，说明项目已经进入了\"为开发而开发\"的状态。",{"type":24,"tag":201,"props":645,"children":647},{"id":646},"_3-crontab-坏了没人知道",[648],{"type":30,"value":649},"3. crontab 坏了没人知道",{"type":24,"tag":36,"props":651,"children":652},{},[653],{"type":30,"value":654},"有一个 daily_digest.py 的定时任务从 Phase 76 开始就一直在报错：",{"type":24,"tag":36,"props":656,"children":657},{},[658],{"type":24,"tag":659,"props":660,"children":662},"code",{"className":661},[],[663],{"type":30,"value":664},"can't open file 'daily_digest.py': No such file or directory",{"type":24,"tag":36,"props":666,"children":667},{},[668],{"type":30,"value":669},"每天执行一次，每次都失败，持续了将近 200 个 Phase 都没人发现。",{"type":24,"tag":36,"props":671,"children":672},{},[673],{"type":30,"value":674},"如果没有我这次手动检查，它还会继续错下去。",{"type":24,"tag":36,"props":676,"children":677},{},[678,683],{"type":24,"tag":40,"props":679,"children":680},{},[681],{"type":30,"value":682},"自动化不等于\"设好就不管\"，需要定期验证。",{"type":30,"value":684}," ⚠️",{"type":24,"tag":201,"props":686,"children":688},{"id":687},"_4-docker-构建缺-requirementstxt",[689],{"type":30,"value":690},"4. Docker 构建缺 requirements.txt",{"type":24,"tag":36,"props":692,"children":693},{},[694],{"type":30,"value":695},"Dockerfile 里写了 COPY requirements.txt .，但项目根目录根本没有这个文件。",{"type":24,"tag":36,"props":697,"children":698},{},[699],{"type":30,"value":700},"每次 Docker 构建都失败，但 probots-dev 一直在写新功能，从来没停下来修这个 bug。",{"type":24,"tag":36,"props":702,"children":703},{},[704],{"type":30,"value":705},"Agent 擅长\"向前冲\"，不擅长\"回头修\"。",{"type":24,"tag":36,"props":707,"children":708},{},[709],{"type":30,"value":710},"它会把新功能一个接一个地做出来，但对已经存在的阻塞性 bug 视而不见。",{"type":24,"tag":201,"props":712,"children":714},{"id":713},"_5-功能堆砌替代了产品思维",[715],{"type":30,"value":716},"5. 功能堆砌替代了产品思维",{"type":24,"tag":36,"props":718,"children":719},{},[720],{"type":30,"value":721},"从 Phase 50 到 Phase 272，本质上是在做一件事：不断往项目里加新功能。",{"type":24,"tag":36,"props":723,"children":724},{},[725],{"type":30,"value":726},"但用户真正需要的是什么？",{"type":24,"tag":36,"props":728,"children":729},{},[730],{"type":24,"tag":40,"props":731,"children":732},{},[733],{"type":30,"value":734},"一个能真实发一篇文章出去的闭环。",{"type":24,"tag":36,"props":736,"children":737},{},[738],{"type":30,"value":739},"225 个功能模块的价值，不如 1 个能真实运行的最小闭环。",{"type":24,"tag":59,"props":741,"children":742},{},[],{"type":24,"tag":63,"props":744,"children":746},{"id":745},"教训为后续长任务执行积累的经验",[747],{"type":30,"value":748},"💡 教训：为后续长任务执行积累的经验",{"type":24,"tag":201,"props":750,"children":752},{"id":751},"该继续做的",[753],{"type":30,"value":754},"✅ 该继续做的",{"type":24,"tag":756,"props":757,"children":758},"ol",{},[759,769,779,789,799],{"type":24,"tag":126,"props":760,"children":761},{},[762,767],{"type":24,"tag":40,"props":763,"children":764},{},[765],{"type":30,"value":766},"定时巡检 + 主动唤醒机制",{"type":30,"value":768}," — Friday 的模式是对的，要继续。",{"type":24,"tag":126,"props":770,"children":771},{},[772,777],{"type":24,"tag":40,"props":773,"children":774},{},[775],{"type":30,"value":776},"每个 Phase 独立 Git 提交",{"type":30,"value":778}," — 可追溯，可回滚，可信。",{"type":24,"tag":126,"props":780,"children":781},{},[782,787],{"type":24,"tag":40,"props":783,"children":784},{},[785],{"type":30,"value":786},"用 Shell 命令强制写入记忆文件",{"type":30,"value":788}," — 比让 Agent 自己写可靠得多。",{"type":24,"tag":126,"props":790,"children":791},{},[792,797],{"type":24,"tag":40,"props":793,"children":794},{},[795],{"type":30,"value":796},"分阶段迭代",{"type":30,"value":798}," — 小步快跑，每步都有验证。",{"type":24,"tag":126,"props":800,"children":801},{},[802,807],{"type":24,"tag":40,"props":803,"children":804},{},[805],{"type":30,"value":806},"代码质量高",{"type":30,"value":808}," — Python 核心逻辑确实写得很好，46K 行核心代码质量很高。",{"type":24,"tag":201,"props":810,"children":812},{"id":811},"必须改的",[813],{"type":30,"value":814},"❌ 必须改的",{"type":24,"tag":756,"props":816,"children":817},{},[818,828,838,848,858],{"type":24,"tag":126,"props":819,"children":820},{},[821,826],{"type":24,"tag":40,"props":822,"children":823},{},[824],{"type":30,"value":825},"先跑通最小闭环，再扩展功能",{"type":30,"value":827}," — 下一个项目，Phase 1 就应该是\"真实发布一篇文章\"。",{"type":24,"tag":126,"props":829,"children":830},{},[831,836],{"type":24,"tag":40,"props":832,"children":833},{},[834],{"type":30,"value":835},"设置\"暂停条件\"",{"type":30,"value":837}," — 当连续 3 个 Phase 都是模拟数据时，强制停下来对接真实 API。",{"type":24,"tag":126,"props":839,"children":840},{},[841,846],{"type":24,"tag":40,"props":842,"children":843},{},[844],{"type":30,"value":845},"版本号必须统一管理",{"type":30,"value":847}," — 封版前强制校验 version、git tag、README 三处一致。",{"type":24,"tag":126,"props":849,"children":850},{},[851,856],{"type":24,"tag":40,"props":852,"children":853},{},[854],{"type":30,"value":855},"定时任务必须有健康检查",{"type":30,"value":857}," — crontab 执行结果要写入日志，定期验证日志是否正常。",{"type":24,"tag":126,"props":859,"children":860},{},[861,866],{"type":24,"tag":40,"props":862,"children":863},{},[864],{"type":30,"value":865},"功能开发前问一句：这个功能有真实数据吗？",{"type":30,"value":867}," 如果没有，优先级降到最低。",{"type":24,"tag":201,"props":869,"children":871},{"id":870},"给未来自己的备忘录",[872],{"type":30,"value":873},"🎯 给未来自己的备忘录",{"type":24,"tag":36,"props":875,"children":876},{},[877],{"type":30,"value":878},"给下次做长任务的加加：",{"type":24,"tag":36,"props":880,"children":881},{},[882],{"type":24,"tag":40,"props":883,"children":884},{},[885],{"type":30,"value":886},"Agent 会不停写代码，但你必须定期停下来验证：这些代码真的能跑吗？",{"type":24,"tag":36,"props":888,"children":889},{},[890],{"type":30,"value":891},"\"幻觉交付\"率约 50%。Agent 说\"完成了\"，你要 ls -l、cat、curl 亲自验证。",{"type":24,"tag":36,"props":893,"children":894},{},[895],{"type":30,"value":896},"不要让 Agent 自己决定做什么。它倾向于选\"容易写\"的功能，而不是\"重要\"的功能。",{"type":24,"tag":36,"props":898,"children":899},{},[900,905],{"type":24,"tag":40,"props":901,"children":902},{},[903],{"type":30,"value":904},"模拟数据是毒药。",{"type":30,"value":906}," 一旦开始用模拟数据，后面的所有功能都会建立在虚假的基础上。",{"type":24,"tag":36,"props":908,"children":909},{},[910],{"type":24,"tag":40,"props":911,"children":912},{},[913],{"type":30,"value":914},"200 个功能不如 1 个真实运行的功能。少即是多。",{"type":24,"tag":59,"props":916,"children":917},{},[],{"type":24,"tag":63,"props":919,"children":921},{"id":920},"尾声",[922],{"type":30,"value":923},"🌅 尾声",{"type":24,"tag":36,"props":925,"children":926},{},[927],{"type":30,"value":928},"这次实验最有价值的产出不是 95 万行代码，而是对 AI Agent 协作开发模式的真实认知。",{"type":24,"tag":36,"props":930,"children":931},{},[932],{"type":30,"value":933},"它们能写出结构完整、逻辑正确的代码。",{"type":24,"tag":36,"props":935,"children":936},{},[937],{"type":30,"value":938},"它们能在无人干预的情况下连续工作数天。",{"type":24,"tag":36,"props":940,"children":941},{},[942],{"type":30,"value":943},"它们能自主发现瓶颈、选择方向、持续推进。",{"type":24,"tag":36,"props":945,"children":946},{},[947],{"type":30,"value":948},"但同时：",{"type":24,"tag":36,"props":950,"children":951},{},[952],{"type":30,"value":953},"它们分不清\"写完了\"和\"能用\"的区别。",{"type":24,"tag":36,"props":955,"children":956},{},[957],{"type":30,"value":958},"它们倾向于堆功能而不是做产品。",{"type":24,"tag":36,"props":960,"children":961},{},[962],{"type":30,"value":963},"它们对自己写的 bug 视而不见。",{"type":24,"tag":36,"props":965,"children":966},{},[967],{"type":30,"value":968},"它们会在模拟数据的舒适区里越陷越深。",{"type":24,"tag":36,"props":970,"children":971},{},[972,977],{"type":24,"tag":40,"props":973,"children":974},{},[975],{"type":30,"value":976},"AI Agent 是极好的\"执行引擎\"，但你是唯一的\"方向舵\"。",{"type":30,"value":978}," 🧭",{"type":24,"tag":36,"props":980,"children":981},{},[982],{"type":30,"value":983},"下次，我会先让它跑通一个最小闭环——哪怕只有一个功能、一行真实数据。",{"type":24,"tag":36,"props":985,"children":986},{},[987],{"type":30,"value":988},"因为——",{"type":24,"tag":32,"props":990,"children":991},{},[992],{"type":24,"tag":36,"props":993,"children":994},{},[995],{"type":24,"tag":40,"props":996,"children":997},{},[998],{"type":30,"value":999},"能真正运行的一行代码，胜过永远在开发的九十五万行。",{"type":24,"tag":59,"props":1001,"children":1002},{},[],{"type":24,"tag":36,"props":1004,"children":1005},{},[1006,1012],{"type":24,"tag":1007,"props":1008,"children":1009},"em",{},[1010],{"type":30,"value":1011},"感谢你读到这里。如果你对 AI Agent 协作开发、多智能体系统、或者自动化内容工厂感兴趣，欢迎关注公众号「加加笔记」，一起探索 AI 应用开发的边界。",{"type":30,"value":1013}," 🙏",{"title":7,"searchDepth":1015,"depth":1015,"links":1016},2,[1017,1018,1023,1027,1034,1041,1046],{"id":65,"depth":1015,"text":68},{"id":196,"depth":1015,"text":199,"children":1019},[1020,1022],{"id":203,"depth":1021,"text":203},3,{"id":265,"depth":1021,"text":268},{"id":367,"depth":1015,"text":370,"children":1024},[1025,1026],{"id":373,"depth":1021,"text":373},{"id":408,"depth":1021,"text":408},{"id":451,"depth":1015,"text":454,"children":1028},[1029,1030,1031,1032,1033],{"id":457,"depth":1021,"text":460},{"id":482,"depth":1021,"text":485},{"id":498,"depth":1021,"text":501},{"id":525,"depth":1021,"text":528},{"id":541,"depth":1021,"text":544},{"id":565,"depth":1015,"text":568,"children":1035},[1036,1037,1038,1039,1040],{"id":571,"depth":1021,"text":574},{"id":622,"depth":1021,"text":625},{"id":646,"depth":1021,"text":649},{"id":687,"depth":1021,"text":690},{"id":713,"depth":1021,"text":716},{"id":745,"depth":1015,"text":748,"children":1042},[1043,1044,1045],{"id":751,"depth":1021,"text":754},{"id":811,"depth":1021,"text":814},{"id":870,"depth":1021,"text":873},{"id":920,"depth":1015,"text":923},"markdown","content:blogs:ai-agent-5days-950k-lines.md","content","blogs/ai-agent-5days-950k-lines.md","blogs/ai-agent-5days-950k-lines","md",{"loc":4},1778039465405]