举个🍐
1. 问题(Query):
您要做宫保鸡丁,询问:“如何做宫保鸡丁?”
2. 文档(Recipe):
食谱包含一系列步骤:
步骤 1:准备食材:鸡胸肉、干辣椒、花生、青椒、大葱等。
步骤 2:切菜:鸡胸肉切丁,青椒切块,干辣椒剪段等。
步骤 3:调味:调制酱料,酱油、料酒、醋、糖等配料混合。
步骤 4:炒菜:热锅凉油,加入鸡肉丁、辣椒、花生,翻炒入味。
步骤 5:完成:加酱料,炒匀,出锅。
由于步骤很多,我们可以将这些步骤分为几个窗口,每个窗口包含一定数量的步骤,以便更容易记住并逐步完成。
3. 窗口化处理
窗口 1:准备食材和切菜(包括步骤1和2)
这个窗口的内容是关于准备食材和切菜的,您可以先处理这些准备工作,例如切好鸡肉、青椒等。
窗口 2:调味和炒菜(包括步骤3和4)
这个窗口包含了调制酱料、加热炒锅、翻炒食材的步骤。在窗口1的内容完成后,您就可以继续进行这个窗口的操作。
窗口 3:完成菜肴(步骤5)
这是最后一个窗口,包含完成菜肴的最后步骤,将所有食材和调味料炒匀,最后出锅。
4. 逐步完成
你一次不会做所有的步骤,而是将整个食谱分成三个窗口:每个窗口处理一个小块内容。
每个窗口的操作完成后,您可以回顾和调整,确保做出正确的下一步。
5. 窗口化的好处
适应能力:如果您一次性看整个食谱可能会感到信息量太大,而窗口化让您一次专注于某一部分,减少信息负担。
清晰的步骤:分成多个窗口后,您能够更清楚地知道每一步应该做什么,也更容易在每个小步骤上专心操作。
参考代码实现
# 假设我们有一个关于做宫保鸡丁的食谱
recipe_steps = [
    "步骤 1: 准备食材:鸡胸肉、干辣椒、花生、青椒、大葱。",
    "步骤 2: 切菜:鸡胸肉切丁,青椒切块,干辣椒剪段。",
    "步骤 3: 调味:酱油、料酒、醋、糖混合成酱料。",
    "步骤 4: 热锅凉油,加入鸡肉丁、辣椒、花生翻炒。",
    "步骤 5: 加酱料,炒匀,出锅,完成宫保鸡丁。"
]
# 定义窗口化的处理方法
def windowize_and_process(recipe_steps, window_size=2):
    results = []  # 用来存储每个窗口的处理结果
    # 按照 window_size 分割食谱步骤
    for i in range(0, len(recipe_steps), window_size):
        window = recipe_steps[i:i + window_size]  # 获取当前窗口的食谱步骤
        window_text = "\n".join(window)  # 将当前窗口的步骤合并成一个字符串
        # 模拟每个窗口的操作(比如说,这里只是打印出来模拟每一步)
        print(f"处理窗口内容:\n{window_text}\n")
        # 将每个窗口的处理结果存入 results
        results.append(f"完成窗口: {window_text}")
    return "\n".join(results)  # 最终将所有窗口的结果合并
# 调用窗口化处理方法,窗口大小为 2
final_result = windowize_and_process(recipe_steps, window_size=2)
# 打印所有窗口的处理结果
print("所有窗口的处理结果:")
print(final_result)
运行结果
处理窗口内容:
步骤 1: 准备食材:鸡胸肉、干辣椒、花生、青椒、大葱。
步骤 2: 切菜:鸡胸肉切丁,青椒切块,干辣椒剪段。
处理窗口内容:
步骤 3: 调味:酱油、料酒、醋、糖混合成酱料。
步骤 4: 热锅凉油,加入鸡肉丁、辣椒、花生翻炒。
处理窗口内容:
步骤 5: 加酱料,炒匀,出锅,完成宫保鸡丁。
所有窗口的处理结果:
完成窗口: 步骤 1: 准备食材:鸡胸肉、干辣椒、花生、青椒、大葱。
步骤 2: 切菜:鸡胸肉切丁,青椒切块,干辣椒剪段。
完成窗口: 步骤 3: 调味:酱油、料酒、醋、糖混合成酱料。
步骤 4: 热锅凉油,加入鸡肉丁、辣椒、花生翻炒。
完成窗口: 步骤 5: 加酱料,炒匀,出锅,完成宫保鸡丁。