在本文中,我们将从零开始,使用 Python 构建一个简单但完整的 AI Agent,一步步引导你理解 AI Agent 的核心结构与实现方式。适合入门读者,甚至可以作为你未来构建复杂 AI 应用的基础。
AI Agent 是一个自主决策、行动、学习与适应的智能系统,构成了人工智能和自动化技术的核心。
我们可以将它分解为以下几个模块:
📌 AI Agent 核心模块结构图(使用 Mermaid 绘制)
说明:这个 Agent 的基本流程是:用户输入 → 感知 → 决策 → 执行 → 学习,形成了完整的闭环。
我们以一个简单的文本任务助手为例,目标是:
我们使用一个简单的字典 task_rules 来定义任务与对应的命令。
✅ agent_rules.py 代码示例
# agent_rules.pytask_rules = { "创建Python项目文件": "mkdir my_project && cd my_project && touch __init__.py main.py", "添加一个函数": "echo 'def hello(): print(\"Hello, World!\")' >> main.py", "运行程序": "python main.py", "查看文件内容": "cat main.py",}
提示:这个字典是定制化的任务规则引擎,可以随时扩展或调整任务逻辑。
感知模块负责从用户的自然语言输入中提取关键词。✅ perception.py 代码示例
# perception.pyimport redef parse_user_input(user_input): """ 从用户的自然语言输入中提取任务关键词 参数: user_input (str): 用户输入的字符串,例如:"创建Python项目文件 运行程序" 返回: list: 提取出的关键词列表 """ tasks = re.findall(r"([^\s]+)", user_input) # 用正则提取所有单词 return tasks
正则提取说明:这里的 re.findall(r"([^\s]+)", user_input) 使用了正则表达式匹配所有非空格词,识别用户的单个任务操作。
决策模块将感知到的关键词与任务规则进行匹配,生成对应的执行命令。
✅ decision.py 代码示例
# decision.pyfrom agent_rules import task_rulesdef decide_action(tasks): """ 根据感知模块的输入,匹配任务规则,生成执行命令 参数: tasks (list): 提取的关键词列表 返回: list: 对应的命令列表 """ actions = [] for task in tasks: if task in task_rules: actions.append(task_rules[task]) return actions
说明:此模块可以根据你的规则库提供清晰的指令生成逻辑。
执行模块负责运行从决策模块获得的命令
✅ execution.py 代码示例
# execution.pyimport osdef run_actions(actions): """ 执行所有提取出的命令 参数: actions (list): 对应的执行命令列表 返回: str: 输出执行结果 """ for action in actions: print(f"执行: {action}") os.system(action)
安全提示:为了提高安全性,建议在现实项目中使用 subprocess 替代 os.system(),防止命令注入攻击。
我们将之前所有模块组合成一个完整的 Agent
✅ agent.py 代码示例
# agent.pyfrom perception import parse_user_inputfrom decision import decide_actionfrom execution import run_actionsdef run_agent(user_input): """ 执行整个 Agent 流程 参数: user_input (str): 用户的任务指令 """ tasks = parse_user_input(user_input) actions = decide_action(tasks) run_actions(actions)if __name__ == "__main__": user_prompt = input("请输入你的任务指令(如:创建Python项目文件 运行程序):") run_agent(user_prompt)
1. 用户输入:
2. Agent 输出:
执行: mkdir my_project && cd my_project && touch __init__.py main.py执行: python main.py
3. 程序运行结果:
看到了吗?这就是一个最简单的 AI Agent 正在工作的样子!
当前实现的是基于规则的 Agent,但这只是一个起点。AI Agent 的潜力非常大,可以从以下方向继续升级:
📌 1. 使用大型语言模型增强能力
我们可以将任务识别和指令生成交给强大的语言模型,比如:
✅ 示例:LLM 相关代码
# 使用 Qwen 同步调用 GPT 模型(可选)from qwen import Qwendef generate_command(user_input): """ 调用 Qwen 生成任务命令(更高级的执行逻辑) """ response = Qwen.generate(user_input) return response
2. 引入强化学习提升能力
使用强化学习可以让 AI Agent 在不断试错中学习到最优策略,适合系统自动化、决策优化等场景。
推荐框架:
RLlib
Stable Baselines
TensorFlow Agents
为了清晰管理和扩展,建议你按照如下方式组织你的项目结构:
ai_agent_project/│├── agent_rules.py # 任务命令规则├── perception.py # 自然语言处理模块├── decision.py # 决策模块├── execution.py # 执行命令模块└── agent.py # 主程序入口
我们已经成功构建了一个基础的 AI Agent,具备以下能力:
✅ 识别用户输入的任务关键词
✅ 根据规则生成对应的系统命令
✅ 执行这些命令以完成任务操作
这个版本只是一个起点,你可以继续拓展成:
自动化助手(如自动创建项目、运行脚本、部署服务)
智能客服(自然语言识别 + 策略响应)
游戏 AI(状态感知、动作决策、路径规划)
以下是一些推荐资源和工具,供你进一步学习:
📌 问题互动
你有没有尝试过用 Python 自动化执行某些任务?
除了文件操作,你是否想让它与 web 服务、数据库、API 结合?
如果你愿意,欢迎在评论区分享你的想法或遇到的挑战,我们一起探讨!