🐵指尖猴全新升级
第11课:综合实战:迷你任务助手
🚀

综合实战:迷你任务助手

四大件合体,造出你的第一个完整运行时!

📖知识引入

🧩四合一架构
对话循环+工具调用+上下文管理+记忆持久化,前面造的零件全部上机
🗂️项目分模块
main.py管循环、tools.py管工具、memory.py管记忆——一个文件一件事
🧰为任务配工具
任务助手配三件套:加待办、查待办、完成待办,接口越简单越稳
🛡️稳字当头
工具执行包上try/except,出错把报错回传模型,它会自己想办法
💡
先让一个工具跑通整条链路,再逐个加新工具——小步快跑,别想一口吃成架构师

🔍迷你任务助手的骨架

# main.py —— 四大件合体的最小完整结构
from tools import TOOLS, run_tool              # ② 工具层
from memory import load_memory, save_memory    # ④ 记忆层

messages = [{"role": "user", "content": input("你:")}]
system = f"你是任务助手。当前待办:{load_memory()}"

for step in range(15):                          # ① 循环层(含步数保险)
    resp = client.messages.create(
        model="claude-sonnet-4-5", max_tokens=1024,
        system=system, messages=messages, tools=TOOLS,
    )
    messages.append({"role": "assistant", "content": resp.content})
    if resp.stop_reason == "end_turn":
        print("助手:", resp.content[0].text)
        break
    for block in resp.content:                  # 执行工具并回传结果
        if block.type == "tool_use":
            try:
                result = run_tool(block.name, block.input)
            except Exception as e:
                result = f"工具出错:{e}"        # 把错误也告诉模型
            messages.append({"role": "user", "content": [{
                "type": "tool_result",
                "tool_use_id": block.id, "content": str(result)}]})

messages = trim_messages(messages, keep_rounds=6)  # ③ 上下文层

循环、工具、上下文、记忆四大件各就各位——这就是一个真正的Harness

🎯小测验

第1题:迷你任务助手的四个核心模块对应本课哪四讲?

第2题:工具执行套上try/except的好处是?

第3题:项目按「一个文件一件事」拆分的目的是?

📝本课知识点

  • ✓四大件合体才是Harness
  • ✓一个文件一件事
  • ✓报错回传模型,让它自救
第11课完成!继续探索下一课吧 🚀