《2026 Python零基础入门:用AI主题学编程》第十一课:简单 AI Agent 雏形——判断用户意图 + 调用不同 prompt / 工具,实现更智能的交互
大家好我是链上杯子CSDN链上杯子。失业一年了天天想着怎么翻身。最近的多轮对话虽然能聊了但模型每次都用同一套风格回复总觉得不够“聪明”。如果能让程序先判断用户想干什么写故事问问题脑暴想法再自动选择不同的 prompt 模板或工具交互就更像一个有脑子的助手了。今天试着搭一个最简单的 Agent 雏形感觉离“自己写个小 Grok”又近了一点点哈哈哈。本课目标学会用 if 判断用户意图关键词匹配或简单分类根据意图选择不同的 prompt 模板或处理逻辑。构建一个基础 AI Agent能根据输入自动切换“写作模式”“问答模式”“脑暴模式”等实现更智能的交互。核心代码实战1. 基础意图判断 —— 用关键词匹配def detect_intent(user_input): text user_input.lower() if any(word in text for word in [写, 故事, 小说, 文案, 诗, 段落]): return writing elif any(word in text for word in [问, 什么, 怎么, 解释, 介绍, 是, 吗, ]): return qa elif any(word in text for word in [想法, 脑暴, 点子, 建议, 推荐, 几个]): return brainstorm else: return general # 测试 print(detect_intent(帮我写一段关于未来的短故事)) # writing print(detect_intent(Python 的列表和元组有什么区别)) # qa print(detect_intent(给我脑暴 5 个小红书标题的创意)) # brainstorm2. 根据意图选择不同 prompt 模板 调用 APIimport requests # API 配置同前课 api_url https://api.deepseek.com/v1/chat/completions api_key 你的 DeepSeek API Key headers {Authorization: fBearer {api_key}, Content-Type: application/json} def get_system_prompt(intent): if intent writing: return 你是一个专业创意写手擅长小说、文案、诗词。输出直接开始正文风格根据用户要求调整。 elif intent qa: return 你是一个知识渊博的导师回答问题时准确、简洁、有条理。必要时分点说明。 elif intent brainstorm: return 你是一个脑暴高手想法大胆、有趣、多角度。每次给出 5-8 个创意用编号列出。 else: return 你是一个友好助手根据用户需求自然回复。 def call_llm(messages): data { model: deepseek-chat, messages: messages, temperature: 0.8, max_tokens: 800 } try: resp requests.post(api_url, headersheaders, jsondata, timeout30) resp.raise_for_status() return resp.json()[choices][0][message][content].strip() except Exception as e: return f调用失败{str(e)} # 主循环 messages [{role: system, content: 你是一个多功能助手根据用户意图自动切换模式。}] print( 简单 AI Agent 开始输入 quit 退出 ) while True: user_input input(你) if user_input.lower() quit: break intent detect_intent(user_input) print(f[调试] 检测到意图{intent}) # 动态调整 system prompt或追加一条 system 消息 messages.append({role: user, content: user_input}) # 可以选择在这里插入一条临时 system 消息来强化意图 temp_messages messages.copy() temp_messages.insert(1, {role: system, content: get_system_prompt(intent)}) reply call_llm(temp_messages) print(AI, reply) messages.append({role: assistant, content: reply})运行示例对话你写一个关于猫咪穿越的短故事 → 意图 writing → 用写作风格回复故事你Python lambda 怎么用 → 意图 qa → 用解释风格分点回答你脑暴 10 个周末约会点子 → 意图 brainstorm → 列出编号创意3. 扩展加“保存历史”命令# 在循环里加 if user_input.lower() save: import json with open(agent_history.json, w, encodingutf-8) as f: json.dump(messages, f, ensure_asciiFalse, indent2) print(历史已保存到 agent_history.json) continue小练习2 道练习1基础扩展 detect_intent 函数增加一个新意图 translate翻译模式当输入包含“翻译”“翻成”“英文”“日文”等词时返回 translate。然后在 get_system_prompt 里加对应模板例如“你是一个专业翻译助手直接输出翻译结果不加多余解释。”练习2进阶在主循环中加一个“mode”命令让用户手动指定模式例如输入“mode writing”就强制切换到写作模板。提示可以用一个变量 current_intent平时用 detect_intent 自动判断用户输入 mode 时手动覆盖。测试混合使用自动判断 手动切换看模型输出是否更贴合预期。建议保存几轮对话历史对比。本课小结本课通过关键词意图判断 动态 system prompt实现了简单 AI Agent 的雏形能根据用户输入自动切换写作/问答/脑暴等模式。这是从“工具调用”到“智能决策”的第一步后续可以扩展更多工具和更强的意图识别。下节预告下一课小项目总结 扩展方向 —— 回顾全系列介绍 LangChain 基础、Streamlit 界面等帮你规划下一步。欢迎在评论区贴出你的 Agent 运行截图、意图判断结果或有趣的对话有问题可以留言。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416313.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!