当前位置: 首页 > news >正文

AI自主任务执行系统 AI Agent无限循环,发任务给AI,让生成脚本,运行执行任务,直到成功。

发任务给AI,让生成脚本,运行执行任务,输出结果,如果失败,把原因告诉AI,让AI重新生成脚本,就这样不断循环,直到完成。

太棒了,这就是一个典型的“AI自主任务执行系统”原型,核心理念是:用自然语言派发任务,让 AI 自动生成 → 执行 → 回馈 → 迭代脚本,直到任务完成。


✅ 系统架构设计草图

📂 ai_task_runner/
│
├── main.py                ← 启动入口,循环驱动系统
├── task_prompt.txt        ← 用户输入的任务描述
├── ai_script_generator.py ← 用 GPT 生成任务脚本
├── script_executor.py     ← 执行生成的脚本,捕获输出和异常
├── error_analyzer.py      ← 分析错误并给出反馈
├── log_history.txt        ← 保存任务迭代历史
└── config.py              ← API Key 等配置信息

🔁 工作流程逻辑

1. 用户:发出任务(自然语言)
2. 系统:把任务交给 AI 生成可执行脚本(Python)
3. 系统:运行脚本,捕获结果 or 错误
4. 如果出错:a) 反馈错误信息 + 原任务描述 → 再喂给 AIb) 让 AI 修复逻辑/语法 → 再次生成脚本c) 回到第 3 步
5. 成功:输出结果并记录完成状态

✅ 示例代码骨架(V1.0)

🔹 main.py

from ai_script_generator import generate_script
from script_executor import run_script
from error_analyzer import analyze_errorTASK_PROMPT_FILE = "task_prompt.txt"def main():with open(TASK_PROMPT_FILE, 'r', encoding='utf-8') as f:task_description = f.read().strip()history = []for attempt in range(5):print(f"\n🔁 尝试第 {attempt + 1} 次执行任务...\n")script = generate_script(task_description, history)result, error = run_script(script)if error:print(f"❌ 执行失败:{error}")feedback = analyze_error(error)history.append({"script": script,"error": error,"feedback": feedback})else:print(f"✅ 执行成功:{result}")breakelse:print("🚨 多次尝试后仍未完成任务。")if __name__ == '__main__':main()

🔹 ai_script_generator.py

import openai
from config import OPENAI_API_KEYopenai.api_key = OPENAI_API_KEYdef generate_script(task_description, history):messages = [{"role": "system", "content": "你是一个Python自动脚本编写专家,生成可运行的Python脚本来完成用户的任务。"}]if history:last_error = history[-1]["error"]feedback = history[-1]["feedback"]messages.append({"role": "user", "content": f"上次的代码失败了,错误是:{last_error}\n请根据反馈修复:{feedback}"})else:messages.append({"role": "user", "content": f"我的任务是:{task_description}\n请生成Python脚本来完成它。"})response = openai.ChatCompletion.create(model="gpt-4",messages=messages,temperature=0.3)return response.choices[0].message['content']

🔹 script_executor.py

import subprocessdef run_script(script):try:with open("generated_script.py", "w", encoding="utf-8") as f:f.write(script)result = subprocess.run(["python", "generated_script.py"],capture_output=True, text=True, timeout=30)if result.returncode != 0:return None, result.stderrreturn result.stdout, Noneexcept Exception as e:return None, str(e)

🔹 error_analyzer.py

def analyze_error(error_message):# 简单错误分析,未来可扩展为 LLM 进一步解读if "ModuleNotFoundError" in error_message:return "可能缺少库,请添加 import 或提醒安装模块"elif "SyntaxError" in error_message:return "语法错误,请检查缩进、拼写"elif "NameError" in error_message:return "使用了未定义的变量"else:return "通用错误,请改进逻辑或容错处理"

🔐 config.py

OPENAI_API_KEY = "你的 OpenAI API Key"

💡 示例任务(task_prompt.txt)

打开浏览器,搜索“Python 自动化”,并截图保存页面到本地。

🧠 未来可拓展的方向

方向功能
🔍 多轮对话引导多轮澄清任务意图
📈 成功学习机制AI记住什么失败过、什么成功
🧪 自动单元测试生成前先加测试保障正确性
🎯 子任务分解一个大任务拆成多个脚本子任务执行
🤖 集成本地 LLM离线运行,不依赖OpenAI

如果你愿意,我可以:

  • 生成完整可运行的项目源码压缩包
  • 或者一步步与你开发这个项目(比如先做 V1 自动化任务试运行)

你想要哪种方式?是否需要立即搭建第一个 Demo?

http://www.dtcms.com/a/316467.html

相关文章:

  • adjtimex系统调用及示例
  • 阿里招AI产品运营
  • 从数据洪流到智能决策:Apache IoTDB如何重塑工业物联网的DB+AI新范式
  • Java技术栈/面试题合集(12)-Maven篇
  • springboot + maven 使用资源占位符实现动态加载配置文件
  • 跳表和B+树的相似和区别 ***
  • Nginx 学习
  • UnityUI系统--GUI
  • PHP‑ORT扩展构建纯PHP机器学习的推荐系统
  • Redis协议数据迁移方式
  • 聚焦智能穿戴“下一代消费终端”之争,Meta/微美全息借AI+AR积淀定义行业未来
  • Tasks and Deadlines(Sorting and Searching)
  • 【人工智能-18】机器学习:决策树、随机森林
  • 什么情况下浮动IP(Floating IP)会“漂移”(Drift)
  • 浮动IP(Floating IP)的删除通常需要满足什么条件
  • 小程序点击菜单栏实现样式动态切换
  • 对于包含大量文件的程序的便捷makefile操作
  • RK3568 Linux驱动学习——字符设备驱动开发
  • windows内核研究(软件调试-内存断点)
  • 永磁同步电机无速度算法--具有电流测量误差鲁棒性的永磁同步电机无传感器控制的自适应广义复矢量观测器
  • 二叉树算法
  • 02-算法
  • Java后端高频面试题
  • EP02:【DL 第二弹】张量的索引、分片、合并以及维度调整
  • 如何选择正确的体育/电竞数据接口服务商?
  • 力扣148:排序链表
  • Android 开发中,HandlerThread、IntentService 和 AsyncTask区别对比
  • Pytorch基础入门2
  • C++面向对象编程基础:从类定义到封装机制详解
  • 【Linux网络编程】socket基础