热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai教程 >重生之点亮Agent技术栈--agent

重生之点亮Agent技术栈--agent

来源:互联网 更新时间:2026-06-09 07:25

上一篇聊了基础概念后,这次我们深入看看Agent。别被那些花哨的定义绕晕,其实核心就几个模块。

Agent到底是什么?

Agent 的公式很简单:大模型(LLM)+ 工具/MCP 调用 + 记忆(Memory)+ 规划(Planning/Workflow)。另一种说法是 Agent = LLM + Harness,大模型负责思考、推理和决策,而 Harness 则负责让整个过程稳定、不跑偏、可持久、可恢复。

一个 Agent 的完整执行流程大体是这样的:

用户输入(需求) ↓
LLM 推理(解析需求、判断下一步) ↓
是否调用工具?(分支判断) ↓
执行工具(调用脚本/接口/浏览器) ↓
结果反馈给 LLM(上下文更新) ↓
继续推理(循环,直到完成任务)

这里贴张大佬给出的学习建议:学习建议图

RAG

RAG是什么?

检索增强生成,RAG = 检索(Retrieval)+ 增强生成(Augmented Generation)。说白了就是先把用户问题拿去查资料库,找到相关文档,再交给大模型结合这些资料生成答案。核心流程走一遍就清楚了。

为什么需要RAG?

大模型是用公网内容训练出来的,公司内部的数据或资料它压根不知道。这时候就得靠 RAG 补上这块短板。比如字节的 Coze 就支持本地文档、自定义数据、在线数据等,示意图如下:Coze数据源示意图

怎么处理的?

用户提问 ↓
用户输入 → 文本切分 → 向量嵌入 → 向量数据库 → 检索相关文档 ↓
大模型生成

创建第一个Agent(基于 LangChain)

client = create_agent(
    model=llm,
    system_prompt="你是一个会使用工具解决问题的助手。",
)
response = client.invoke({
    "messages": [{"role": "user", "content": "用100个字介绍一下agent"}]
})
print(response)

得到的结果:结果截图1

我们再加点东西,做一个有记忆的 Agent:

@dataclass
class Context:
    """自定义运行时上下文模式。"""
    user_id: str

@tool
def getWeather(city: str) -> str:
    """查询城市天气的本地示例工具。"""
    weather_map = {
        "北京": "晴,25摄氏度",
        "上海": "多云,27摄氏度",
        "广州": "小雨,29摄氏度"
    }
    return weather_map.get(city, "暂未查询到该城市天气")

@tool
def getUserLocation(runtime: ToolRuntime[Context]) -> str:
    """根据用户ID获取用户位置"""
    user_id = runtime.context.user_id
    user_info = runtime.store.get(("users",), user_id)
    if user_info:
        return user_info.value.get("location", "unknown")
    return "unknown"

agent = create_agent(
    model=llm,
    tools=[getWeather, getUserLocation],
    system_prompt="你是一个会使用工具解决问题的助手。",
    checkpointer=checkpointer,
    store=store,
    context_schema=Context
)

result = agent.invoke(
    {
        "messages": [{"role": "user", "content": "帮我看一下外面的天气"}]
    },
    config={"configurable": {"thread_id": "1"}},
    context=Context(user_id="1")
)
res = result["messages"]
print(res[-1].content)

得到的结果:结果截图2

其他

工作范式

  • CoT(Chain of Thought)

    :思维链,要求模型先输出中间推理步骤,再给最终答案。简单来说就是在 prompt 后面加一句“让我们一步步思考”。

提示词工程中还有两种引导策略:

1. Zero-shot:不给任何示例,直接给指令
2. Few-shot:按指定的推理模板输出,比如给 2~5 个输入-输出示例,让模型模仿。
  • ReAct(Reasoning + Acting)

    :边推理,边执行。核心流程是 Though → Action → Observation → Thought → ... → 完成。缺点是效率低,调用次数多。
  • PlanAct(Plan-and-Execute)

    :先想好全盘,再一步步做。问题在于前期规划一旦出错,后面就容易一错到底。
  • Reflection

    :反思机制,让另一个 LLM 对生成结果进行评判和修正。

记忆系统

  • 短期记忆(上下文)
  • 长期记忆(向量库)
  • 用户画像(偏好)

安全机制

三层防护:

  1. 权限控制
  2. 操作确认(Human-in-the-loop)
  3. 沙箱执行(隔离环境)

如果把所有工具和说明一次性塞给模型,上下文窗口会迅速耗尽,注意力也会涣散。解决办法有两种:

  • 渐进式披露

    :先给最少量的信息,触发后再展开。
  • 三给原则

    :按需给、分层给、在正确的时机给。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc