Agent感知模式的情景化联想应用

📋 本文目录


一、前言

1.1 整合的价值

把5个工具整合起来:

  • 工具链:按顺序执行,处理完整流程

  • Agent:智能选择工具,灵活应对

  • 上下文持久化:记住用户情境

1.2 你将学到什么?

  • ✅ 如何构建上下文工具链

  • ✅ 如何整合到Agent

  • ✅ 上下文感知的实际效果

  • ✅ 与其他模块的配合


二、工具链整合

2.1 完整流程

复制代码
输入内容
    ↓
[工具1] context_collector → 收集上下文
    ↓
[工具2] context_modeler → 建模上下文
[工具3] context_reasoner → 推理情境
[工具4] situational_responder → 生成响应
    ↓
[工具5] context_manager → 管理上下文

2.2 运行演示

复制代码
cd 05_context_awareness
python context_chain_demo.py

2.3 生成的输出文件

  • output_context.txt - 上下文信息

  • output_response.txt - 生成的响应

  • output_analysis.txt - 情境分析


三、Agent整合

3.1 构建上下文感知Agent

复制代码
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from langchain.memory import ConversationBufferMemory

# 1. 初始化LLM
llm = ChatOpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama",
    model="qwen2.5:3b-instruct",
    temperature=0.7
)

# 2. 注册工具
tools = [
    context_collector,
    context_modeler,
    context_reasoner,
    situational_responder,
    context_manager
]

# 3. 构建提示模板
prompt = ChatPromptTemplate.from_messages([
    ("system", """你是一个上下文感知的智能助手。
你需要理解当前的情境,包括对话历史、用户情况、环境因素和任务状态,
然后给出最合适的回答。"""),
    ("placeholder", "{chat_history}"),
    ("user", "{input}"),
    ("placeholder", "{agent_scratchpad}")
])

# 4. 创建Agent
agent = create_tool_calling_agent(llm, tools, prompt)
agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    verbose=False,
    handle_parsing_errors=True,
    memory=ConversationBufferMemory(return_messages=True)
)

3.2 运行Agent

复制代码
cd 05_context_awareness
python context_agent_demo.py

3.3 Agent特殊命令

  • context - 查看当前上下文

  • user - 查看用户信息

  • env - 查看环境信息

  • task - 查看任务状态

  • clear - 清除上下文


四、效果演示

4.1 无上下文 vs 有上下文(真实运行结果)

无上下文感知:

复制代码
用户: 我刚刚网购了一台笔记本电脑
用户: 我喜欢安静、健康的餐厅

用户: 它什么时候到?
AI: 我不太理解您说的"它"指什么,请您具体说明一下
    (因为没有上下文,不知道对话历史和用户偏好)

用户: 给我推荐餐厅
AI: 我不太理解您说的"它"指什么,请您具体说明一下
    (因为没有上下文,不知道对话历史和用户偏好)

有上下文感知:

复制代码
============================================================
上下文感知Agent - 交互式对话
============================================================

指令:
  - 直接输入内容与助手对话
  - context  - 查看当前上下文
  - user     - 查看用户信息
  - summary  - 查看上下文摘要
  - clear    - 清除上下文
  - quit/exit- 退出

============================================================
============================================================
上下文感知Agent - 初始化中...
============================================================
[OK] 上下文感知Agent初始化完成!


开始对话吧!

> 你好,我准备去看周杰伦的演唱会

用户: 你好,我准备去看周杰伦的演唱会
助手: 你好!观看周杰伦的演唱会一定非常棒呢!你打算什么时候去呢?我可以帮你查询一下附近的场馆和时间安排哦。

> 今天天气怎么样

用户: 今天天气怎么样
助手: 你好!今天是2026年5月27日的晚上,我这里没有查到具体天气的信息哦。你可以查看一下当地的天气预报,或者直接打开手机上的天气应用查看最新的天气情况。希望你今晚能有个好心情!

> 演唱会你觉得怎么样

用户: 演唱会你觉得怎么样
助手: 你好!周杰伦的演唱会一定非常精彩呢!音乐和表演都是他多年来的积累和心血,你肯定不会失望的。不过关于你的问题,我没有具体的信息来回答,因为我只知道你想去看他的演唱会了。你可以告诉我更详细一些,比如你计划在哪一天去听现场吗?我可以帮你查一下那晚的天气情况哦。

4.2 上下文感知重点说明

从上面的真实交互可以看出Agent的上下文感知能力:

  1. 记忆用户意图:用户说"你好,我准备去看周杰伦的演唱会" → 被记住了

  2. 对话连贯性:后续对话中助手记得"我只知道你想去看他的演唱会了" → 体现了记忆功能

  3. 时间感知:助手知道"今天是2026年5月27日的晚上" → 环境上下文

  4. 个性化回复:基于之前的信息继续提供相关建议

4.3 对比总结

维度 无上下文 有上下文
理解代词 不知道"它"指什么 知道是笔记本电脑
用户偏好 不知道 知道喜欢安静健康
响应质量 模糊不清 个性化精准

五、总结与展望

5.1 模块总结

模块 说明
上下文收集 多源信息收集
上下文建模 结构化表示
上下文推理 智能推断
情境响应 个性化回复
上下文管理 生命周期管理

📚 参考资源

资源 链接
LangChain Context Docs https://python.langchain.com/docs/modules/memory/context/

点赞 + 关注,更新不迷路!🚀

相关推荐
金山云3 小时前
金山云Q1营收同比增长37.2% 调整后EBITDA率提升至27.6%
人工智能·金山云·财报
searchforAI3 小时前
B站视频转笔记用哪个工具?2026年四款AI笔记工具对比实测
人工智能·经验分享·笔记·gpt·学习·视频总结·ai笔记
EnCi Zheng3 小时前
09aaab-Softmax是什么?
人工智能
FAFU_kyp3 小时前
拼好设 UI 视觉快速搭建方法
人工智能
治数有道3 小时前
【一号文深度解读(上)】财务级数据中台,不是财务主题域:央国企数据中台的范式纠偏
大数据·人工智能·业财融合·数智化转型·穿透式监管·财务级数据中台·一号文
jiayong234 小时前
harness 与 hermes-agent 运行原理和核心流程
人工智能·ai·智能体·harness·hermes-agent
码海浮生4 小时前
人工智能日报 每日AI新闻(2026年5月25日):Google I/O余波下的AI安全、多模态生成与搜索体验分化
大数据·人工智能·安全
dingzd954 小时前
Pinterest年度色彩发布后跨境内容团队如何统一视觉风格与选题方向
大数据·人工智能·新媒体运营·市场营销·跨境
ting94520004 小时前
深度解析 Google Stitch 3.0:文本驱动跨端 UI 生成技术原理、架构与工程实现
人工智能·ui·架构