Loop Engineering四层架构:从Agent Loop到生产级智能体循环(LangChain官方框架深度解读,附四层选型速查表)
Loop Engineering四层架构:从Agent Loop到生产级智能体循环(LangChain官方框架深度解读,附四层选型速查表)
一句话总结: 从简单Agent Loop到自我进化的Hill Climbing Loop,四层架构解决"循环发散""质量不达标""后台运行""持续优化"四大问题,生产级Agent必须掌握。
适合谁: 正在构建Agent系统的工程师、从Demo转向生产的架构师,以及遇到"循环失控""token烧光"问题的开发者。
验证环境: Python 3.10+, 本文代码基于LangChain 0.3.x核心概念(2026年7月),四层架构为LangChain官方定义的设计模式。
@
- Loop Engineering四层架构:从Agent Loop到生产级智能体循环(LangChain官方框架深度解读,附四层选型速查表)
📋 阅读导航:本文约18分钟阅读。建议先浏览「八、从Demo到生产:四层架构的演进路径」对照你的场景选择层级,再按需深入代码实现。如果只想看结论,跳到「十一、速查卡:四层架构选型对照表」。
一、为什么Loop Engineering突然成了Agent的必修课
从2022到2026年,AI Agent的工程范式经历了四次跃迁——每一次都在解决上一范式留下的"盲区":
| 范式 | 时间窗口 | 核心问题 | 解决方案 | 留下的盲区 |
|---|---|---|---|---|
| Prompt Engineering | 2022-2024 | "怎么让AI听懂我的需求?" | 设计角色、约束格式、思维链(CoT) | 单次调用有效,多轮任务失控 |
| Context Engineering | 2024-2025 | "怎么让AI看见更多相关信息?" | RAG检索、长上下文管理、记忆系统 | 信息够了,但执行仍是一次性 |
| Harness Engineering | 2025下半年 | "怎么让Agent稳定跑完不翻车?" | 设计运行环境(沙箱、监控、降级) | 环境安全,但循环逻辑仍是黑盒 |
| Loop Engineering | 2026 | "怎么让Agent循环收敛而非发散?" | 四层架构(Agent→Verification→Event→Hill Climbing) | 当前范式 |
范式迭代的逻辑链条:
Prompt Engineering(怎么说)
↓ "AI听懂了,但只做一步"
Context Engineering(看什么)
↓ "AI看见了,但只做一次"
Harness Engineering(在哪里跑)
↓ "AI跑起来了,但循环是黑盒"
Loop Engineering(怎么循环)
↓ "AI循环收敛,质量可控、持续优化"
简单说:Prompt解决"说"、Context解决"看"、Harness解决"跑"、Loop解决"循环"。四者不是替代关系,而是叠加关系——成熟的Agent系统需要同时具备这四层能力。
2025年之前,我们讲Agent,讲的是"Prompt Engineering"——怎么写提示词让LLM输出更好。2026年,行业共识变了:Prompt Engineering只能解决单次调用的问题,真正复杂的任务需要多轮循环。
但循环设计不好,就是灾难:
- 无限循环:Agent在"搜索→没找到→再搜索"里打转,token烧光
- 过早停止:Agent自以为完成了,实际结果漏洞百出
- 发散失控:每轮迭代结果越来越偏离目标,而不是收敛
Loop Engineering就是解决这些问题的工程化方法论。它的核心洞察来自LangChain官方博客(2026年6月):
"Agent的潜力不在于模型本身,而在于你围绕它构建的循环。"
二、四层循环架构全景图
LangChain官方定义的Loop Engineering四层架构,覆盖了从简单任务到自我进化的完整 spectrum:
| 层级 | 名称 | 核心问题 | 生产价值 | 适用场景 |
|---|---|---|---|---|
| Level 1 | Agent Loop | 怎么让Agent自动调用工具完成任务? | 自动化基础工作 | 简单查询、单步任务 |
| Level 2 | Verification Loop | 怎么确保Agent输出质量达标? | 质量从60分→90分 | 代码生成、文档编写 |
| Level 3 | Event Driven Loop | 怎么让Agent在后台自动运行? | 7×24小时自动化 | 定时任务、监控告警 |
| Level 4 | Hill Climbing Loop | 怎么让Agent越用越聪明? | 自我进化 | 长期运营系统 |
下面逐层用代码拆解。
三、Level 1:Agent Loop——让Agent动起来
这是所有Agent的"Hello World"。核心逻辑:LLM思考→调用工具→观察结果→再思考,直到任务完成。
3.1 基础实现(Python)
from typing import TypedDict, Annotated
import operator
class AgentState(TypedDict):
"""Agent循环的状态定义。"""
messages: Annotated[list, operator.add] # 对话历史,只增不减
tool_calls: list # 已调用的工具记录
iteration: int # 当前循环轮次
is_complete: bool # 是否完成
class AgentLoop:
"""Level 1: 基础Agent Loop实现。"""
def __init__(self, llm, tools, max_iterations=10):
"""初始化基础Agent Loop。
参数说明:
- llm: 语言模型实例,需支持 invoke(messages) 接口(如LangChain的ChatOpenAI)
- tools: 工具列表,每个工具需有 name 和 invoke(args) 方法
- max_iterations: 最大循环轮次,防止无限循环(默认10,生产建议3-5)
返回:无
"""
self.llm = llm
self.tools = {tool.name: tool for tool in tools}
self.max_iterations = max_iterations
def run(self, user_input: str) -> str:
state = AgentState(
messages=[{"role": "user", "content": user_input}],
tool_calls=[],
iteration=0,
is_complete=False
)
while not state["is_complete"] and state["iteration"] < self.max_iterations:
# 1. LLM推理:决定下一步行动
response = self.llm.invoke(state["messages"])
state["messages"].append({"role": "assistant", "content": response.content})
# 2. 检查是否需要调用工具
if hasattr(response, 'tool_calls') and response.tool_calls:
for tool_call in response.tool_calls:
tool_name = tool_call["name"]
tool_args = tool_call["args"]
# 3. 执行工具
result = self.tools[tool_name].invoke(tool_args)
# 4. 观察结果,追加到对话历史
state["messages"].append({
"role": "tool",
"name": tool_name,
"content": str(result)
})
state["tool_calls"].append({"name": tool_name, "result": result})
else:
# 没有工具调用,任务完成
state["is_complete"] = True
state["iteration"] += 1
return state["messages"][-1]["content"]
# ========== 使用示例 ==========
if __name__ == "__main__":
# 模拟一个LLM和工具(实际项目中替换为真实模型)
class MockLLM:
def invoke(self, messages):
class Response:
content = "北京今天天气晴朗,气温28°C。"
tool_calls = []
return Response()
class MockTool:
name = "get_weather"
def invoke(self, args):
return "北京:晴,28°C"
agent = AgentLoop(llm=MockLLM(), tools=[MockTool()])
result = agent.run("查一下北京天气")
print(result)
3.2 Level 1 的局限
上面的代码能跑通,但到生产环境会遇到问题:
- 没有终止条件检查:如果LLM一直说"再查一下",循环不会停
- 没有质量验证:输出可能是错的,但循环已经退出了
- 没有错误恢复:工具调用失败,整个循环就崩了
Level 2 就是解决这些问题。
四、Level 2:Verification Loop——让Agent输出可靠
Verification Loop的核心是:Agent生成输出后,加一个评分器(Grader)验证质量,不达标就反馈给Agent重试。
4.1 架构设计
用户输入 → Agent Loop生成输出 → Grader评分
↓
达标 → 返回结果
不达标 → 反馈给Agent → 重新生成
4.2 完整实现(Generator + Evaluator双角色)
from typing import TypedDict, Callable
from dataclasses import dataclass
@dataclass
class GradingResult:
"""评分结果。"""
score: float # 0-100
feedback: str # 具体反馈
passed: bool # 是否通过
class VerificationLoop:
"""Level 2: 带验证循环的Agent。"""
def __init__(self, agent_loop, grader: Callable, max_retries=3, threshold=80):
"""初始化带验证的Agent循环。
参数说明:
- agent_loop: 已初始化的AgentLoop实例,负责生成输出
- grader: 评分函数,接收(output, original_task)参数,返回GradingResult
- max_retries: 最大重试次数,超过则返回最佳结果(默认3,生产建议2-3)
- threshold: 通过阈值,评分>=此值视为通过(默认80,代码生成建议85+)
返回:无
"""
self.agent_loop = agent_loop
self.grader = grader
self.max_retries = max_retries
self.threshold = threshold
def run(self, user_input: str) -> dict:
"""运行带验证的Agent循环。"""
best_result = None
best_score = 0
for attempt in range(self.max_retries):
print(f"\n=== 生成尝试 {attempt + 1}/{self.max_retries} ===")
# 1. Agent生成输出
raw_output = self.agent_loop.run(user_input)
# 2. Grader评分
grading = self.grader(raw_output, user_input)
print(f"评分: {grading.score}/100, 通过: {grading.passed}")
print(f"反馈: {grading.feedback}")
# 3. 记录最佳结果
if grading.score > best_score:
best_score = grading.score
best_result = {
"output": raw_output,
"score": grading.score,
"attempts": attempt + 1
}
# 4. 如果达标,直接返回
if grading.passed:
print(f"✅ 验证通过!共尝试{attempt + 1}次")
return best_result
# 5. 不达标,把反馈追加到用户输入,让Agent重试
user_input += f"\n\n[系统反馈] 上次输出评分{grading.score},未达{self.threshold}分。"
user_input += f"改进建议: {grading.feedback}"
# 6. 全部重试用完,返回最佳结果
print(f"⚠️ 达到最大重试次数,返回最佳结果(评分{best_score})")
return best_result
# ========== 使用示例:代码生成场景 ==========
if __name__ == "__main__":
def code_grader(code_output: str, original_task: str) -> GradingResult:
"""
代码评分器:检查代码是否包含关键函数、是否有语法错误等。
实际项目中可以用LLM-as-a-Judge或单元测试。
"""
score = 0
feedback = []
# 检查1:是否包含def关键字
if "def " in code_output:
score += 30
else:
feedback.append("缺少函数定义")
# 检查2:是否包含return
if "return" in code_output:
score += 30
else:
feedback.append("缺少return语句")
# 检查3:代码长度(不能太短)
if len(code_output) > 100:
score += 20
else:
feedback.append("代码太短,可能不完整")
# 检查4:是否包含注释
if "#" in code_output or '"""' in code_output:
score += 20
else:
feedback.append("建议添加注释")
passed = score >= 80
return GradingResult(
score=score,
feedback="; ".join(feedback) if feedback else "代码质量良好",
passed=passed
)
# 实际使用时,把MockLLM替换为真实模型
agent = AgentLoop(llm=MockLLM(), tools=[MockTool()])
verified_agent = VerificationLoop(agent, code_grader, max_retries=3, threshold=80)
# 运行
result = verified_agent.run("写一个Python函数,计算斐波那契数列")
print(f"\n最终结果: {result}")
4.3 生产实践建议
- Grader设计是关键:Grader的评分标准越清晰,Agent收敛越快。建议用Rubric(评分细则)代替模糊的"好/不好"。
- 成本权衡:Verification Loop增加了延迟和token消耗。适合质量优先于速度的场景(如代码生成、合同审核)。
- LangChain原生支持:可以用
RubricMiddleware或after_agenthook实现,无需从零写。
五、Level 3:Event Driven Loop——让Agent在后台自动跑
前两层都是"用户触发→Agent运行→返回结果"的同步模式。Level 3解决的是:Agent怎么在后台持续运行,不需要人一直盯着?
5.1 三种事件触发模式
| 触发方式 | 机制 | 适用场景 | 实现复杂度 |
|---|---|---|---|
| Cron定时 | 按计划时间触发(如每天9:00) | 日报生成、数据备份 | 低 |
| Webhook | 外部系统事件触发(如Git push) | CI/CD、文档更新 | 中 |
| 文档/状态变更 | 监控文件/数据库变化 | 数据同步、监控告警 | 中 |
5.2 代码示例:Cron定时触发的Agent
import schedule
import time
from datetime import datetime
class EventDrivenLoop:
"""Level 3: 事件驱动的Agent循环。"""
def __init__(self, agent_loop, trigger_type="cron", cron_schedule="09:00"):
"""初始化事件驱动的Agent循环。
参数说明:
- agent_loop: 已初始化的AgentLoop实例(通常已包含Level 2 VerificationLoop)
- trigger_type: 触发方式,可选值:"cron"(定时)、"webhook"(外部事件)
- cron_schedule: 定时触发的时间表达式,格式 "HH:MM"(如 "09:00")
生产注意:trigger_type="webhook"时需额外启动HTTP服务(Flask/FastAPI)
"""
self.agent_loop = agent_loop
self.trigger_type = trigger_type
self.cron_schedule = cron_schedule
self.run_count = 0
def task_handler(self):
"""任务处理函数。"""
self.run_count += 1
print(f"\n[{datetime.now()}] 触发第{self.run_count}次任务执行")
try:
result = self.agent_loop.run("生成今日数据报告")
print(f"任务完成: {result[:100]}...")
# 保存结果到文件
with open(f"report_{datetime.now().strftime('%Y%m%d')}.txt", "w") as f:
f.write(result)
except Exception as e:
print(f"❌ 任务执行失败: {e}")
# 生产环境:发送告警通知
def start(self):
"""启动事件循环。"""
if self.trigger_type == "cron":
schedule.every().day.at(self.cron_schedule).do(self.task_handler)
print(f"Agent已启动,每天{self.cron_schedule}自动执行")
while True:
schedule.run_pending()
time.sleep(60)
elif self.trigger_type == "webhook":
# 实际项目中用Flask/FastAPI启动HTTP服务
print("Webhook模式已启动,等待外部事件触发...")
# app.run(host='0.0.0.0', port=5000)
# ========== 使用示例 ==========
if __name__ == "__main__":
agent = AgentLoop(llm=MockLLM(), tools=[MockTool()])
# 创建一个每天9:00运行的Agent
scheduled_agent = EventDrivenLoop(agent, trigger_type="cron", cron_schedule="09:00")
# 手动触发一次测试
scheduled_agent.task_handler()
# 启动定时循环(实际运行时取消注释)
# scheduled_agent.start()
5.3 生产注意事项
- 幂等性设计:Agent可能被多次触发,确保重复执行不会导致数据混乱。
- 状态持久化:如果Agent进程重启,不能丢失任务状态。建议用Postgres/Redis持久化状态。
- 并发控制:如果事件触发频繁,防止多个Agent实例同时运行。用分布式锁(如Redis锁)控制。
六、Level 4:Hill Climbing Loop——让Agent越用越聪明
这是最高级的循环。核心思想:Agent在生产环境运行产生的大量数据,通过分析循环自动优化Agent自身的配置(Prompt、工具选择、模型参数等)。
6.1 架构设计
Agent在生产环境运行 → 产生Trace/日志 → 分析Agent提取优化建议
↓
更新Agent配置(Prompt/工具/参数)
↓
下一批运行质量提升 → 循环往复
6.2 简化实现(概念性)
class HillClimbingLoop:
"""Level 4: 持续优化的Agent循环。"""
def __init__(self, agent_loop, analyzer, update_interval=100):
"""初始化持续优化的Agent循环。
参数说明:
- agent_loop: 已初始化的AgentLoop实例(通常包含Level 2+3)
- analyzer: 分析器实例,需实现 analyze(traces) 方法,返回优化建议字符串
- update_interval: 触发优化的运行间隔,每N次运行后分析一次(默认100,生产建议50-200)
生产注意:update_interval过小会导致频繁分析、token成本上升;过大则优化滞后
"""
self.agent_loop = agent_loop
self.analyzer = analyzer # 分析Agent
self.update_interval = update_interval # 每N次运行后分析优化
self.traces = [] # 运行轨迹记录
self.run_count = 0
def run(self, user_input: str) -> str:
"""运行并记录轨迹。"""
result = self.agent_loop.run(user_input)
# 记录这次运行的完整轨迹
self.traces.append({
"input": user_input,
"output": result,
"timestamp": datetime.now(),
"success": self._is_success(result) # 简单的成功判断
})
self.run_count += 1
# 每N次运行后,触发优化分析
if self.run_count % self.update_interval == 0:
self._optimize()
return result
def _is_success(self, result: str) -> bool:
"""判断运行是否成功。实际项目中可以用更复杂的评估。"""
return len(result) > 50 and "error" not in result.lower()
def _optimize(self):
"""分析轨迹并优化Agent配置。"""
print(f"\n🏔️ 触发Hill Climbing优化(已运行{self.run_count}次)")
# 分析最近的成功率
recent_traces = self.traces[-self.update_interval:]
success_rate = sum(1 for t in recent_traces if t["success"]) / len(recent_traces)
print(f"最近{self.update_interval}次成功率: {success_rate:.1%}")
# 用分析Agent生成优化建议
if success_rate < 0.8:
suggestion = self.analyzer.analyze(self.traces)
print(f"优化建议: {suggestion}")
# 实际项目中:根据建议更新Prompt、调整工具、切换模型等
# self.agent_loop.update_config(suggestion)
else:
print("当前配置表现良好,无需优化")
# ========== 使用示例 ==========
if __name__ == "__main__":
class SimpleAnalyzer:
def analyze(self, traces):
# 简单分析:找出最常见的失败模式
failures = [t for t in traces if not t["success"]]
if failures:
return f"检测到{len(failures)}次失败,建议加强输入校验"
return "无需优化"
agent = AgentLoop(llm=MockLLM(), tools=[MockTool()])
self_improving_agent = HillClimbingLoop(agent, SimpleAnalyzer(), update_interval=10)
# 模拟运行
for i in range(15):
self_improving_agent.run(f"任务{i}")
七、生产环境警告:Loop Engineering不是"层数越多越好"
⚠️ 重要提示:生产环境的循环设计必须考虑成本控制、故障恢复和运维复杂度。每增加一层,系统复杂度指数级上升。
四层架构的选型风险矩阵:
| 风险项 | Level 1 | Level 2 | Level 3 | Level 4 |
|---|---|---|---|---|
| Token消耗 | 低(单次调用) | 高(×重试次数) | 中(后台持续运行) | 极高(分析+优化双重消耗) |
| 延迟影响 | 中 | 高(验证增加延迟) | 低(异步运行) | 低(优化非实时) |
| 故障恢复 | 简单(重启即可) | 中(需保留评分状态) | 高(需状态持久化) | 极高(需轨迹存储+版本回滚) |
| 运维复杂度 | 低 | 低 | 中(需定时任务调度) | 高(需数据分析管道) |
| 适用场景误用 | 直接用Level 1做代码生成 | 对实时性要求高的任务加验证 | 无幂等设计导致重复执行 | 数据量不足时强行启动优化 |
生产环境建议:
- 从单层开始,逐步升级:先用Level 1跑通业务,遇到质量问题再引入Level 2,不要一上来就四层全开
- Token预算控制:Level 2的
max_retries建议≤2,Level 4的update_interval建议≥50,避免成本失控 - 状态持久化:Level 3定时任务必须持久化状态(Postgres/Redis),进程重启不能丢失任务
- 幂等性设计:Level 3可能被重复触发,确保重复执行不会导致数据混乱(如报告生成用日期文件名去重)
- 降级策略:混合架构下,每层必须能独立降级——验证服务挂了,Agent Loop仍能直接返回结果
一句话总结:Loop Engineering是"够用就好,逐步升级"的工程原则,不是技术炫技。
八、从Demo到生产:四层架构的演进路径
不是所有项目都需要四层。根据你的场景选择:
场景判断
├── 简单查询/单步任务(如查天气、算数)
│ └── → Level 1 Agent Loop ✅
│
├── 需要高质量输出(如代码生成、文档编写)
│ └── → Level 1 + Level 2 Verification Loop ✅
│
├── 需要后台自动运行(如定时报告、监控)
│ └── → Level 1 + Level 2 + Level 3 Event Driven Loop ✅
│
└── 长期运营的系统(如客服Agent、运营助手)
└── → Level 1 + 2 + 3 + 4 Hill Climbing Loop ✅
渐进式建议:
- 第1周:先跑通Level 1,让Agent能自动调用工具
- 第2周:加上Level 2,给关键任务加质量验证
- 第3月:引入Level 3,让Agent在后台自动跑
- 第6月:积累足够数据后,启动Level 4的持续优化
九、常见问题:循环发散的5个检查点
如果你发现Agent循环失控,按这5个检查点逐一排查:
| 检查点 | 问题表现 | 解决方案 |
|---|---|---|
| 1. 终止条件 | Agent一直跑不退出 | 明确设置max_iterations + 任务完成判定标准 |
| 2. 超时机制 | 单轮执行时间太长 | 设置timeout,超时时强制中断并返回中间结果 |
| 3. 评分器 | 输出质量不达标但循环已退出 | 引入Level 2 Verification Loop,不达标的循环继续 |
| 4. 上下文限制 | 对话历史太长,LLM遗忘初始目标 | 设置max_context_length,超限后摘要历史 |
| 5. 错误恢复 | 工具调用失败,整个循环崩溃 | 添加try-except,失败时返回错误信息让LLM决定下一步 |
十、总结
本文从LangChain官方定义的Loop Engineering四层架构出发,用可运行的Python代码逐层拆解了:
| 层级 | 解决的问题 | 核心代码 |
|---|---|---|
| Level 1 | Agent怎么自动调用工具 | AgentLoop类 |
| Level 2 | 输出质量怎么保证 | VerificationLoop类(Generator+Evaluator) |
| Level 3 | Agent怎么在后台自动跑 | EventDrivenLoop类(Cron/Webhook) |
| Level 4 | Agent怎么越用越聪明 | HillClimbingLoop类(数据反馈优化) |
Loop Engineering不是新概念,但2026年它从"学术讨论"变成了"生产必需"。当大多数开发者还在写100行Demo时,掌握四层架构的工程师已经在构建能7×24小时稳定运行的Agent系统。
十一、速查卡:四层架构选型对照表
快速对照表:根据你的场景,直接查这张表选择需要实现的层级。
| 序号 | 你的问题 | 需要层级 | 核心类 | 关键参数 | 生产注意 |
|---|---|---|---|---|---|
| 1 | Agent怎么自动调用工具完成任务? | Level 1 | AgentLoop |
max_iterations(默认10,生产建议3-5) |
必须设置终止条件,防止无限循环 |
| 2 | Agent输出质量不达标,经常"自以为完成" | Level 2 | VerificationLoop |
max_retries(默认3,生产建议2)、threshold(默认80,代码生成建议85+) |
Token消耗×重试次数,需预算控制 |
| 3 | Agent怎么在后台自动跑,不需要人盯着? | Level 3 | EventDrivenLoop |
trigger_type("cron"/"webhook")、cron_schedule("HH:MM") |
必须幂等设计 + 状态持久化 |
| 4 | Agent怎么越用越聪明,自动优化? | Level 4 | HillClimbingLoop |
update_interval(默认100,生产建议50-200) |
数据量不足时不要启动,避免无效分析 |
| 5 | 循环发散,Agent一直跑不退出 | Level 1+2 | 组合使用 | max_iterations + threshold |
先限制轮次,再提升质量门槛 |
| 6 | 定时任务重复执行导致数据混乱 | Level 3 | EventDrivenLoop |
文件名/数据库去重机制 | 幂等设计是生产准入门槛 |
| 7 | Token成本失控,账单爆表 | Level 2+4 | 调整参数 | 降低max_retries、增大update_interval |
监控每千次运行的Token消耗 |
| 8 | 系统需要7×24小时稳定运行 | Level 1+2+3 | 三层组合 | 逐层添加,不要一次全开 | 每层必须能独立降级 |
使用建议:
- 第1行 → 所有Agent必备基础
- 第2行 → 质量敏感场景(代码生成、文档审核)
- 第3行 → 自动化运维场景(定时报告、监控告警)
- 第4行 → 长期运营系统(客服Agent、运营助手),需积累≥1000次运行数据
- 第5-8行 → 问题排查组合方案
十二、更新日志
| 日期 | 版本 | 更新内容 |
|---|---|---|
| 2026-07-08 | v1.0 | 初稿:Loop Engineering四层架构逐层拆解(含可运行Python代码) |
重要说明:本文的代码实现是工程化解读,基于LangChain的核心概念和设计模式,但并非LangChain官方代码的直接复制。代码结构和命名为作者独立实现,用于演示Loop Engineering四层架构的核心思想。
相关阅读:
- MCP协议实战:用Python 5分钟搭建你的第一个MCP Server(附完整代码)(Level 1工具调用的MCP实现)
- 世界模型+AI Agent:为什么说"世界模型是蛋糕本身"?(Level 2验证层的认知验证)
- OpenSPG报错合集:我遇到过的6个坑及解决方案(Level 4长期记忆的存储优化)
- MCP协议三种服务模式:stdio、SSE、HTTP Stream怎么选?(Level 3事件驱动的通信模式)
你的Agent现在在哪一层? 是还在Level 1的Demo阶段,还是已经遇到了"循环发散""质量不达标"的问题?评论区说说你的场景,我来帮你判断需要升级到第几层。
收藏这篇架构指南,搭建Agent系统时直接对照——从Demo到生产,需要哪层加哪层。觉得有用的话点赞+收藏,你的每一次收藏都可能会让更多开发者看到这篇生产级指南。

浙公网安备 33010602011771号