欢迎光临
我们一直在努力

AI Agent 工作原理及代码示例

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

AI Agent(人工智能智能体)是一种以大语言模型(LLM)为核心,能够感知环境、自主规划、调用工具并执行任务以实现特定目标的自治系统。 它与传统AI或脚本工具的本质区别在于其具备“感知-思考-行动-观察”的闭环机制,能够从“被动响应”转向“主动执行”。

🧠 核心架构:四大模块

一个完整的AI Agent系统通常包含以下核心模块,它们协同工作以实现自主智能:

  • 大脑(LLM):作为推理引擎,负责理解需求、任务拆解、逻辑推理和决策。
  • 感知(Perception):负责接收外部环境的信息(如文本、API数据、图像等),为决策提供原始数据。
  • 规划(Planning):将复杂目标拆解为可执行的子任务序列,并动态调整策略。主流模式包括ReAct(边想边做)和Plan-and-Execute(先规划后执行)。
  • 工具(Tools):Agent的“手脚”,用于与外部世界交互,如调用API、查询数据库、执行代码等,以弥补模型内部知识的局限。
  • 记忆(Memory):存储历史交互数据,包括短期记忆(当前对话上下文)和长期记忆(知识库、用户偏好),以支持上下文理解和持续学习。

🔄 工作闭环:ReAct 范式

绝大多数Agent的底层运行遵循ReAct(Reasoning + Acting)范式,形成一个完整的智能闭环:

输入组装:程序将用户目标、历史对话、可用工具列表等组装成Prompt,送入LLM。
推理生成:LLM输出一段结构化文本,包含Thought(思考过程)和Action(要调用的工具及参数)。
解析与执行:外部程序解析Action,提取工具名和参数,并真正执行IO操作或网络请求。
观察反馈:工具执行后返回结果(Observation),程序将其追加到历史上下文中。
循环迭代:将新的上下文再次送入LLM,开启下一轮循环,直到任务完成或达到终止条件。

💻 代码示例

以下是一个基于Python的简化版AI Agent实现,展示了从感知、决策到执行的基本流程:
 

import requests
from typing import List, Dict

class SimpleAgent:
def __init__(self, llm_client):
self.llm = llm_client
self.memory: List[Dict] = [] # 短期记忆
self.tools = {
"search_web": self.search_web,
"get_weather": self.get_weather
}

def search_web(self, query: str) -> str:
"""模拟网页搜索工具"""
return f"搜索'{query}'的结果:这是来自互联网的信息…"

def get_weather(self, city: str) -> str:
"""模拟天气查询工具"""
return f"{city}今天的天气是暴雨,18度。"

def run(self, goal: str):
"""执行任务的主循环"""
self.memory.append({"role": "user", "content": goal})

while True:
# 1. 组装上下文并调用LLM进行推理
prompt = self._build_prompt()
response = self.llm.generate(prompt) # 假设LLM返回包含Thought和Action的JSON

# 2. 解析LLM的输出
thought = response.get("thought")
action = response.get("action")

if action.get("tool") == "finish":
return action.get("result") # 任务完成,返回最终结果

# 3. 执行工具
tool_name = action.get("tool")
tool_args = action.get("args")
if tool_name in self.tools:
observation = self.tools[tool_name](**tool_args)
else:
observation = "错误:未找到该工具"

# 4. 将观察结果存入记忆,进入下一轮循环
self.memory.append({"role": "assistant", "content": observation})

def _build_prompt(self) -> str:
"""构建包含历史记忆和工具列表的Prompt"""
# 实际应用中需要更复杂的Prompt工程
return f"Memory: {self.memory}\\nAvailable Tools: {list(self.tools.keys())}"

# 使用示例
# agent = SimpleAgent(llm_client=MyLLMClient())
# result = agent.run("帮我查一下河南郑州今天的天气情况")

    最后说一句,技术成长不只是写代码,职业规划和自我包装同样重要。我整理了一份简历、面试和职业规划的学习资料,适合想在职场上走得更远的朋友看看。

  资料展示

下面是我整理的AI大模型学习资料和工具包预览,适合收藏后按主题逐步学习。

AI大模型资料展示 1

AI大模型资料展示 2

AI大模型资料展示 3

如果你想看完整资料目录,可以在评论区留言「资料」;也欢迎告诉我你更关注AI大模型里的哪类内容。

赞(0)
未经允许不得转载:171主机测评 » AI Agent 工作原理及代码示例
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址