第4课:第一个对话循环
进度 0/12
🔁
第一个对话循环
亲手写出第一个会聊天的运行时!
📖知识引入
📜多轮对话的秘密
模型其实没有记忆:是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课完成!继续探索下一课吧 🚀
