🐵指尖猴全新升级
第4课:第一个对话循环
🔁

第一个对话循环

亲手写出第一个会聊天的运行时!

📖知识引入

📜多轮对话的秘密
模型其实没有记忆:是Harness把历史消息一次次重发给API
➕消息追加
用户说话追加一条user,模型回答追加一条assistant,滚动记录
🔁while循环驱动
读输入→发请求→存回复→打印,四步一圈,循环是运行时的心跳
👋退出条件
用户输入「退出」时break跳出循环,程序优雅谢幕
💡
断点小实验:打印每次发出的messages,你会亲眼看到「记忆」其实是重发的聊天记录

🔍十几行代码的命令行聊天室

messages = []  # 对话的「记忆本」:每次请求都全文重发

while True:
    user_input = input("你:")
    if user_input == "退出":
        break  # 用户喊停,循环结束
    messages.append({"role": "user", "content": user_input})

    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=messages,  # 把全部历史一起发过去
    )
    reply = response.content[0].text
    messages.append({"role": "assistant", "content": reply})
    print("AI:", reply)

这就是最小Harness:靠重发历史「骗」出记忆,靠循环撑起整场对话

🎯小测验

第1题:大模型为什么能「记住」上一轮对话?

第2题:模型回复后,正确的处理是?

第3题:while True循环里,break的作用是?

📝本课知识点

  • ✓多轮对话=重发全部历史
  • ✓回复必须append进messages
  • ✓循环是运行时的心跳
第4课完成!继续探索下一课吧 🚀