[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-loop-engineering-ru-men-gou-jian-ke-chi-xu-die-dai-de-zhi-ne-en":3,"article-related-loop-engineering-ru-men-gou-jian-ke-chi-xu-die-dai-de-zhi-ne-en":31,"series-ai-agent-7d80deb7-681b-4ebd-aa99-1ae041890f2b":84},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":23,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":30},"7d80deb7-681b-4ebd-aa99-1ae041890f2b","loop-engineering-ru-men-gou-jian-ke-chi-xu-die-dai-de-zhi-ne-en","Loop Engineering 入门：构建可持续迭代的智能体","\u003Cp data-speakable=\"summary\">用 \u003Ca href=\"\u002Ftag\u002Flangchain\">LangChain\u003C\u002Fa> 和 LangGraph 搭建一个可持续迭代的 \u003Ca href=\"\u002Fnews\u002Floop-engineering-agent-completes-tasks-en\">Loop Engineering\u003C\u002Fa> 智能体。\u003C\u002Fp>\u003Cp>这篇指南适合正在学习 \u003Ca href=\"\u002Ftag\u002Fai-agent\">AI Agent\u003C\u002Fa> 开发的工程师，尤其是已经接触过 LangChain、LangGraph，或者正在研究 \u003Ca href=\"\u002Ftag\u002Fskills\">skills\u003C\u002Fa>、\u003Ca href=\"\u002Ftag\u002Fmcp\">MCP\u003C\u002Fa>、工具调用和状态机编排的人。你会得到一个从概念到落地的 Loop Engineering 方案，知道它是什么、为什么重要，以及如何把它做成一个能反复执行、持续改进的智能体循环。\u003C\u002Fp>\u003Cp>跟着下面的步骤，你将完成一个最小可用的循环式智能体：能接收任务、规划动作、调用工具、检查结果，并在需要时自动回到上一轮继续修正。最终你会拥有一套可复用的开发框架，方便把它扩展到真实项目中的检索、代码生成、业务流程自动化和多步决策场景。\u003C\u002Fp>\u003Ch2>Before you start\u003C\u002Fh2>\u003Cul>\u003Cli>Node.js 20+\u003C\u002Fli>\u003Cli>Python 3.10+\u003C\u002Fli>\u003Cli>一个 OpenAI API key，或兼容的 LLM API key\u003C\u002Fli>\u003Cli>LangChain 最新稳定版\u003C\u002Fli>\u003Cli>LangGraph 最新稳定版\u003C\u002Fli>\u003Cli>Git 2.40+\u003C\u002Fli>\u003Cli>能访问 npm 或 pip 的网络环境\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 定义循环目标\u003C\u002Fh2>\u003Cp>先把 Loop Engineering 的目标说清楚：不是一次性生成答案，而是让智能体在“计划-执行-检查-修正”的回路里持续前进。这个目标决定了后面所有设计，包括状态、工具、终止条件和错误处理。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782443868495-4h1i.png\" alt=\"Loop Engineering 入门：构建可持续迭代的智能体\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>你可以先写下一个最小任务，例如“根据用户问题检索资料并输出结构化结论”，再把它拆成四个动作：理解输入、选择工具、评估结果、决定是否继续。\u003C\u002Fp>\u003Cp>验证方式很简单：你应该能把任务描述成一个包含起点、循环条件和结束条件的流程图，而不是一段单次提示词。\u003C\u002Fp>\u003Ch2>Step 2: 搭建 LangChain 工具层\u003C\u002Fh2>\u003Cp>接着创建工具层，把外部能力封装成可调用函数。Loop Engineering 的关键不是让模型“什么都会”，而是让模型知道何时调用哪一个工具，并能把结果带回循环继续处理。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782443861837-podh.png\" alt=\"Loop Engineering 入门：构建可持续迭代的智能体\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>npm install langchain @langchain\u002Fopenai @langchain\u002Fcore langgraph\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>然后定义一个最小工具，例如搜索、读取文件或计算器。把工具输入和输出格式固定下来，尽量返回结构化数据，方便后续节点判断下一步。\u003C\u002Fp>\u003Cp>验证方式是运行一次工具调用，你应该看到模型不只是输出自然语言，而是能拿到工具返回值，例如 JSON、列表或明确的状态对象。\u003C\u002Fp>\u003Ch2>Step 3: 设计状态机节点\u003C\u002Fh2>\u003Cp>现在把循环拆成节点。典型节点包括 planner、executor、checker 和 router。planner 负责决定下一步做什么，executor 负责执行工具调用，checker 负责判断结果是否达标，router 负责决定继续循环还是结束。\u003C\u002Fp>\u003Cp>在 LangGraph 里，状态机的价值在于把“反复尝试”变成显式结构。这样你可以记录每一轮的输入、工具结果、错误原因和修正动作，方便调试和观察。\u003C\u002Fp>\u003Cp>验证方式是你应该能在代码里看到清晰的节点连接关系，并且每个节点都只做一件事，而不是把所有逻辑塞进一个 prompt。\u003C\u002Fp>\u003Ch2>Step 4: 设置回路条件\u003C\u002Fh2>\u003Cp>Loop Engineering 的核心是“什么时候继续，什么时候停下”。你需要定义一个可执行的终止条件，例如结果满足格式要求、置信度达到阈值、迭代次数达到上限，或者遇到不可恢复错误。\u003C\u002Fp>\u003Cp>同时设置回退条件也很重要。比如工具失败时回到 planner 重新选择路径，结果不完整时回到 executor 补充信息，格式不合规时回到 checker 重新校验。\u003C\u002Fp>\u003Cp>验证方式是故意制造一个失败场景，比如让工具返回空结果或错误字段，你应该能看到系统自动进入下一轮，而不是直接崩溃。\u003C\u002Fp>\u003Ch2>Step 5: 加入观测与评估\u003C\u002Fh2>\u003Cp>最后给循环加上可观测性。记录每一轮的 prompt、工具调用、状态变化和最终输出，这样你才能判断 Loop Engineering 是否真的在提升结果，而不是只是增加了复杂度。\u003C\u002Fp>\u003Cp>建议你给每次迭代打分，例如正确性、完整性、成本、轮数和失败率。这样你就能比较不同策略，比如更强的 planner、不同工具组合，或者更严格的终止条件。\u003C\u002Fp>\u003Cp>验证方式是你应该能从日志里复盘整条链路，明确看到第几轮做了什么、为什么继续、为什么停止。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Metric\u003C\u002Fth>\u003Cth>Before\u002FBaseline\u003C\u002Fth>\u003Cth>After\u002FResult\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>任务完成方式\u003C\u002Ftd>\u003Ctd>一次性生成答案\u003C\u002Ftd>\u003Ctd>计划-执行-检查循环\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>错误恢复\u003C\u002Ftd>\u003Ctd>失败即终止\u003C\u002Ftd>\u003Ctd>自动回到上一节点重试\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>可观测性\u003C\u002Ftd>\u003Ctd>只看最终输出\u003C\u002Ftd>\u003Ctd>记录每轮状态与工具调用\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>扩展性\u003C\u002Ftd>\u003Ctd>提示词堆叠\u003C\u002Ftd>\u003Ctd>状态机节点可拆可换\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>Common mistakes\u003C\u002Fh2>\u003Cul>\u003Cli>把 Loop Engineering 理解成“无限循环”。修正：一定要设置最大轮数和明确的停止条件。\u003C\u002Fli>\u003Cli>把所有逻辑都写进一个大 prompt。修正：把规划、执行、检查拆成独立节点，便于调试。\u003C\u002Fli>\u003Cli>工具返回值过于自由。修正：让工具输出结构化数据，减少模型误判和解析失败。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>What's next\u003C\u002Fh2>\u003Cp>如果你已经跑通了最小循环，下一步可以把它升级为多工具路由、带记忆的长期任务处理器，或者接入 MCP、检索系统和真实业务 \u003Ca href=\"\u002Ftag\u002Fapi\">API\u003C\u002Fa>，进一步把 Loop Engineering 变成可上线的智能体架构。\u003C\u002Fp>","用 LangChain 和 LangGraph 搭建一个可持续迭代的 Loop Engineering 智能体。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2052800928437252384",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782443868495-4h1i.png","ai-agent","en","13459898-9ef7-4703-8103-f118036883d5",[17,18,19,20,21,22],"LangChain","LangGraph","AI Agent","MCP","tool calling","state machine",[24,25,26],"Loop Engineering 的核心是计划、执行、检查和修正的闭环。","LangGraph 适合把循环式智能体拆成可观测、可调试的状态机。","结构化工具输出和明确终止条件是避免失控循环的关键。",0,"2026-06-26T03:17:20.204174+00:00","2026-06-26T03:17:20.197+00:00","a9bee732-b07c-4e5b-a0e6-3048577e32a7",{"tags":32,"relatedLang":43,"relatedPosts":47},[33,35,37,39,41],{"name":18,"slug":34},"langgraph",{"name":21,"slug":36},"tool-calling",{"name":17,"slug":38},"langchain",{"name":20,"slug":40},"mcp",{"name":42,"slug":13},"AI agent",{"id":15,"slug":44,"title":45,"language":46},"loop-engineering-ru-men-gou-jian-ke-chi-xu-die-dai-de-zhi-ne-zh","Loop Engineering 入门：做出可持续迭代智能体","zh",[48,54,60,66,72,78],{"id":49,"slug":50,"title":51,"cover_image":52,"image_url":52,"created_at":53,"category":13},"b4fd1081-03b2-4a5a-a164-63abf5aae4a7","hippo-deploys-devin-insurance-engineering-en","Hippo rolls out Devin across insurance engineering","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782482571866-ikl0.png","2026-06-26T14:02:25.423732+00:00",{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":13},"c4d10424-4e13-4b5c-98f0-8a0a5e75ce72","doubao-pro-turns-agent-into-office-tool-en","豆包专业版把办公Agent做成了日常工具","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782479013354-okfy.png","2026-06-26T13:03:05.457828+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":13},"42a4132d-fedc-4592-8831-b14e85168947","valkey-bots-backporting-pipeline-en","Valkey’s bots turn backporting into a pipeline","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782457402483-yzo4.png","2026-06-26T07:02:55.253806+00:00",{"id":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":13},"fc444cfc-7934-45d3-9e3a-e88bacdcd189","omp-terminal-ai-coding-agent-ide-integration-en","omp brings IDE-grade coding to the terminal","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782428583651-pjdm.png","2026-06-25T23:02:37.536469+00:00",{"id":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":13},"e2049534-8d94-453a-8cee-8eced0b74e69","public-sentry-keys-hijack-claude-code-cursor-en","Public Sentry keys can hijack Claude Code and Cursor","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782413277883-xtvj.png","2026-06-25T18:47:31.313932+00:00",{"id":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":13},"daccbfdf-46f3-432e-8b8d-aecb8198d1c1","loop-engineering-agent-completes-tasks-en","Loop Engineering 让 Agent 把事做完","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782408826341-e6s0.png","2026-06-25T17:33:18.472838+00:00",[85,90,95,100,105,110,115,120,125,130],{"id":86,"slug":87,"title":88,"created_at":89},"03db8de8-8dc2-4ac1-9cf7-898782efbb1f","anthropic-claude-ai-agent-task-automation-en","Anthropic's Claude AI Agent: A New Era of Task Automation","2026-03-25T16:25:06.513026+00:00",{"id":91,"slug":92,"title":93,"created_at":94},"045d1abc-190d-4594-8c95-91e2a26f0c5a","googles-2026-ai-agent-report-decoded-en","Google’s 2026 AI Agent Report, Decoded","2026-03-26T11:15:23.046616+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"e64aba21-254b-4f93-aa21-837484bb52ec","kimi-k25-review-stronger-still-not-legend-en","Kimi K2.5 review: stronger, still not a legend","2026-03-27T07:15:55.385951+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"30dfb781-a1b2-4add-aebe-b3df40247c37","claude-code-controls-mac-desktop-en","Claude Code now controls your Mac desktop","2026-03-28T03:01:59.384091+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"254405b6-7833-4800-8e13-f5196deefbe6","cloudflare-100x-faster-ai-agent-sandbox-en","Cloudflare’s 100x Faster AI Agent Sandbox","2026-03-28T03:09:44.356437+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"04f29b7f-9b91-4306-89a7-97d725e6e1ba","openai-backs-isara-agent-swarm-bet-en","OpenAI backs Isara’s agent-swarm bet","2026-03-28T03:15:27.849766+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"3b0bf479-e4ae-4703-9666-721a7e0cdb91","openai-plan-automated-ai-researcher-en","OpenAI’s plan for an automated AI researcher","2026-03-28T03:17:42.312819+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"fe91bce0-b85d-4efa-a207-24ae9939c29f","harness-engineering-ai-agent-reliability-2026","Harness Engineering: From Bridle to Operating System, The Missing Link in AI Agent Reliability","2026-03-31T06:36:55.648751+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"7a09007d-820f-43b3-8607-8ad1bfcb94c8","mcp-explained-from-prompts-to-production-en","MCP Explained: From Prompts to Production","2026-04-01T09:24:40.089177+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"116d5ee9-a4f1-4b5a-aac5-5d035dd22bbe","amazon-bedrock-agents-multi-agent-workflows-en","Amazon Bedrock Agents Gets Multi-Agent Workflows","2026-04-01T09:30:30.197685+00:00"]