Skip to content

先做出一个 Chatbot

第一模块真正的起点,不是先讲理论,而是先把一个最小 chatbot 跑起来。


这节课解决什么问题

  • 一个最小 chatbot 到底最少需要哪些部分
  • 一次聊天请求是怎么从用户输入走到模型回复的
  • 为什么说 chatbot 是 Agent 的前一层

最小 chatbot 只要 4 个东西

  1. 一个模型
  2. 一组消息历史 messages
  3. 一次用户输入
  4. 一次模型回复

只要你能把这 4 个东西接起来,就已经有了后面所有 Agent 的对话内核。


最小版本长什么样

ts
const messages = [
  {
    role: 'system',
    content: '你是一个简洁的编程助理。',
  },
  {
    role: 'user',
    content: '解释一下什么是闭包',
  },
]

const response = await callModel(messages)

messages.push({
  role: 'assistant',
  content: response,
})

用户继续追问时,再追加一条 user 消息,然后把整组 messages 再发给模型。

这就是最小 chatbot。


它为什么还不是 Agent

因为它现在还只是:

  • 用户说一句
  • 模型回一句

它还没有:

  • 围绕目标持续推进任务
  • 自己决定下一步动作
  • 调工具后继续执行

所以这一步先解决“能聊”,后面才进入“能做事”。


本节产物

  • 一个命令行里的最小 chatbot
  • 一份单轮和双轮对话样例
  • 一张从用户输入到模型回复的最小链路图

课堂实作

  • 跑通一次 system + user + assistant 的完整链路
  • 让 chatbot 支持第二轮追问
  • 观察不带历史和带历史时,回答有什么差异

并入项目

这一课会成为后面所有 Agent 项目的最小对话入口。

面试会怎么问

  • 最小 chatbot 需要哪些状态
  • chatbot 和 Agent 的最小差别是什么

大齐 AI 课堂 · 程序员的 Agent 开发课