从零构建自动化图文内容生成器,解析“Python-Use”的任务编排能力
一、为什么用“图文内容生成”作为技术验证场景?
在前两篇实战中,我们分别用 AiPy 构建了 2048 游戏和五子棋游戏,验证了 AiPy 在前端交互与游戏逻辑层面的代码生成与自动调试能力。但游戏开发只是 AiPy 能力边界的一个侧面。
在实际工作场景中,内容创作与文档处理才是大多数非技术用户最频繁遭遇的重复劳动。写一篇图文并茂的旅游攻略、整理一份带配图的行业报告、把零散的文档转化为结构化数据——这些任务通常涉及信息检索、数据处理、格式编排、文件输出等多个环节,传统上需要人工逐项完成,或者借助多个工具拼凑工作流。
AiPy 的“Python-Use”范式在应对这类多步骤、多工具编排的任务时,表现出了不同于单一代码生成的能力:它不只是一个“会写代码的 AI”,而是一个能自主规划任务链路、动态调用 Python 生态完成全流程的执行体。官方将其核心逻辑概括为“任务→规划→代码→执行→反馈”的完整闭环,而图文内容生成恰好是验证这一闭环在真实生产力场景中价值的理想案例。
二、环境准备与配置
2.1 安装与基础配置
AiPy 通过 pip 即可安装:
bash
pip install aipyapp
安装完成后,在终端输入aipy即可进入默认的 Task Mode(任务模式)。
2.2 模型配置(可选)
如果希望 AiPy 调用更强大的云端大模型(如 DeepSeek),可以创建配置文件~/.aipyapp/aipyapp.toml:
toml
[llm.deepseek] type = "deepseek" api_key = "你的 DeepSeek API Key"
如果未配置云端模型,AiPy 也支持接入 Ollama 等本地推理方案。不过对于涉及联网搜索(如图片检索)的任务,云端模型通常能提供更稳定的语义理解能力。
三、任务输入:用自然语言描述完整工作流
打开 AiPy 后(默认 Task Mode),输入以下提示词。这里的关键是把“目标”和“约束条件”说清楚,而不需要解释“怎么做”:
text
你是一名专业的新闻编辑者,现在需要你帮我写一篇图文并茂的成都旅游攻略,图片来源于网络真实拍照,要求以Word文档的形式输出到我的桌面,并且整理好文档格式,图片统一大小和尺寸,正文使用宋体小四,首行缩进,其余一二级等标题采用一般标准。
这个提示词看似简单,但包含了多个技术指令:
| 用户表达 | 技术映射 |
|---|---|
| 写一篇图文并茂的成都旅游攻略 | 信息检索与文本生成(内容创作) |
| 图片来源于网络真实拍照 | 网络图片搜索与下载(联网能力) |
| 以Word文档的形式输出到桌面 | 文档生成与文件操作(python-docx 或类似库) |
| 整理好文档格式,图片统一大小和尺寸,正文宋体小四,首行缩进 | 文档排版与格式约束(样式控制) |
关键原则:用户只需要描述“我要什么结果”,AiPy 自主决定“用什么工具、分几步执行”。
四、执行闭环:AiPy 在后台的完整流程
任务输入后,AiPy 会进入“感知→规划→执行→反馈”的自动闭环。以下是根据类似任务的社区案例和官方文档梳理的执行逻辑。
4.1 任务拆解
收到指令后,AiPy 会自主分析任务结构,将“写一篇图文并茂的旅游攻略”拆解为若干可执行的子任务:
信息检索与内容生成:调用语义理解能力,生成成都旅游攻略的文本大纲与正文内容(景点、美食、住宿、交通等)
图片素材检索与下载:根据内容中的关键词(如“宽窄巷子”“火锅”“熊猫基地”),联网搜索对应的真实拍摄图片并下载到本地
文档生成与排版:使用 Python 的
python-docx库创建 Word 文档,按约束条件设置字体、字号、行距、缩进图片嵌入与尺寸统一:将下载的图片按统一尺寸嵌入文档对应位置
文件输出:将最终文档保存到桌面指定位置
这些步骤在 AiPy 的执行日志中会以结构化列表呈现,用户可随时查看当前进度。
4.2 代码生成与执行
针对上述子任务,AiPy 会动态生成对应的 Python 代码。结合社区案例,核心代码逻辑大致如下:
联网搜索与图片下载:
python
import requests from bs4 import BeautifulSoup import os # 根据关键词搜索并下载图片 def search_and_download_image(keyword, save_path): search_url = f"https://.../search?q={keyword}&tbm=isch" # ... 解析搜索结果,获取图片URL # ... 下载图片并保存到本地Word 文档生成与排版:
python
from docx import Document from docx.shared import Inches, Pt from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 创建文档 doc = Document() # 设置正文样式(宋体小四,首行缩进) style = doc.styles['Normal'] style.font.name = '宋体' style.font.size = Pt(12) style.paragraph_format.first_line_indent = Inches(0.35) style.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # 插入标题、正文段落、图片 # ...
关键细节:上述代码不是用户写的,也不是 AiPy 从模板里复制的——它是根据任务语义动态生成的。AiPy 不依赖任何预设的“旅游攻略生成工具”,因为它以 Python 生态为执行层,而 Python 有现成的库(requests做爬虫、python-docx做文档、PIL做图片处理)可以完成所有这些操作。
4.3 自检与调试
根据官方披露的机制,AiPy 在代码执行过程中如果遇到错误,会自动捕获报错信息、判断原因、修复代码并重新运行。
例如,在图片下载过程中可能遇到以下情况:
某个图片 URL 失效 → AiPy 自动更换搜索来源或跳过该图片
图片尺寸不一致 → 自动调用
PIL统一裁剪/缩放python-docx未安装 → 自动执行pip install python-docx
这种“自主排障”能力使得整个工作流可以在无人干预的情况下持续推进,直至任务完成。
4.4 输出交付
执行完成后,AiPy 会将最终生成的 Word 文档保存到用户桌面,文件名为任务描述的摘要(如“成都旅游攻略.docx”)。用户打开后即是一份排版规范、图文并茂的完整文档。
五、技术拆解:为什么图文内容生成是检验 AiPy 能力的试金石?
5.1 从“顾问”到“执行者”的范式跃迁
在传统 AI 工具(如 ChatGPT、Copilot)中,面对“写一篇图文并茂的旅游攻略并保存到桌面”的需求,典型回应是:
生成一段文本内容
提供一段 Python 代码示例
告诉用户“你需要自己运行这段代码,并手动插入图片”
交付物是“方案”和“代码”,执行主体是用户。
而 AiPy 的交付物是“可直接使用的文档”,执行主体是 AI。这种差异的本质是两种交互模式的根本不同:
| 维度 | 传统大模型 | AiPy |
|---|---|---|
| 交互方式 | 问答式 | 任务驱动式 |
| 交付物 | 代码/方案 | 可用的结果 |
| 执行主体 | 用户 | AI |
| 工具调用 | 需要预定义 Tool | 动态生成 Python 代码 |
5.2 Python-Use 范式:不依赖预设工具的能力边界
AiPy 能够完成图文内容生成,根本原因在于其“Python-Use”范式不预设任何工具,而是让 AI 直接使用 Python 生态。
图文内容生成涉及的能力链是:
文本生成→ Python 调用大模型 API(或本地模型)
图片检索→ Python 调用
requests+ 网络搜索图片处理→ Python 调用
PIL文档生成→ Python 调用
python-docx文件操作→ Python 内置
os和文件 I/O
所有这些能力都来自 Python 的标准库和第三方生态,它们天然存在、天然可用,不需要任何人为 AiPy 提前开发“旅游攻略生成工具”。这正是“代码即代理”理念的体现——代码成为统一的接口,取代了传统 Agent 中繁杂的 Tool 注册和 Workflow 编排。
5.3 成本优势
从技术架构角度看,AiPy 的 Python-Use 范式在同等任务下大幅减少了 Token 消耗。传统 Agent 需要多轮“工具调用→结果返回→再调用”的对话式交互,而 AiPy 通过一次代码生成即可完成全过程,运行成本显著降低。
六、扩展:从攻略到任意图文内容
同样的技术路径可以扩展到几乎任何图文内容生成场景:
| 场景 | 变化点 |
|---|---|
| 行业报告 | 检索方向从旅游变为行业数据 |
| 产品说明书 | 图片来源从网络变为本地产品图 |
| 教学课件 | 输出格式从 Word 变为 PPT(python-pptx) |
| 小红书/公众号推文 | 排版风格从正式变为自媒体风格 |
用户只需修改提示词中的“主题”和“格式约束”,不需要重新设计任何技术方案。AiPy 会根据新的语义自动调整检索策略、内容风格和排版参数。
七、总结:从任务规划到结果交付的技术闭环
通过这个图文内容生成的实战案例,可以清晰地看到 AiPy 的“Python-Use”范式在复杂任务场景中的完整运作路径:
任务理解:从用户自然语言中提取目标与约束
自主规划:将单一任务拆解为可执行的子任务序列
代码生成:为每个子任务动态生成 Python 代码
执行与编排:按序执行、处理依赖、管理状态
排障与迭代:自动捕获异常、修复代码、重试
结果交付:输出可直接使用的文件
这六个步骤形成一个完整闭环,让用户从“写提示词→等方案→自己执行→手动 Debug”的传统流程,转变为“写提示词→等结果”的体验。
图文内容生成只是 AiPy 能力边界的一个切面。同样的技术路径可以覆盖数据分析、自动化测试、文件批量处理、甚至视频生成——只要任务能用 Python 完成,AiPy 就能自主规划并执行。正如官方理念所言:“让大模型不只是思考,更要动手”。
