AI Agent从无到有68: 智能体优化——计划执行与反思模式实战

生成式智能体四层认知架构:记忆、反思、规划与反应 生成式智能体(Generative Agent)是区别于传统聊天机器人的新型AI范式,其核心在于构建具备时间连续性、内在状态和目标演化的自主实体。它依托记忆流实现选择性长期记忆,通过反思引擎完成从事件到关系模式的抽象跃迁,借助分层计划生成器将长期目标转化为可执行动作,并依靠实时反应层在稳定性与适应性间动态平衡。这一架构显著提升了AI在执法培训、教育模拟、游戏叙事等需安全试错与行为一致性的场景中的工程可用性。斯坦福小镇实验首次以可复现方式验证了‘类人认知流程’的技术落地路径,为AI从响应式工具迈向具身化智能体 阅读详情

纲要

  • 智能体优化的必要性
  • 计划与执行模式
    • 核心原理
    • 流程与节点设计
    • 完整可运行示例
  • 反思模式
    • 核心原理
    • 流程与节点设计
    • 完整可运行示例
  • 两种模式的对比与选型建议
  • API 速览
  • Demo 示例
  • 总结
  • 官方文档与参考链接
  • 润色纠正的前后对比

智能体优化的必要性

在构建单智能体与多智能体应用的过程中,基础的 ReAct 循环(Reasoning + Acting)在处理复杂、多步推理任务时,常因缺乏全局规划与自我修正能力,导致执行路径次优或最终结果质量不稳定。为解决此类问题,业界提出了多种架构优化策略。

其中,计划与执行(Plan-and-Execute) 与 反思(Reflection) 是两种经典且广泛实践的模式。这两种模式均可基于 LangGraph 框架实现,通过引入规划节点或批判节点,有效提升智能体在复杂任务中的输出质量与执行可靠性。

计划与执行模式

核心原理

计划与执行模式模拟人类解决复杂问题的认知过程:首先进行全局规划,然后按步骤执行,并在执行过程中根据中间结果动态调整计划。该工作流包含三个关键阶段:

  • 规划(Planning):根据用户输入的目标,生成结构化的任务步骤清单。
  • 执行(Executing):按顺序执行清单中的子任务,每个子任务可调用独立工具或由专用子智能体处理。
  • 重规划(Replanning):检查已完成步骤的执行结果,评估当前进度,据此更新剩余步骤或调整执行顺序,直至满足终止条件并输出最终答案。

存在未完成步骤

全部完成

用户目标

规划节点: 生成步骤列表

执行节点: 完成当前步骤

重规划节点: 评估进度并调整计划

输出最终答案

该模式的核心优势在于其清晰的长期规划能力,且执行子任务时可选用能力较弱的模型以控制成本。其主要劣势在于多节点串行调用导致较高的延迟,因此不适用于实时对话场景。

流程与节点设计

基于 LangGraph 实现计划与执行模式时,通常需要定义以下核心节点与状态:

  • 状态(State):使用 TypedDict 定义,包含用户输入、当前计划列表、已执行步骤记录、最终答案等字段。
  • 规划节点(Planner Node):调用 LLM 生成初始步骤列表,输出结构化数据(如 Plan 模型)。
  • 执行节点(Agent Node):从计划列表中取出第一个未执行步骤,调用工具或函数执行,并将结果追加到已执行记录中。
  • 重规划节点(Replanner Node):根据已执行结果与剩余计划,判断是否可直接回答;若否,则生成更新后的剩余步骤列表。
  • 路由函数(Router):根据重规划节点的输出,决定进入下一轮执行还是终止流程。

完整可运行示例

以下示例使用 LangGraph 构建一个简化版计划与执行智能体。该智能体首先制定步骤,然后调用模拟搜索工具逐步执行,最终给出答案。

环境准备

安装所需依赖:

pip install langgraph langchain-openai python-dotenv

完整代码

# plan_execute.py
import os
from typing import TypedDict, List
from dotenv import load_dotenv
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from pydantic import BaseModel, Field
from langgraph.checkpoint.memory import MemorySaver

load_dotenv()

# ---------- 结构化输出模型 ----------
class Plan(BaseModel):
    steps: List[str] = Field(description="执行步骤列表")

class Act(BaseModel):
    action: str = Field(description="动作类型: 'plan' 表示继续执行,'response' 表示直接回答")
    updated_plan: List[str] = Field(default=[], description="更新后的剩余步骤")
    response: str = Field(default="", description="当 action 为 'response' 时的最终答案")

# ---------- 状态定义 ----------
class PlanExecuteState(TypedDict):
    input: str
    plan: List[str]
    executed_steps: List[str]
    final_answer: str

# ---------- LLM 初始化 ----------
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
planner_llm = llm.with_structured_output(Plan)
replanner_llm = llm.with_structured_output(Act)

# ---------- 模拟搜索工具 ----------
def fake_search(query: str) -> str:
    if "短跑" in query or "女子" in query:
        return "中国女子短跑最快选手是韦永丽,成绩为10.99秒。"
    return "未找到相关信息。"

# ---------- 节点函数 ----------
def planner_node(state: PlanExecuteState) -> dict:
    prompt = ChatPromptTemplate.from_template(
        "针对以下目标,制定一个简单的逐步计划,每步应独立且可执行,最后一步结果应为最终答案。\n"
        "目标:{input}\n计划:"
    )
    chain = prompt | planner_llm
    plan = chain.invoke({"input": state["input"]})
    return {"plan": plan.steps}

def agent_node(state: PlanExecuteState) -> dict:
    if not state["plan"]:
        return {}
    step = state["plan"][0]
    result = fake_search(step)
    executed = state.get("executed_steps", []) + [f"执行“{step}” → {result}"]
    return {"plan": state["plan"][1:], "executed_steps": executed}

def replanner_node(state: PlanExecuteState) -> dict:
    prompt = ChatPromptTemplate.from_template(
        "原始目标:{input}\n已完成步骤及结果:{executed}\n剩余步骤:{plan}\n"
        "请判断是否可以直接回答。如果可以,用 'response' 动作输出答案;否则用 'plan' 动作提供更新后的剩余步骤。"
    )
    chain = prompt | replanner_llm
    act = chain.invoke({
        "input": state["input"],
        "executed": state["executed_steps"],
        "plan": state["plan"]
    })
    if act.action == "response":
        return {"final_answer": act.response, "plan": []}
    return {"plan": act.updated_plan}

def route(state: PlanExecuteState) -> str:
    if state.get("final_answer"):
        return "end"
    return "continue" if state.get("plan") else "end"

# ---------- 构建图 ----------
builder = StateGraph(PlanExecuteState)
builder.add_node("planner", planner_node)
builder.add_node("agent", agent_node)
builder.add_node("replanner", replanner_node)

builder.set_entry_point("planner")
builder.add_edge("planner", "agent")
builder.add_edge("agent", "replanner")
builder.add_conditional_edges("replanner", route, {"continue": "agent", "end": END})

memory = MemorySaver()
app = builder.compile(checkpointer=memory)

# ---------- 测试 ----------
if __name__ == "__main__":
    config = {"configurable": {"thread_id": "plan-demo"}}
    result = app.invoke({"input": "中国女子短跑最快的选手是谁?"}, config)
    if result.get("final_answer"):
        print("最终答案:", result["final_answer"])
    else:
        print("执行记录:", result["executed_steps"])

运行上述代码后,智能体会先规划步骤,再逐步调用模拟搜索工具,最终给出答案。

反思模式

核心原理

反思模式在生成器(Generator)之后引入一个批判者(Critic)角色,形成“生成 → 评审 → 改进”的迭代循环。生成节点负责创建初始内容,反思节点对内容进行评审并提供详细改进建议,生成节点据此修改内容,如此反复直至达到预设质量阈值。

需要改进

质量达标

用户请求

生成节点: 创建初稿

反思节点: 评审并给出建议

输出最终内容

该模式尤其适用于需要反复打磨的创造性任务,如文章撰写、代码优化、方案设计等。其主要代价在于多轮 LLM 调用带来的较高延迟与成本。

流程与节点设计

基于 LangGraph 实现反思模式时,通常需要定义以下核心节点与状态:

  • 状态(State):包含任务描述、当前草稿、反馈意见、迭代次数等字段。
  • 生成节点(Generator Node):根据任务描述和(若有)上一次反馈意见,生成或修改内容。
  • 反思节点(Reflector Node):评审当前草稿,指出不足并提出具体改进建议。
  • 条件路由(Router):根据迭代次数或内容质量评分,决定继续迭代还是终止输出。

完整可运行示例

以下示例构建一个文章撰写智能体,通过反思迭代提升文章质量。

# reflection_writer.py
import os
from typing import TypedDict
from dotenv import load_dotenv
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
from langgraph.checkpoint.memory import MemorySaver

load_dotenv()

class WriterState(TypedDict):
    task: str
    draft: str
    feedback: str
    iteration: int

llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)

def generate_draft(state: WriterState) -> dict:
    prompt = f"你是一名文章助手。任务:{state['task']}\n"
    if state.get("feedback"):
        prompt += f"上一次的反馈意见:{state['feedback']}\n请根据反馈修改文章。"
    else:
        prompt += "请撰写初稿。"
    response = llm.invoke([HumanMessage(content=prompt)])
    return {"draft": response.content, "iteration": state.get("iteration", 0) + 1}

def reflect_on_draft(state: WriterState) -> dict:
    prompt = (
        f"你是一名严格编辑。请评审以下文章,指出不足并给出具体改进建议。\n"
        f"文章:{state['draft']}\n建议:"
    )
    response = llm.invoke([HumanMessage(content=prompt)])
    return {"feedback": response.content}

def should_continue(state: WriterState) -> str:
    return "end" if state.get("iteration", 0) >= 3 else "continue"

# ---------- 构建图 ----------
builder = StateGraph(WriterState)
builder.add_node("generator", generate_draft)
builder.add_node("reflector", reflect_on_draft)
builder.set_entry_point("generator")
builder.add_edge("generator", "reflector")
builder.add_conditional_edges("reflector", should_continue, {"continue": "generator", "end": END})

memory = MemorySaver()
app = builder.compile(checkpointer=memory)

if __name__ == "__main__":
    config = {"configurable": {"thread_id": "reflect-demo"}}
    final = app.invoke({"task": "写一篇关于科学用脑的短文,约300字,通俗易懂。"}, config)
    print("最终文章:\n", final["draft"])
    print("\n迭代次数:", final["iteration"])

运行后,智能体会在多次反思迭代中逐步优化文章内容,最终输出质量较高的版本。

两种模式的对比与选型建议

维度计划与执行反思
核心思想全局规划 → 逐步执行 → 动态调整生成 → 评审 → 改进循环
典型应用复杂多步任务、信息检索、数据收集文章写作、代码优化、创意设计
延迟较高(多节点串行)较高(多轮迭代)
模型成本规划节点可用强模型,执行节点可用弱模型生成与反思节点均需一定推理能力
实现复杂度较复杂(三个主要节点 + 路由逻辑)相对简单(两个主要节点 + 终止条件)
扩展性可嵌套子智能体或工具可与其他模式组合使用

在实际应用中,两种模式可以组合使用。例如,在计划与执行的每个子步骤中嵌入反思机制,以进一步提升执行质量。

API 速览

本节梳理博客代码中涉及的核心 API。

LangGraph StateGraph

  • 所属库:langgraph.graph
  • 方法签名:StateGraph(state_schema: Type)
  • 说明:构建状态图的核心类,state_schema 为 TypedDict 类型,定义图状态的字段。
  • 主要方法:
    • add_node(name: str, function: Callable):添加节点
    • add_edge(from: str, to: str):添加普通边
    • add_conditional_edges(from: str, router: Callable, path_map: dict):添加条件边
    • set_entry_point(name: str):设置入口节点
    • compile(checkpointer: Optional[BaseCheckpointer] = None):编译图为可执行应用

ChatOpenAI.with_structured_output

  • 所属库:langchain_openai
  • 方法签名:with_structured_output(schema: Type[BaseModel])
  • 说明:将 LLM 输出绑定为结构化 Pydantic 模型,返回的 LLM 实例调用 invoke 后直接返回模型实例。

MemorySaver

  • 所属库:langgraph.checkpoint.memory
  • 方法签名:MemorySaver()
  • 说明:提供基于内存的状态检查点保存能力,用于支持会话状态持久化与中断恢复。

Demo 示例

以下提供一个完整、可运行的 HTML 文件,演示计划与执行模式的可视化交互流程。

运行说明:将以下代码保存为 index.html,在浏览器中直接打开即可运行。页面会模拟计划与执行过程,并动态展示每个阶段的状态变化。

技术点总结:

  • 使用纯前端模拟 LangGraph 的节点流转逻辑
  • 展示规划、执行、重规划的完整闭环
  • 通过可视化日志呈现每一步的状态变化
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计划与执行模式可视化 Demo</title>
    <style>
        * { box-sizing: border-box; }
        body { font-family: system-ui, -apple-system, sans-serif; max-width: 800px; margin: 40px auto; padding: 0 20px; background: #f8fafc; color: #0f172a; }
        h1 { font-size: 1.8rem; font-weight: 600; margin-bottom: 0.5rem; }
        .subtitle { color: #475569; margin-bottom: 2rem; }
        .card { background: white; border-radius: 12px; padding: 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 1.5rem; border: 1px solid #e2e8f0; }
        .card h3 { margin-top: 0; font-weight: 500; color: #1e293b; }
        .status-bar { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1rem; }
        .badge { padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.8rem; font-weight: 500; }
        .badge-planner { background: #dbeafe; color: #1d4ed8; }
        .badge-agent { background: #d1fae5; color: #065f46; }
        .badge-replanner { background: #fef3c7; color: #92400e; }
        .badge-end { background: #e2e8f0; color: #334155; }
        .log-area { background: #f1f5f9; border-radius: 8px; padding: 1rem; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; max-height: 300px; overflow-y: auto; white-space: pre-wrap; word-break: break-all; }
        .btn { background: #0f172a; color: white; border: none; padding: 0.6rem 1.5rem; border-radius: 8px; font-weight: 500; cursor: pointer; transition: background 0.2s; }
        .btn:hover { background: #1e293b; }
        .btn:disabled { opacity: 0.5; cursor: not-allowed; }
        .flex-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
    </style>
</head>
<body>
    <h1>计划与执行模式 · 可视化模拟</h1>
    <p class="subtitle">模拟 LangGraph 智能体的 Planner → Agent → Replanner 流转</p>

    <div class="card">
        <div class="flex-row" style="justify-content: space-between;">
            <div>
                <span class="badge badge-planner" id="phaseBadge">⏳ 待启动</span>
                <span style="margin-left: 0.75rem; font-size: 0.9rem; color: #475569;" id="stepCounter">步骤 0</span>
            </div>
            <button class="btn" id="runBtn">▶ 执行完整流程</button>
        </div>
    </div>

    <div class="card">
        <h3>📋 状态日志</h3>
        <div class="log-area" id="logArea">等待执行...</div>
    </div>

    <script>
        // ---------- 模拟状态 ----------
        const state = {
            input: "中国女子短跑最快的选手是谁?",
            plan: [],
            executedSteps: [],
            finalAnswer: "",
            phase: "idle", // idle | planner | agent | replanner | done
            stepIndex: 0
        };

        const logArea = document.getElementById('logArea');
        const phaseBadge = document.getElementById('phaseBadge');
        const stepCounter = document.getElementById('stepCounter');
        const runBtn = document.getElementById('runBtn');

        function log(msg) {
            logArea.textContent += msg + '\n';
            logArea.scrollTop = logArea.scrollHeight;
        }

        function setPhase(phase, label) {
            state.phase = phase;
            const map = {
                idle: { text: '⏳ 待启动', cls: 'badge-planner' },
                planner: { text: '📋 规划中', cls: 'badge-planner' },
                agent: { text: '⚙️ 执行中', cls: 'badge-agent' },
                replanner: { text: '🔄 重规划', cls: 'badge-replanner' },
                done: { text: '✅ 完成', cls: 'badge-end' }
            };
            const info = map[phase] || map.idle;
            phaseBadge.textContent = info.text;
            phaseBadge.className = `badge ${info.cls}`;
            if (label) stepCounter.textContent = label;
        }

        // ---------- 模拟节点 ----------
        function plannerNode(input) {
            setPhase('planner', '生成计划');
            log('📌 [Planner] 生成步骤列表...');
            const steps = [
                "搜索中国女子短跑选手信息",
                "查询最快选手成绩",
                "整理并输出最终答案"
            ];
            state.plan = steps;
            log(`📋 [Planner] 计划: ${steps.join(' → ')}`);
            return steps;
        }

        function agentNode() {
            setPhase('agent', `执行步骤 ${state.stepIndex + 1}`);
            if (state.plan.length === 0) return null;
            const step = state.plan.shift();
            log(`🔍 [Agent] 执行: "${step}"`);
            // 模拟搜索
            let result;
            if (step.includes("短跑") || step.includes("选手")) {
                result = "中国女子短跑最快选手是韦永丽,成绩为10.99秒。";
            } else {
                result = "查询完成,已获取相关信息。";
            }
            state.executedSteps.push(`执行“${step}” → ${result}`);
            log(`✅ [Agent] 结果: ${result}`);
            return result;
        }

        function replannerNode() {
            setPhase('replanner', '评估进度');
            log('🔄 [Replanner] 评估已执行结果...');
            // 模拟判断:如果已经执行了足够步骤,直接给出答案
            if (state.executedSteps.length >= 3) {
                state.finalAnswer = "中国女子短跑最快选手是韦永丽,成绩为10.99秒。";
                log(`💬 [Replanner] 可直接回答: ${state.finalAnswer}`);
                return "response";
            }
            // 否则继续执行剩余步骤
            log(`📌 [Replanner] 剩余步骤: ${state.plan.length > 0 ? state.plan.join(', ') : '无'}`);
            return "plan";
        }

        // ---------- 执行主流程 ----------
        async function runFullPipeline() {
            if (runBtn.disabled) return;
            runBtn.disabled = true;
            logArea.textContent = '';
            log('🚀 启动计划与执行流程...');
            log(`📝 用户目标: ${state.input}`);

            // 重置状态
            state.plan = [];
            state.executedSteps = [];
            state.finalAnswer = "";
            state.stepIndex = 0;

            // 1. Planner
            plannerNode(state.input);

            // 2. 循环 Agent + Replanner
            let maxIter = 10;
            while (maxIter-- > 0 && state.phase !== 'done') {
                // Agent
                const result = agentNode();
                if (!result && state.plan.length === 0) {
                    // 没有更多步骤,尝试结束
                    break;
                }
                state.stepIndex++;

                // Replanner
                const action = replannerNode();

                if (action === "response") {
                    setPhase('done', '完成');
                    log(`🎯 最终答案: ${state.finalAnswer}`);
                    break;
                }

                // 如果计划为空且没有最终答案,强制结束
                if (state.plan.length === 0 && !state.finalAnswer) {
                    // 构造一个默认答案
                    state.finalAnswer = state.executedSteps.join('\n');
                    setPhase('done', '完成');
                    log(`🎯 流程结束,汇总结果:\n${state.finalAnswer}`);
                    break;
                }

                // 模拟异步延迟
                await new Promise(r => setTimeout(r, 300));
            }

            if (state.phase !== 'done') {
                setPhase('done', '完成');
                log('⚠️ 达到最大迭代次数,流程终止。');
            }

            log('🏁 流程执行完毕');
            runBtn.disabled = false;
        }

        runBtn.addEventListener('click', runFullPipeline);

        // 初始状态
        setPhase('idle', '准备就绪');
        log('💡 点击 "执行完整流程" 按钮开始模拟');
    </script>
</body>
</html>

官方文档与参考链接

官方文档

参考链接

总结

本文系统性地阐述了智能体架构优化的两种经典模式——计划与执行、反思,并提供了基于 LangGraph 的完整可运行代码示例。

计划与执行模式通过全局规划与动态重规划,适用于多步信息检索与复杂任务处理;反思模式通过生成-评审-改进的迭代循环,适用于内容创作与质量优化场景。

两种模式可根据任务特性单独选用或组合使用,为构建高可靠性 AI Agent 应用提供了切实可行的架构参考。

从零构建AI Agent:基于LLM的智能体架构设计与实战指南 AI Agent(智能体)是人工智能领域的重要概念,它代表了一种能够感知环境、自主规划并执行任务以达成目标的智能系统。其核心原理在于将大语言模型(LLM)作为“大脑”或推理引擎,通过工具调用(Tool Calling)与环境交互,并结合记忆模块实现持续学习。这一架构的技术价值在于突破了传统聊天机器人被动应答的局限,能够处理复杂、多步骤的开放式任务,极大地拓展了AI的应用边界。在应用场景上,AI Agent可广泛应用于智能文档分析、自动化流程执行、个性化助手等领域,成为提升生产效率的关键技术。本文以构建一个“ 阅读详情

相关推荐

智能体工作流实战:从提示词到Agentic AI的范式迁移

智能体(Agent)是大模型从被动应答走向主动协作的关键演进,其核心在于将LLM嵌入可规划、可调用工具、可反思修正的闭环工作流中。不同于传统提示工程依赖静态上下文,智能体通过结构化任务分解、外部API/数据库调用与结果验证机制,显著提升复杂业务场景下的准确率与鲁棒性。技术价值体现在对模糊需求的动态适应、多源异构数据的协同处理,以及真实系统中失败自动恢复能力。典型应用场景包括智能客服、会议纪要生成、销售线索分级与HR入职自动化。本文聚焦ReAct等主流智能体模式的工程落地细节,涵盖轻量调度器设计、8B模型高效

weixin_30564785的博客 391

手把手教你从0到1搭建一个AI Agent(智能体)

本文从零开始实现一个基础的AI Agent,包含以下核心内容: AI Agent的本质构成:大模型+Prompt+工具+记忆+运行循环,核心是让AI能够自主判断和执行任务。 普通AI与Agent的区别: 普通AI直接生成回答 Agent会判断需求并调用工具获取真实数据 实现了一个具有三个功能的基础Agent: calculator:数学计算 get_current_time:获取实时时间 save_note:保存笔记 关键技术实现: 使用OpenAI兼容API 通过Tool Calling机制让AI自主决定

JavaPub 1141

网闸的基本配置

本文详细介绍了网闸的基本配置流程,包括物理连接与初始化、网络基础配置、核心数据交换策略配置、安全增强配置、管理与运维以及测试验证等关键步骤。网闸通过在物理隔离环境下建立"数据摆渡通道",实现特定业务数据的安全交换。配置时应遵循最小化、单向化、内容控制和审计原则,确保只开放必要通道,优先采用单向传输,进行内容安全检查并记录操作日志。不同厂商网闸的配置界面可能不同,但核心逻辑是相通的。

qq_39980997的博客 1843

【实战智能体】《大模型应用开发_动手做AI_Agent》_126.[第7章 Agent实战之智能调度] Plan-and-Execute vs ReAct——两种Agent范式的本质区别

摘要(149字):** 本文深入解析大模型Agent开发的两种核心范式——Plan-and-Execute与ReAct的本质差异。Plan-and-Execute如战略家,先全局规划再分步执行,适合复杂任务但延迟较高;ReAct则像急先锋,边推理边行动,响应快但易遗漏全局信息。通过四维对比(思维模式、Token消耗、容错性、可解释性)和场景化选型指南,揭示范式选择对Agent性能的关键影响。文章指出:简单/实时任务用ReAct,复杂/确定性任务用Plan-and-Execute,未来趋势是混合范式(如ReW

620

Redis架构演进:从主从、哨兵到集群,如何支撑亿级流量的秒杀场景?

本文深入探讨了分布式缓存Redis的三种核心高可用模式:主从复制、哨兵模式与集群模式。以高并发的电商秒杀业务为切入点,我们分析了每种模式的优缺点和适用场景,并最终选择Redis集群模式作为最佳解决方案。文章提供了基于Spring Boot和Spring Data Redis的完整实现代码,详细展示了如何配置和使用Redis集群来应对高并发、高可用的挑战,旨在帮助开发者在实际项目中做出正确的技术选型和架构设计。

lingRJ777的博客 723

解决 maven编译项目-Fatal error compiling: 无效的目标发行版: 21 -> [Help 1]

惊奇的发现,maven没有用环境变量中设置好的JAVA_HOME目录,至此发现错误原因,原来执行java -version默认使用系统环境变量JAVA_HOME,而maven优先使用了windows的用户变量JAVA_HOME(这里之前忘记修改,仍然指向java8路径),修改用户变量JAVA_HOME指向java21或删除该用户变量JAVA_HOME(如无它用)后即可。打开maven包所在的目录,在maven的配置文件 mvn.cmd 文件中,设置java_home的目录。

litlit023的专栏 1799

手写 Plan-and-Execute:从零实现 AI 智能体行为规划系统

策略适用场景优点缺点任务明确、步骤清晰简单可控无法应对变化探索式任务灵活性高实现复杂超长任务结构化好递归开销Plan-and-Execute 架构将"思考"和"行动"分离,让 AI 智能体从"一步一看"的短视模式,升级为"全局规划+分步执行+动态调整"的成熟模式。本文实现了完整的行为规划系统,包含任务分解、DAG 调度、自适应执行和监控重规划四个核心模块,代码可以直接集成到你的 Agent 项目中使用。

picture_share的博客 658

AI:240-YOLOv8高效涨点 |Swin Transformer的主干网络替换与优化(附代码 + 详细修改步骤 +原理介绍)

YOLOv8作为目标检测领域的最新版本,在速度和精度之间取得了良好的平衡。然而,随着计算机视觉任务的复杂性不断增加,YOLOv8的标准主干网络(Backbone)在处理高分辨率图像或多尺度目标时,可能存在一定的局限性。为了进一步提升YOLOv8的性能,我们可以引入Swin Transformer替换其主干网络,以增强模型的全局感知能力和多尺度特征提取能力。本文将详细介绍如何在YOLOv8中用Swin Transformer替换原有的Backbone,提供代码示例,并深入探讨其中的原理和效果。

一键难忘的博客 3960

Plan-and-Execute保姆级教程!从入门到精通,搞懂AI智能体的“思考”方式,看这篇就够了!

Plan-and-Execute是一种处理复杂任务的目标导向架构模式,通过"规划-执行-评估"的闭环流程提高效率。其核心优势在于:先通过规划器(使用强模型)将任务分解为结构化子任务并确定依赖关系,再由执行器(可使用弱模型)并行执行独立任务,最后根据执行情况动态调整计划。相比传统ReAct模式,该方法解决了迷失方向、效率低下等问题,特别适合多步骤的复杂任务。系统包含三大组件:规划器负责任务分解与工具映射,执行器实现智能调度,重规划器支持动态调整,三者协同工作形成完整闭环。该模式通过层次化规

m0_59235245的博客 1450

AUTOSAR OS Counter讲解

Counter(计数器)以tick为单位记录操作系统中发生了多少“事情”。tick(滴答)是一个抽象的单位。时间,例如毫秒,微妙,分钟等,然后计数器计算过去了多少时间旋转,例如以度或分钟为单位,计数器计算物体旋转了多少按钮按下,计数器计算按钮按下多少次错误,计数器计算错误发生的频次中断(有时是任务)用于驱动一个计数器。该驱动程序负责进行正确的OS API调用来滴答计数器,或者告诉OS计数器已经滴答到一个所需的值。

酒无忧的博客 1073

[QMT量化交易小白入门]-二十八、有了回测年化收益好的策略,如何在QMT量化实盘呢(附python代码解析)

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 2927

一个 AI 不够用?我用 Python 搭了 3 个智能体,让它们分工协作解决复杂任务

本文介绍如何构建一个三智能体协作系统来解决复杂任务。主要内容包括: 单智能体的局限性:分析单个AI在处理复杂任务时职责混杂导致的问题 多智能体系统的本质:强调角色分工、状态流转和协作机制的重要性 常见协作模式:列举规划者+执行者、主控+专家等典型架构 三智能体设计方案:详细说明任务理解、执行和审查三个角色的职责划分 技术实现:提供Python代码示例展示状态管理和Agent调度方法 文章通过具体案例和代码演示,帮助读者理解如何让多个AI智能体各司其职、协同工作,从而提高复杂任务的处理效果。

weixin_62242812的博客 693

交换机初始化配置详解

MGMT或称MGT(Management Port,管理端口)是一个可以连接计算机的三层主机端口,如下图所示。只需使用一条双绞线跳线,就可以将计算机的以太网端口与交换机的MGMT端口连接在一起,实现对交换机的配置与管理。也就是说,可以使用MGMT端口代替Console端口实现对交换机或交换机堆叠的网络管理。MGMT端口既可用于交换机的初始化,也可以在交换机初始化完成后,以Telnet、Web浏览器或Cisco CNA方式进行管理。当将计算机连接到独立的交换机时,连接方式如下图所示。

悦分享 1995

转:四种AI Agent设计模式

吴恩达,四种AI Agent设计模式

Rolei的博客 563

Ultralytics YOLOv8 英伟达™ Jetson®处理器部署

英伟达™(NVIDIA®)Jetson 是一系列嵌入式计算板卡,旨在为边缘设备带来加速的 AI(人工智能)计算。这些小巧而功能强大的设备围绕英伟达™(NVIDIA®)的GPU架构打造,能够直接在设备上运行复杂的人工智能算法和深度学习模型,而无需依赖云计算资源。Jetson 板卡通常用于机器人、自动驾驶汽车、工业自动化和其他需要在本地以低延迟和高效率执行人工智能推理的应用中。此外,这些板卡基于 ARM64 架构,与传统 GPU 计算设备相比运行功耗更低。英伟达™(NVIDIA®)JetPack SDK。

机器人控制与仿真应用 3876

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

大模型2025年3月报告分析2:智能体AI Agent

AI 智能体 Agent 的评测报告来了。【*智能体Agent深度分析介绍*】主要介绍各个模型在SuperCLUE通用榜单智能体Agent任务上的表现,包括对国内外模型的表现对比、九大任务场景的模型表现、推理模型与基础模型的的表现对比、当前模型在Agent能力上的不足。【智能体Agent任务介绍】主要考察在中文场景下基于可执行的环境,LLM作为代理,在单轮或多轮对话中调用工具完成任务的能力。【智能体Agent任务特点】1. 单轮、多轮对话:当前对话轮数覆盖1-6轮,解题步数覆盖2-14步。2. 任务覆盖场景

2401_85373898的博客 2035

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Agent任务拆解与反思机制研究综述(世毫九实验室原创研究)

在工程实践方面,以DeerFlow 2.0为代表的新一代Agent框架,通过Sub-agents、Memory、Sandbox、Skills四大核心组件,实现了从“会回答”到“能交付”的能力跃迁,效率提升可达36倍。在任务拆解方面,分层多智能体架构通过将复杂目标转化为可执行的子任务序列,实现了任务的结构化处理。例如,面对“开发一个用户数据分析Dashboard,要求实时展示用户行为,调用公司现有数据库,下周上线,并符合GDPR要求”的复合型任务,单一Agent通常难以有效应对。

shardylab.blog.youkuaiyun.com 738

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Agent-S3革命性突破:首个超越人类性能的智能体框架实战指南

**Agent-S3**作为首个在OSWorld基准测试中超越人类表现的开源智能体框架,在计算机交互领域实现了历史性突破。这一技术里程碑标志着AI智能体在真实环境任务执行能力上的重大飞跃,为技术决策者和开发者提供了全新的自动化解决方案。Agent-S3通过创新的架构设计和行为最优N次策略,在复杂GUI交互任务中达到了72.60%的成功率,不仅超越了其他主流智能体方案,更首次突破了人类水平表现的72

gitblog_00873的博客 658

Agent-S3深度解析:首个超越人类性能的智能体框架实战指南

Agent-S3作为首个在OSWorld基准测试中超越人类表现的开源智能体框架,在计算机交互领域实现了革命性突破。这一突破性成果标志着AI智能体在真实环境任务执行能力上的重大飞跃,为技术决策者和开发者提供了全新的自动化解决方案。Agent-S3通过创新的架构设计和行为最优N次策略,在复杂GUI交互任务中达到了72.60%的成功率,不仅超越了其他主流智能体方案,更首次突破了人类水平表现的72%基准线

gitblog_00632的博客 1033

Salt `filter_by` 系列函数修复:查找键含 fnmatch 元字符(`[`、`]`)时精确匹配失效的根因与解决方案

本篇文章围绕 Salt 项目 changelog 中 issue 60976 的修复展开,深入剖析 `grains.filter_by`、`pillar.filter_by` 与 `match.filter_by` 在匹配包含 fnmatch glob 元字符(如 `[`、`]`)的查找键时失效的问题:这类键(典型如 GPU/PCI 型号字符串)会被 fnmatch 误解析为字符类模式,导致本应命

gitblog_00511的博客 474

2026年AI Agent元年:小白程序员必看指南,收藏学习大模型新范式!

AI Agent(智能体)是一种能够感知环境、制定决策并采取行动以实现特定目标的AI系统,具备记忆、规划、采取行为、使用工具等基本能力。AI Agent = LLM(大脑)+ 规划技能 + 记忆 + 工具使用其中LLM扮演Agent的"大脑",提供推理、规划等能力;而Agent则是大模型的"手脚"和"工具集",赋予大模型感知环境和执行动作的能力。定义:Multi-Agent System(MAS)是由多个智能体组成的集合。

优快云_224022的博客 2790

从 0 到 1 构建供应链 AI Agent Harness Engineering:需求预测、库存优化与物流调度实战

有没有一种技术,能把需求预测、库存优化、物流调度这三个核心供应链环节的决策智能“串联”起来,变成一个主动感知、实时决策、闭环优化、自治协作的“超级大脑”?有!那就是——供应链 AI Agent Harness Engineering(供应链AI智能体集群调度工程)。简单来说,我们要构建的不是3个单独的AI模型(预测模型、库存模型、调度模型),而是。

AI智能探索者的博客 233

AI智能体工作流:核心架构与应用实践

AI智能体(AI Agent)作为具备动态决策能力的自动化系统,正在重塑传统工作流程。其核心架构由推理引擎、工具集和记忆模块三大支柱组成,通过LLM驱动的任务分解、动态规划和自我反思实现类人决策。在技术实现层面,智能体工作流采用非线性执行路径和多轮迭代优化,显著提升了复杂任务的处理效率。典型应用场景包括增强型检索生成(Agentic RAG)、智能研究助手和编程辅助等,其中电商客服系统案例显示首次响应时间可从2分30秒降至9秒。随着多智能体协作和具身智能等技术的发展,AI智能体正在从单一任务处理向端到端业务

weixin_34221276的博客 381

Agent-S3突破性实战指南:首个超越人类性能的计算机交互智能体深度解析

在当今AI技术快速发展的背景下,**Agent-S3智能体**作为首个在OSWorld基准测试中超越人类表现的开源框架,为计算机交互领域带来了革命性突破。这一**超越人类性能**的成果标志着AI智能体在真实环境任务执行能力上的重大飞跃,为技术决策者和开发者提供了全新的**自动化解决方案**。Agent-S3通过创新的架构设计和行为最优N次策略,在复杂GUI交互任务中达到了72.60%的成功率,不仅

gitblog_00201的博客 993

Agent-S3技术解析:首个超越人类性能的GUI智能体框架实战指南

在当今AI技术快速发展的背景下,GUI自动化智能体正成为企业数字化转型的关键技术。然而,现有解决方案在复杂任务处理、跨平台兼容性和执行成功率方面仍面临严峻挑战。Agent-S3作为首个在OSWorld基准测试中超越人类表现的开源智能体框架,为解决这些行业痛点提供了革命性的技术方案。 ## 行业痛点与挑战分析 传统GUI自动化方案通常面临三大核心挑战:执行成功率低、跨平台适配困难、以及复杂任务处

gitblog_00403的博客 944

从Prompt模块化到AI智能体的技术演进与实践

Prompt工程是大模型应用开发的基础技术,通过精心设计的提示词实现与大模型的高效交互。随着技术发展,模块化Prompt设计通过分治策略解决了传统单一Prompt的痛点,包括上下文长度限制、复杂任务描述和场景复用问题。AI智能体(AI Agent)则进一步实现了自主感知、决策和执行能力,成为当前最前沿的技术范式。这种演进不仅提升了人机协作效率,也为开发者提供了从基础Prompt使用到智能体系统设计的完整技能升级路径。在实际应用中,模块化Prompt和智能体技术已广泛应用于舆情分析、电商客服等场景,显著提升了

weixin_30820077的博客 370
上一篇: AI Agent从无到有67: 多智能体实战——构建基于LangGraph的数字人客服助手
下一篇: AI Agent从无到有69: 用模拟用户评估你的智能体——自动化测试新思路
Wang's Blog
博客等级 码龄12年 7423粉丝 2412原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值