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?