如何实现一个聪明的agent

如何实现一个聪明的agent在当前的 AI 架构中 如果把 LLM 大模型 比作一个人的 大脑 那么 Agent 智能体 就是这个人的 全身 包括了手脚 感官和记忆 简单来说 LLM 是 Agent 的核心驱动引擎 但 Agent 是 LLM 走向现实世界的进化形态 这是业界公认的智能体定义 LLM 本身只是一个 文本补全器 而 Agent 是一个 任务解决者 1 LLM 大脑 The

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



在当前的 AI 架构中,如果把 LLM(大模型) 比作一个人的“大脑”,那么 Agent(智能体) 就是这个人的“全身”——包括了手脚、感官和记忆。

简单来说:LLM 是 Agent 的核心驱动引擎,但 Agent 是 LLM 走向现实世界的进化形态。


这是业界公认的智能体定义。LLM 本身只是一个“文本补全器”,而 Agent 是一个“任务解决者”。

1. LLM:大脑(The Brain)

  • 角色:负责推理、逻辑判断、自然语言理解。
  • 局限:它没有实时观测能力(不知道现在几点),没有双手(不能去查数据库),且容易遗忘(上下文长度有限)。

2. 规划(Planning):思维链

  • 关系:Agent 利用 LLM 的推理能力,将复杂任务拆解成子任务。
  • 技术表现:如 CoT (Chain of Thought)。比如你让 HR Agent 招人,它会先写出步骤:1. 筛选简历 -> 2. 预约面试 -> 3. 发送 Offer。

3. 记忆(Memory):短期与长期

  • 短期记忆:利用 LLM 的 Context Window(如上下文对话)。
  • 长期记忆:利用你熟悉的 Milvus (向量数据库)。Agent 会把过去的经验存入 Milvus,需要时再检索出来给 LLM 看。

4. 工具使用(Tool Use):感官与手脚

  • 关系:这是 Agent 最关键的特征。Agent 可以调用外部 API(如查询 MySQL 报表、发送钉钉通知)。
  • 技术表现Function Calling。LLM 决定“我要查一下某人的薪资”,Agent 负责去执行 SQL。

维度 LLM (大语言模型) Agent (智能体) 本质 概率预测模型(预测下一个字) 自主行动系统 交互模式 Q&A(问答式) Loop(循环式,直到任务完成) 环境感知 封闭(仅限于训练数据) 开放(能查实时数据、读文件) 典型代表 GPT-4, Claude 3, Llama 3 AutoGPT, BabyAGI, HR 自动办公助手

以你之前想做的 “入职自动化” 为例:

  1. LLM 负责“想”
    • 用户输入:“帮王小明办入职。”
    • LLM 告诉 Agent:“办入职需要:1. 生成合同;2. 分配工位;3. 发送邮件。”
  2. Agent 负责“做”
    • Action 1:Agent 调用 MySQL 接口读取王小明的个人信息。
    • Action 2:Agent 调用电子签章 API 生成合同。
    • Action 3:Agent 发现缺了王小明的身份证号,主动给王小明发个微信:“麻烦提供一下证件号”。(这里 Agent 体现了自主性
  3. Temporal 负责“稳”
    • Agent 的这些动作由 Temporal Workflow 编排。如果电子签章接口挂了,Temporal 负责重试,确保 Agent 的意图最终达成。

  • LLM 是工具:你调用它,它回答你。
  • Agent 是同事:你给它一个目标(Goal),它自己去想办法、找工具、处理异常,最后给你一个结果。

AI 时代的 SaaS 系统,竞争的不再是谁的 LLM 强(大家都在调 GPT 或 Claude 的接口),而是谁的 Agent 设计得更精妙——谁能把 LLM、Milvus 记忆、Temporal 流程完美结合。


在分布式系统架构中,我们可以把 Workflow 比作“导演/编排者”,把 Activity 比作“执行者/动作”,而 Agent 则是这两者在 AI 逻辑下的“灵魂升级版”

为了让你彻底理清这两者的关系,我们可以从以下三个维度进行拆解:


在 Agent 的理论框架中,有一个核心概念叫 Function Calling (工具调用)

  • 关系:当你给 Agent 装备了“查询 MySQL”或“发送邮件”的能力时,这些能力的物理实现其实就是一个个 Activity
  • 例子
    • Agent 决定:“我现在需要获取王小明的薪资。”(这是推理)
    • Activity 执行get_salary_from_mysql_activity(emp_id)。(这是动作)

结论:Activity 是 Agent 能够触达外部世界(数据库、第三方 API、文件系统)的唯一通道。


这是理解两者差异的关键。

维度 Temporal Activity AI Agent 决策来源 代码逻辑(if/else)。程序员在写 Workflow 时已经定死了步骤。 LLM 推理。根据当前环境动态决定下一步做什么。 重试机制 基于 网络或超时的失败重试。 基于 任务目标的逻辑重试(比如发现回答不准确,换个工具再查)。 输入输出 严格定义的 JSON 或结构化对象。 模糊的自然语言描述,由 LLM 进行语义解析。 定位 确定性执行器。追求 100% 的一致性和可靠性。 概率性决策者。追求目标达成的智能化。

现在的趋势是将两者融合。在这种架构下,Workflow 里的某一个节点不再是简单的代码,而是一个 LLM 决策节点。

一个典型的 AI HR 入职场景:

  1. Workflow 启动
  2. AI Activity (LLM):分析入职合同,发现少了“签字日期”。
  3. 决策分支
    • 如果逻辑是死代码(传统 Activity),它可能只会报错。
    • 如果是 Agent,它会动态生成一封催促邮件,并调用 send_email_activity
  4. 状态流转:Agent 利用 Temporal 的 Signal 功能等待员工回信,收到后继续下一步。

  1. 缺乏“大脑”:Activity 只是 def func(),它不会思考。它只会接收 input 并产出 output
  2. 缺乏“反思”:Agent 执行完一个动作后,会观察结果(Observation),判断是否符合预期。Activity 执行失败了只会按退避算法(Exponential Backoff)重试,不会换一种方案尝试。
  3. 无状态 vs 状态机:Activity 理论上应该是无状态的(Stateless),而 Agent 需要依赖 Memory (Redis/Milvus) 来维持长期的任务状态。

在你的 HR 系统中,你应该这样设计:

  • 用 Activity 封装你的业务原子操作(如:读写 MySQL、在 Milvus 搜索简历、生成 PDF)。这些是 Agent 的“手脚”
  • 用 Agent (LLM) 编写业务的逻辑判断。这是 Agent 的“大脑”
  • 用 Temporal Workflow 编排整个过程。这是 Agent 的“骨骼/中枢神经”,确保任务在断网、宕机时不会丢失,且能长达数天甚至数周地运行下去。

简单来说:Agent 负责“做出聪明的选择”,而 Activity 负责“把选好的事情做稳”。
— Temporal扮演的角色
在 AI 时代的高级架构中,Temporal 扮演的角色可以被定义为:分布式系统的“中枢神经”与 AI Agent 的“生命保障系统”










如果把 LLM 比作大脑,LangGraph 比作逻辑电路,那么 Temporal 就是确保这一切在现实世界(会有断网、宕机、超时)中能百分之百落地的基石。


1. 状态的“永动机” (Durable Execution)

在处理 HR 业务(如入职流程、复杂的背调)时,任务往往跨越数天。

  • 传统做法:你需要用定时任务、数据库状态位、复杂的 if/else 来记录流程跑到了哪。
  • Temporal 角色:它让代码具备“断点续传”的能力。即便服务器在执行 Activity 时重启,Temporal 也会通过 Event Sourcing(事件回溯) 自动恢复进度。

2. AI Agent 的“身体约束器” (Reliability Layer)

AI 是概率性的,经常会超时或报错。

  • 角色内容:它为不稳定的 AI 调用提供了指数退避重试(Retry Policy)
  • 比喻:Agent 像个聪明的孩子,但他可能会摔倒(接口报错)。Temporal 是那个永远在他身后扶着他、让他重新站起来继续走的人。

3. 异构系统的“粘合剂” (Orchestrator)

HR 系统需要对接 MySQL、Milvus、钉钉 API、电子签章等。

  • 角色内容:它将这些分布式的、语言无关的操作编排成一个顺序流。它解决了分布式事务中的“一致性”难题——如果 A 成功 B 失败,Temporal 负责触发补偿逻辑(Saga Pattern)

组件 对应人体器官 Temporal 给它提供了什么? LLM (大脑) 思考 超时保护:防止 LLM 思考太久导致请求丢失。 LangGraph (神经) 反应 长程持久化:让 Agent 的思考循环可以持续数周不中断。 Activity (手脚) 动作 精确执行:确保发出的 Offer 邮件不会因为一次网络抖动发两遍(幂等性)。 Database (记忆) 存储 最终一致性:确保 MySQL 和 Milvus 的数据同步更新。

  1. 解决 LLM 的“慢”与“贵”
    大模型推理很慢。Temporal 允许你异步处理这些昂贵的调用,并在完成后通过 SignalQuery 通知前端,极大地优化了 SaaS 用户的体验。



  2. 人工干预 (Human-in-the-loop)
    很多 HR 决策不能全靠 AI。Temporal 支持流程暂停(Wait),等待 HR 手动点击“审批”信号后,Agent 自动根据审批结果继续执行。



  3. 可观测性 (Visibility)
    通过 Temporal UI,你可以清晰地看到 Agent 思考到了哪一步,哪次 Activity 报错了,这在调试复杂的 AI Agent 时是不可或缺的“上帝视角”。




在你的 SaaS HR 项目中,Temporal 扮演的是底层法律规章的角色。

“LLM 负责把事想全,LangGraph 负责把事想通,而 Temporal 负责把事办成。”


如果你已经理解了 Temporal (编排器)LLM (大脑)Activity (手脚) 的关系,那么理解 LangGraph 就非常容易了:

LangGraph 的角色是“Agent 的大脑连接器”和“状态状态机”。

如果说传统的 LLM 是线性的(问->答),那么 LangGraph 让 LLM 变成了环形的(思考->行动->观察->再思考)。


LangGraph 是 LangChain 推出的一个库,专门用于构建循环型(Cyclic)的 Agent 工作流

在没有 LangGraph 之前,大模型只能做简单的“思维链”。有了 LangGraph 后,你可以定义一个复杂的有向图(Graph),让 AI 在不同的节点(Node)之间跳跃,甚至“打道回回府”去修正错误。


我们可以通过对比你已经熟悉的组件来定位它:

组件 角色定位 核心比喻 LLM (如 GPT-4) 推理引擎 大脑的 智商 Temporal 宏观业务编排器 公司的 规章制度与行政部(保证任务死活都要办成) LangGraph 微观逻辑决策器 大脑的 神经回路(控制 AI 思考的具体每一步)

  1. Nodes (节点)
    • 相当于你定义的函数。比如一个节点负责“查简历”,一个节点负责“写评价”。
  2. Edges (边)
    • 决定了从一个节点走到下一个节点的规则。最强大的是 Conditional Edges (条件边):LLM 根据上一步的结果决定是“完成任务”还是“回去重做”。
  3. State (状态)
    • 这是 LangGraph 的灵魂。它在图的流转过程中维护一个全局对象,所有节点都可以读写这个状态。这解决了 LLM 容易“忘词”的问题。

在做 HR SaaS 时,你可能会遇到这种场景:“AI 筛选简历,如果发现简历缺少联系方式,就去补充搜索;如果搜不到,就标记为待定。”

  • 普通代码:你会写一堆复杂的 if/else,很快就会乱掉。
  • LangGraph:你画一张图。
    • 节点 A:筛选简历。
    • 条件边:有联系方式吗?有 -> 节点 B;没有 -> 节点 C。
    • 节点 C:联网搜索。搜索成功 -> 回到节点 A 重新处理。

你可能会问:“既然 LangGraph 能跑工作流,我还要 Temporal 干嘛?” 这是一个非常关键的架构选型问题:

  1. 粒度不同
    • LangGraph 负责“微观循环”:比如让 AI 迭代 5 次去优化一段文案。它是运行在内存里的逻辑,如果断电了,这个循环就没了。
    • Temporal 负责“宏观持久”:比如一个入职流程要跑 7 天。它保证即便服务器重启,流程也能从上次停下的地方继续。
  2. 协作模式
    • **实践:在 Temporal 的一个 Activity 内部运行 LangGraph
    • 逻辑:Temporal 启动入职任务 -> 调用一个 Activity -> Activity 启动 LangGraph 让 AI 疯狂思考和调用工具 -> LangGraph 给出最终结果 -> Temporal 继续跑后续的财务/行政流程。

  • 如果你只是想让 AI 给报表写个总结,你不需要 LangGraph。
  • 如果你想做一个能自我纠错、能多 Agent 协作(比如一个 AI 写代码,另一个 AI 找 Bug,循环往复)的 HR 智能 Agent,LangGraph 就是那个帮你管理这些复杂跳转逻辑的地图

简单来说:LangGraph 给了 AI “反复横跳”和“自我反思”的逻辑框架。


基于你已经掌握的 Temporal (骨骼)、LangGraph (神经回路)、LLM (大脑)Milvus/MySQL (记忆),我们要构建的不再是一个简单的脚本,而是一个具备“自愈能力”和“深度推理能力”的工业级智能体 (Industrial Agent)

实现一个“聪明”Agent 的核心在于:不要让它只做线性选择,要让它在“思考-行动-观察-重试”的循环中运行。


为了平衡“灵活性”与“可靠性”,我们采用分层架构:

  1. 宏观层 (Temporal):负责流程的持久化。处理跨天任务、超时重试、人工审批(Signal)。
  2. 微观层 (LangGraph):负责任务的决策逻辑。在 Activity 内部运行,处理复杂的推理、纠错和多次尝试。

1. 定义 Agent 的“大脑状态” (LangGraph State)

在 LangGraph 中,我们要定义一个 State 对象,它像一个黑匣子,记录 AI 思考的全过程。

class AgentState(TypedDict):

resume_text: str search_queries: List[str] # AI 决定去搜什么 found_evidence: List[str] # 找到的证据 is_verified: bool # 是否通过校验 loop_count: int # 循环次数,防止死循环 

2. 构建“反复横跳”的逻辑图 (LangGraph Nodes)

  • Node A (Analyzer): 提取简历关键点,发现有疑点(如离职时间对不上)。
  • Node B (Searcher): 调用外部工具(Activity)去全网搜索或查内部库。
  • Node C (Validator): 对比搜索结果。如果匹配,结束;如果不匹配,打回 Node A 重新分析

3. 将 LangGraph 封装进 Temporal Activity

这是最关键的一步,它让 Agent 具备了“死而复生”的能力。

@activity.defn async def smart_research_activity(resume_id: str) -> dict:

# 1. 从 MySQL/Milvus 获取数据 data = fetch_resume_data(resume_id) # 2. 启动 LangGraph 运行循环推理 app = workflow.compile() final_state = await app.ainvoke({"resume_text": data.text}) # 3. 返回最终聪明决策 return final_state["analysis_report"] 


1. 赋予它“长期记忆” (Milvus RAG)

普通的 Agent 每次对话都是失忆的。聪明的 Agent 会在决策前先查 Milvus:

  • 操作:Agent 在执行动作前,先检索过去类似的案例:“上次遇到华为背景的候选人,我们重点关注了哪些技术点?”
  • 效果:Agent 的表现会随使用时间的增加而越来越像一个经验丰富的 HR。

2. 引入“反思”机制 (Self-Reflection)

在 LangGraph 的 Edge(边)逻辑中,增加一个 Critique(批判) 节点。

  • 逻辑:LLM 生成报告后,交给另一个“面试官角色”的 LLM 实例去挑刺。如果评分低于 80,自动回退到上一步重写。

3. 动态工具调用 (Function Calling)

不要在代码里写死调用哪个 SQL。

  • 做法:给 Agent 提供一个工具箱(包含:查询薪资、查询考勤、搜索简历)。
  • 表现:Agent 会根据用户的模糊需求(“帮我看看研发部谁最辛苦”),自主决定先去查考勤 Activity,再查加班申请 Activity。

  1. 最大循环限制:在 LangGraph 状态中记录 loop_count。如果 AI 陷入死循环(反复确认一个信息),强制退出并报错。
  2. Temporal 断点续传:如果 LangGraph 在运行中服务器宕机,Temporal 会重新启动该 Activity。你可以结合 LangGraph 的 checkpointer 将中间状态存入 Redis,实现“思考进度”的恢复。

阶段 表现 技术手段 初级 问一答一,死板执行 简单的 LLM + Activity 中级 懂业务,能根据情况跳转 LangGraph (有向图) + Tools 高级 (聪明) 会反思、有记忆、极度稳定 LangGraph + Milvus (记忆) + Temporal (高可用)

实现一个聪明的 Agent,本质上是在用“代码的确定性”去包裹“AI 的不确定性”。

小讯
上一篇 2026-04-08 21:00
下一篇 2026-04-08 20:58

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/251574.html