掘金 人工智能 07月28日 15:23
让AI从话痨变成老中医:连续对话的实现秘密
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了如何通过“连续思考”(Sequential Thinking)技术,将AI从容易健忘、缺乏条理的“金鱼”模式,转变为像“老中医”一样有条不紊、步步为营的智能助手。通过引入“问诊清单”、“病例本”和“作弊小抄”三大法宝,并辅以“打住!等等!”的禁言机制、超级大脑的记忆能力以及按流程办事的逻辑,AI得以在对话中保持耐心,记住关键信息,并主动引导话题,有效解决了传统AI在复杂交互场景下的不足。这一技术革新不仅适用于医疗问诊,还能广泛应用于教育、法律、商务等需要深度对话和信息梳理的领域,让AI在解决实际问题时更加得心应手。

🧠🔥 解决AI健忘症:通过引入“病例本”机制,AI能够像拥有“超级大脑”一样,记住完整的对话历史和关键信息,每次交互都能基于过往内容进行,而非从零开始,从而实现“有记性”的连续对话,避免了用户需要反复介绍背景信息的困扰。

🎯📝 摆脱无章法困境:文章提出为AI设计“问诊清单”和“作弊小抄”,明确了AI在对话中应遵循的步骤和任务。AI不再需要用户时刻指导,而是能够自主规划问诊流程,根据设定的步骤有条理地进行提问和分析,成为对话中的“导演”。

💬✨ 告别被动与话痨:通过“打住!等等!”的机制,AI学会了在适当的时候保持沉默,等待用户反馈,避免了传统AI的“停不下来”的问题。同时,AI也能主动引导对话,按流程推进,成为一个有策略、有重点的“有用的话痨”。

🛠️🎯 Sequential Thinking工具的核心在于模拟人类专家的思维和对话模式,通过管理对话状态、存储关键信息和遵循预设流程,让AI在复杂场景下表现出更强的连贯性、主动性和条理性,这对于需要深度理解和信息整合的应用至关重要。

git地址:github.com/lovelyqun/M…

当我想让AI像医生一样问诊时,发现它总是忘记前面说啥,或者问完一个问题就停不下来。

传统AI交互模式:

🧑‍💻 "我肚子疼。"🤖 "好的,肚子疼可能是...,需要进一步检查...,建议你做...检查 巴拉巴拉..."

看似说了很多,其实啥也没说。🤦‍♂️

显然不行。所以我做了个实验——让AI学会"连续思考",像真正的专家一样有条理地引导整个对话。今天就来聊聊这个有趣的Sequential Thinking实现。

🔄 老式AI vs 新式AI:差别在哪?

老式AI:像个"金鱼"🐟

// 天气查询 - 典型的金鱼记忆server.tool("get_weather", {city}, async ({city}) => {  const weather = generateWeatherData(city);  return formatWeatherInfo(weather); // 说完就忘,下次重来});

金鱼特色:

新式AI:像个"老中医"👨‍⚕️

// 医生助手 - 步步为营,环环相扣server.tool("assistant-doctor", {sessionId, thought, action}, async (params) => {  const session = loadOrCreateSession(params); // 翻出病历本    if (session.waitingForPatientResponse) {    return "WAITING_FOR_USER_INPUT"; // 闭嘴,听病人说话  }    // 下一步该问啥,心里有数  const nextStep = getNextDiagnosisStep(session);  return formatGuidedQuestion(nextStep);});

老中医特色:

🏥 让AI变身老中医:实战案例解析

看病这事儿,是个技术活。医生不会上来就给你开药,而是要:

    👂 听你描述哪里不舒服(主诉)🔍 追问细节:"怎么个疼法?" (症状详询)📋 了解病史:"以前得过啥病?"(病史采集)🩺 看看检查结果(体格检查)🧠 综合分析,给出诊断

这是一套标准动作,不能乱。传统AI就像个莽撞的实习医生🩺👶,想到哪说到哪。而我们的Sequential Thinking MCP就是要让AI变身老中医👨‍⚕️✨,有条不紊地问诊。

三大法宝,让AI变聪明

法宝一:给AI一个"问诊清单"📋

function getMedicalDiagnosisSteps() {  return [    {      type: "question",      content: "今天哪里不舒服?啥时候开始的?",      waitForResponse: true,      responseKey: "chief_complaint"    },    {      type: "question",       content: "具体咋疼的?刺痛还是胀痛?",      waitForResponse: true,      responseKey: "symptom_details"    },    // ... 还有好几步,一步都不能少  ];}

法宝二:给AI一个"病例本"📝

const session = {  id: "medical_xxx",           // 病历号  problem: "肩膀疼",           // 主要毛病  currentStep: 3,              // 现在问到第几个问题了  totalSteps: 7,               // 总共要问几个  waitingForPatientResponse: true,  // 是不是在等病人说话  consultationSteps: [],       // 完整的问诊记录  patientResponses: {}         // 病人说过的话,分类记好};

法宝三:教AI啥时候该说话,啥时候该闭嘴

// 简单粗暴的逻辑if (病人刚说完话 && 有新信息) {  把话记到小本本上();  翻到下一页();    if (下一个问题需要病人回答) {    return "闭嘴,等病人说话";  }} else {  继续按流程走();}

🧠 揭秘:三个小技巧让AI变得有耐心

技巧一:教AI学会"打住!等等!"

你知道最难的是什么吗?让AI闭嘴!传统AI就像话痨,一开口就停不下来。但老中医问诊时,问完一个问题就得等病人回答,不能自说自话。

// 这招太绝了:给AI下个"禁言令"if (session.waitingForPatientResponse) {  return `⚠️ 暂停!现在轮到病人说话了👨‍⚕️ 刚才问的是: ${session.currentQuestion}💡 AI你别抢话,等等真人回答--- 此处必须停止,等待真实用户输入 ---  `;}

这招咋管用的:

技巧二:给AI配个"超级大脑"

还记得那个七秒记忆的金鱼吗?我们得给AI换个脑子!这个新脑子不但记性好,还很有条理。

// AI的新大脑长这样:const session = {  id: "medical_xxx",  currentStep: 3,                    // 问到第几个问题了  totalSteps: 7,                     // 总共要问几个  waitingForPatientResponse: true,   // 现在是不是该病人说话  consultationSteps: [               // 完整的聊天记录    {      step: 1,      content: "哪里不舒服?",      patientResponse: "肩膀疼,疼了一个月了",      timestamp: "2025-01-01T10:00:00Z"    },    // ... 每一轮对话都记得清清楚楚  ],  patientResponses: {                // 重要信息分类整理    "chief_complaint": "肩膀疼,疼了一个月了",    "symptom_details": "胀痛,上班时特别严重"  }};

这脑子有多厉害:

技巧三:给AI写个"作弊小抄"

最后一招是关键!就像考试时偷偷带小抄一样,我们给AI准备了一个问诊流程表,按着这个来,保准不会乱套。

// AI的问诊小抄function getMedicalDiagnosisSteps() {  return [    {      type: "question",      content: "哪里不舒服?啥时候开始的?",      waitForResponse: true,  // 这里要等病人回答      responseKey: "chief_complaint"    },    {      type: "question",       content: "具体咋疼的?什么情况下疼得厉害?",      waitForResponse: true,  // 这里也要等      responseKey: "symptom_details"    },    {      type: "analysis",      content: "让我琢磨琢磨你这症状...",      waitForResponse: false  // 这里AI自己分析,不用等    }    // ... 照着这个流程一步步来  ];}// AI按小抄办事function processNextStep(session, userInput) {  const 当前步骤 = getMedicalDiagnosisSteps()[session.currentStep - 1];    if (需要等病人说话 && 病人刚说了话) {    记到小本本上(userInput);    翻页到下一步();  } else if (该AI自己琢磨了) {    开始分析();    继续下一步();  }    return 问下一个问题();}

小抄的威力:

🛠️ 代码实现:五分钟看懂精髓

怎么注册这个神奇的工具

server.tool(  "assistant-doctor",           // 工具名,简单粗暴  "AI老中医问诊助手",          // 描述,一目了然  {    problem: "病人主要毛病",    // 比如"肩膀疼"    thought: "刚才说了啥",      // 病人的回答或AI的分析    sessionId: "病历号",        // 用来找到对应的聊天记录    action: "干啥"              // 开始、继续、还是结束  },  async (参数) => {    // 根据不同情况,做不同的事    switch (参数.action) {      case 'start':   return 开始问诊(参数.problem);      case 'continue': return 继续问诊(参数.sessionId, 参数.thought);      case 'complete': return 结束问诊(参数.sessionId);    }  });

跟普通工具有啥区别?

普通工具(比如天气查询):

🧑‍💻:"北京天气咋样?"🤖:"晴天,25度。" // 说完就完事,没有下文 🔚

我们的Sequential Thinking工具:

👨‍⚕️ AI"哪里不舒服?"🤒 你:"肩膀疼"👨‍⚕️ AI"咋疼的?刺痛还是胀痛?"🤒 你:"胀痛,上班时厉害"👨‍⚕️ AI"那让我再问问你的病史..."// 一步步深入,像真正的医生 🎯

🎯 这玩意儿到底有啥用?

解决了AI的三大老毛病

    健忘症晚期 🧠🔥

      以前:每次对话都要重新介绍自己,累人 😰现在:AI有了好记性,聊过的都记得 📚✨

    没有章法 🤯

      以前:用户得当导演,告诉AI下一步该干啥 🎬👀现在:AI自己就是导演,按流程办事 🎯📝

    太被动 😴

      以前:你不问我不说,典型社恐 🙈现在:AI会主动问问题,像个话痨(但是有用的话痨)💬✨

还能用在哪些地方?

基本上,只要是需要"一步步深入了解"的场景,都能用上这招。

🔮 最后说两句

让AI学会了"耐心" —— 该等你说话时就等着,该自己思考时就思考,不抢话,不乱套。这可比那些话痨AI强多了!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Sequential Thinking AI问诊 连续思考 智能助手 人机交互
相关文章