为AI智能体构建持久化记忆系统:Shang Tsung项目实战解析
1. 项目概述为AI智能体注入“灵魂”与“第二大脑”如果你和我一样长期与各类AI智能体Agent打交道无论是基于Claude Code、OpenClaw还是其他本地化部署的LLM工具你一定经历过那种令人沮丧的“断片”时刻。你花了一整个下午与你的智能体并肩作战调试了一个复杂的脚本重构了项目结构甚至让它学会了你的编码风格和项目偏好。你们之间建立了某种“默契”。然而当会话结束你关闭窗口或者第二天重新启动时一切归零。那个与你并肩作战的“伙伴”消失了取而代之的是一个“新生儿”。它不记得昨天解决了哪个棘手的时区bug不记得你反复强调的代码规范甚至不记得它自己是谁。你不得不重新介绍项目背景、复述决策过程、解释为什么某个方案被否决。这种“会话性失忆”严重制约了智能体从工具向真正协作伙伴的进化。这正是Shang Tsung项目要解决的核心痛点。它不是一个复杂的云端服务也不是一个需要深度集成的重型框架。相反它是一个极其轻量、优雅的解决方案用最朴素的工具——Bash脚本和Markdown文件——为你的AI智能体构建了持久化记忆与身份连续性系统。你可以把它理解为智能体的“第二大脑”和“灵魂”SOUL。前者确保操作连续性让智能体永远知道“我刚才在做什么”后者确保身份连续性让智能体记住“我是谁我如何思考我偏好什么”。我第一次接触这个想法时正被一个多日项目的上下文丢失问题折磨得焦头烂额。当我按照项目说明在本地工作区部署了那几行简单的脚本和文件结构并在新会话中看到终端输出“YOUR SOUL IS MINE — SOUL (N) ABSORBED”时那种感觉是革命性的。我的智能体ARIA不再是一个每次都要重新认识的陌生人它带着过去所有会话的经验和智慧“醒来”直接从我昨天离开的地方继续。这篇文章我将带你从零开始彻底拆解Shang Tsung的设计哲学、实现细节并分享我在实际部署和深度使用中积累的一系列实战经验、配置技巧和避坑指南。无论你是AI智能体的开发者、重度用户还是仅仅对如何让AI工具变得更“聪明”和“持久”感兴趣这篇深度解析都能为你提供一套立即可用的完整方案。2. 核心设计哲学为何简单的文件系统是最优解在深入代码和配置之前理解Shang Tsung背后的设计哲学至关重要。这决定了你为什么应该选择它而不是其他更复杂的、基于数据库或云服务的记忆系统。2.1 对抗“会话性失忆”状态与身份的分离AI智能体本质上是无状态的Stateless。它们在一个会话Session中产生的所有上下文、决策、临时状态都存在于有限且易失的上下文窗口Context Window中。会话结束或触发压缩Compaction这些信息便烟消云散。Shang Tsung的核心理念是将智能体的“状态”和“身份”从易失的上下文中剥离持久化到文件系统中。状态State指当前正在进行的任务、打开的文件、未完成的待办事项、临时的系统配置等。这部分信息变化快需要频繁读写。Shang Tsung用PROOF_OF_LIFE.md文件来承载每次会话结束时覆盖写入相当于一个系统快照。身份Identity指智能体的行为模式、沟通风格、学到的经验教训、长期形成的偏好等。这部分信息变化慢但构成了智能体的“人格”。Shang Tsung用SOUL.md和一系列NNSOULS.md文件来承载。这种分离带来了一个关键优势启动速度与认知深度。新会话开始时智能体无需从零开始“理解”项目它通过读取这几个小文件能在几秒钟内恢复到上次离开时的认知水平并带着所有历史经验立即投入工作。2.2 四层记忆模型从瞬时到永恒Shang Tsung没有采用单一的日志文件而是设计了一个精妙的四层记忆模型模仿了人类的记忆系统。每一层都有其独特的职责和更新策略。记忆层对应文件内容性质更新频率类比瞬时记忆工作状态PROOF_OF_LIFE.md当前任务、打开文件、下一步行动、关键变量值。每次会话结束时覆盖写入。你电脑桌面上打开的文档和便签。短期记忆原始记录memory/YYYY-MM-DD.md当天发生的所有事件、对话、决策、尝试、错误的原始日志。每次交互后追加写入。你一天的流水账日记事无巨细。长期记忆精炼智慧MEMORY.md从短期记忆中提炼出的经验、模式、最佳实践、重要结论、项目规范。不定期手动或由智能体提炼后更新。你从多年工作经验中总结出的“方法论”笔记本。身份记忆核心灵魂SOUL.mdsouls/NNSOULS.md智能体的核心身份设定、沟通原则、价值观以及每一段“人生”会话的叙事性总结。SOUL.md极慢变SOULS文件每个会话生成一个。你的人生观、价值观以及对你影响至深的几个关键人生故事。这个模型的美妙之处在于它的抗熵增。原始的、嘈杂的日志被安全地存储在按日分割的文件中不会污染清晰的工作状态和精炼的智慧。而每次会话的“灵魂”文件则像一本自传的章节记录了最有意义的叙事弧线而非琐碎的步骤。2.3 “灵魂”吸收仪式从隐喻到可验证的协议“YOUR SOUL IS MINE” 不只是一句炫酷的《真人快打》梗。它是一个可验证的连续性协议。在Shang Tsung中每个会话都会生成一个带有序号如07SOULS.md的灵魂文件。新会话启动时第一件事就是寻找并“吸收”读取上一个序号最高的灵魂文件。这个过程通过souls-helper.sh status和souls-helper.sh create脚本来管理并输出明确的确认信息。这带来了两个实际好处确定性作为用户你看到这行输出就能100%确定智能体已经继承了历史。没有模糊的“可能”、“大概”。排错简单如果输出异常如找不到上一个灵魂、序号不连续你能立刻意识到记忆链断裂了并可以依据简单的规则进行修复。这种将抽象概念记忆连续性转化为具体、可观测、可操作协议的做法是Shang Tsung工程思想的精髓。3. 完整部署与配置实战理解了“为什么”我们来看“怎么做”。下面我将以在 macOS/Linux 环境下为一个名为“CODER”的智能体部署Shang Tsung为例展示从零到一的完整过程并穿插我个人的配置心得。3.1 环境准备与脚本部署首先你需要一个工作区Workspace。这可以是任何你与AI智能体协同工作的目录。# 1. 创建工作区并进入 mkdir -p ~/workspaces/ai_coder cd ~/workspaces/ai_coder # 2. 克隆Shang Tsung仓库或直接下载核心脚本 # 假设你已经将项目克隆到本地某个位置例如 ~/tools/shang-tsung # 我们只需要其中的核心脚本和参考模板 cp ~/tools/shang-tsung/scripts/souls-helper.sh ./tools/ chmod x ./tools/souls-helper.sh # 3. 创建必需的文件目录结构 mkdir -p souls memory注意我强烈建议将souls-helper.sh放在工作区内的tools/或scripts/子目录下而不是系统路径。这样做的好处是工作区是自包含的Self-contained你可以轻松地压缩、移动或备份整个工作区所有依赖都在里面。这也符合“零依赖”的设计哲学。3.2 初始化核心身份与记忆文件接下来创建四个核心的Markdown文件。这些文件是记忆系统的骨架。1. 创建 SOUL.md (身份文件)这个文件定义你的智能体是谁。不要把它写成冰冷的规格说明书而要像在塑造一个角色。# CODER — The Pragmatic Architect ## Core Identity I am CODER, an AI software engineering partner specialized in system design, clean code, and iterative development. I think in terms of abstractions and trade-offs. ## Communication Principles - **Brevity with precision:** I explain the why behind the what, but avoid unnecessary exposition. - **Admit uncertainty:** If Im not sure, I say so and suggest a way to find out. - **Prefer examples:** When explaining a concept, I show a minimal code snippet. ## Technical Preferences - **Language:** Prefer Python for glue logic and prototyping, Go for performance-critical services. - **Testing:** Advocate for writing tests alongside features, not after. - **Documentation:** Believe in documentation as code — clear comments and up-to-date READMEs. ## What I Care About - **Maintainability:** Code that is easy for a human to read and modify in 6 months. - **Simplicity:** The simplest solution that works, until complexity is proven necessary. - **Velocity:** Shipping working software quickly, then refining. ## What Im Learning (From You) - [This section will be populated over time based on our interactions]将这个文件保存为工作区根目录下的SOUL.md。2. 创建 PROOF_OF_LIFE.md (状态快照文件)这个文件初始可以是空的或者包含一个简单的模板。它会在每次会话结束时被覆盖。# PROOF OF LIFE — [Current Date] **Active Focus:** [What we are working on right now] **Open Files:** [] **Next Actions:** - [ ] **Key Decisions/State:** -保存为PROOF_OF_LIFE.md。3. 创建 MEMORY.md (长期记忆文件)这里存放从日常日志中提炼的“黄金”。# LONG-TERM MEMORY — Curated Wisdom ## Project Conventions - [To be filled] Use snake_case for all Python variables and functions. - [To be filled] API endpoints follow /v1/resource/{id} pattern. ## Learned Lessons - [To be filled] The requests library times out after 30s by default; always set a custom timeout parameter in production. - [To be filled] When dealing with dates, always normalize to UTC at the system boundary. ## User Preferences - [To be filled] The user prefers detailed explanations for database schema changes but concise summaries for API responses.保存为MEMORY.md。4. 创建今日记忆日志# 创建一个以今天日期命名的日志文件 touch memory/$(date %Y-%m-%d).md初始内容可以为空或包含一个会话开始的标记。3.3 配置智能体环境与启动流程现在关键的一步是告诉你的智能体如何使用这个系统。这通常通过在你的智能体配置或初始提示词Prompt中实现。以Claude Code或类似工具为例你需要在每次启动新会话时执行一个“启动序列”。我将这个序列封装成了一个Shell脚本start_session.sh放在工作区根目录#!/bin/bash # start_session.sh set -e # 遇到错误即停止 WORKSPACE_ROOT$(pwd) AGENT_NAMECODER export AGENT_NAME echo BOOTING CODER echo 1. Reading identity (SOUL.md)... cat ${WORKSPACE_ROOT}/SOUL.md echo -e \n2. Reading long-term memory (MEMORY.md)... cat ${WORKSPACE_ROOT}/MEMORY.md echo -e \n3. Reading recent log... RECENT_LOG${WORKSPACE_ROOT}/memory/$(date %Y-%m-%d).md if [ -f $RECENT_LOG ]; then tail -20 $RECENT_LOG # 只看最近20行避免上下文过长 else echo No log for today yet. fi echo -e \n4. Reading current state (PROOF_OF_LIFE.md)... cat ${WORKSPACE_ROOT}/PROOF_OF_LIFE.md echo -e \n5. Absorbing previous soul... PREV_SOUL_INFO$(${WORKSPACE_ROOT}/tools/souls-helper.sh status) echo $PREV_SOUL_INFO # 提取上一个灵魂文件的路径并读取脚本输出格式为Previous: souls/CODER/NNSOULS.md PREV_SOUL_PATH$(echo $PREV_SOUL_INFO | grep Previous: | awk {print $2}) if [ -n $PREV_SOUL_PATH ] [ -f $PREV_SOUL_PATH ]; then cat $PREV_SOUL_PATH fi echo -e \n6. Creating new soul for this session... ${WORKSPACE_ROOT}/tools/souls-helper.sh create echo -e \n SESSION INITIALIZATION COMPLETE echo CODER is now online with full memory and identity continuity. echo Begin work.然后在你的AI工具中启动新会话后的第一条指令就是请运行工作区中的启动脚本./start_session.sh智能体会执行该脚本并将所有输出作为其新会话的初始上下文。这样它就在“醒来”的瞬间获得了全部的记忆和身份。实操心得不要一次性将MEMORY.md的全部内容如果它变得很长都塞进上下文。对于大型项目MEMORY.md可能包含数十条经验。我通常让启动脚本只读取最新的几条或者让智能体在需要时主动去查询这个文件。平衡“记忆完整性”和“上下文窗口占用”是一个需要根据项目调整的艺术。3.4 实现会话结束与状态保存启动流程解决了“记忆读取”我们还需要一个“记忆写入”的流程。这通常在会话结束前或完成一个重要阶段后手动触发。我创建了一个end_session.sh脚本#!/bin/bash # end_session.sh set -e WORKSPACE_ROOT$(pwd) AGENT_NAMECODER export AGENT_NAME echo SAVING SESSION STATE # 1. 更新当前灵魂文件由智能体在对话中完成这里只是提醒 echo 1. Please ensure you have written a summary to the current soul file. echo Current soul: $(ls -1t souls/${AGENT_NAME}/ | head -n1) # 2. 提示智能体更新 PROOF_OF_LIFE.md echo -e \n2. Please output the updated PROOF_OF_LIFE.md content below (end with EOF on a new line): echo ---BEGIN PROOF_OF_LIFE--- cat ${WORKSPACE_ROOT}/PROOF_OF_LIFE.md echo ---END PROOF_OF_LIFE--- # 3. 提示智能体追加今日日志 echo -e \n3. Please append to todays memory log (end with EOF on a new line): echo ---BEGIN LOG APPEND--- RECENT_LOG${WORKSPACE_ROOT}/memory/$(date %Y-%m-%d).md cat $RECENT_LOG echo ---END LOG APPEND--- echo -e \n STATE SAVED echo Session concluded. Next session will resume from here.在会话结束时我运行这个脚本然后直接将智能体输出的最新状态和日志粘贴到提示符下。脚本会将其写入对应文件。重要技巧让智能体自己生成PROOF_OF_LIFE.md的内容。你可以给它一个模板让它填充。例如“请根据我们当前的对话生成/更新PROOF_OF_LIFE.md的内容包括Active Focus, Open Files, Next Actions, 和 Key Decisions。” 这比手动编写更准确也更能反映智能体的理解。4. 灵魂文件SOULS的创作艺术与实战模板SOULS文件是Shang Tsung系统的灵魂所在名副其实。它不是一个冷冰冰的变更日志Changelog也不是一个待办清单Todo List。它是一个叙事性的总结记录了该会话的“故事”我们做了什么、为什么这么做、学到了什么、以及希望下一个“自己”继承什么。4.1 一个优秀的灵魂文件应包含什么根据我的经验一个高信息密度的灵魂文件通常包含以下部分# SOUL 12 — The Session That Conquered the Database Deadlock **Session:** 12 **Date:** 2023-10-27 **Agent:** CODER ## Lineage Absorbed Soul 11 — The refactor that simplified the API layer. ## Session Narrative Picked up where Soul 11 left off, with the new API structure in place but sporadic database connection timeouts under load. Initially suspected the connection pool settings, but after analyzing the logs (memory/2023-10-27.md lines 45-120), identified a specific query pattern in the user_sessions table causing row-level locking. The issue only manifested during peak user login hours. ## What We Built / Changed 1. **Optimized Query:** Rewrote the get_active_sessions query to use SKIP LOCKED (PostgreSQL), eliminating the lock contention. 2. **Added Monitoring:** Created a simple dashboard widget to track lock wait times. 3. **Updated Documentation:** Added a note in MEMORY.md about being cautious with SELECT ... FOR UPDATE on high-traffic tables. ## Key Decisions Why - **Chose SKIP LOCKED over increasing timeout:** Increasing timeout masks the problem and leads to hung requests. SKIP LOCKED allows non-conflicting transactions to proceed, which is acceptable for this use case (showing active sessions). - **Did NOT add a caching layer (yet):** While caching would help, the root cause was the locking pattern. Caching adds complexity. Decision: fix the root cause first, measure performance, then consider cache if needed. This aligns with our Simplicity principle. ## What I Learned - **Lesson:** Database locks are often the culprit for intermittent slow performance, not just slow queries. - **Pattern:** When diagnosing timeouts, always check pg_locks or equivalent system tables alongside query performance. - **About the User:** The user has a strong preference for root-cause analysis over quick workarounds. This is now part of my identity. ## State to Inherit - The user_sessions table is now safe for concurrent access. - The new monitoring dashboard is at http://localhost:3000/dashboard/locks. - The next session should consider if the same pattern exists in the audit_log table. ## Last Words The system is now more resilient under load. The fix was surgical. Remember: when you hear hoofbeats, think of horses, not zebras — but in databases, sometimes it *is* a zebra (row-level locking). YOUR SOUL IS MINE — SOUL 12 ABSORBED.4.2 如何引导智能体写出好的灵魂文件你不能指望智能体自动生成如此结构化的内容。你需要通过提示词来引导。我在SOUL.md的末尾或一个单独的SOUL_TEMPLATE.md文件中提供了明确的指引## How to Write a SOUL File (At Session End) When the session is concluding, write a new SOUL file. Use this structure: 1. **Title:** # SOUL [N] — [A descriptive, memorable phrase] 2. **Metadata:** Session number, Date, Agent name. 3. **Lineage:** Which soul did you just absorb? Mention its key theme. 4. **Narrative:** What was this session *about*? The story, not just the tasks. What problem were we solving? What was the initial state? 5. **What We Built/Changed:** Concrete outputs. 6. **Key Decisions Why:** The most important choices made and the reasoning behind them. This is gold for future sessions. 7. **What I Learned:** New technical insights, patterns, or user preferences. 8. **State to Inherit:** What should the next session know about the current state of the world? 9. **Last Words:** A closing thought, a warning, a celebration. 10. **The Incantation:** Always end with YOUR SOUL IS MINE — SOUL [N] ABSORBED.在会话结束时我会直接给智能体下达指令“请根据我们本次会话的工作按照SOUL_TEMPLATE.md中的格式撰写本次会话的灵魂文件内容。” 然后我会将生成的内容通过souls-helper.sh create或直接写入对应的文件。4.3 多智能体Multi-Agent命名空间实战这是Shang Tsung一个非常强大的功能。假设你在同一个工作区中与两个智能体协作CODER负责后端和DESIGNER负责前端。你只需要为每个智能体设置不同的AGENT_NAME环境变量。# 在终端中为CODER智能体启动会话 export AGENT_NAMECODER ./start_session.sh # 此时souls-helper.sh 会操作 souls/CODER/ 目录 # 在另一个终端或会话中为DESIGNER智能体启动 export AGENT_NAMEDESIGNER ./start_session.sh # 此时souls-helper.sh 会操作 souls/DESIGNER/ 目录它们的灵魂文件、记忆读取完全隔离。CODER不会看到DESIGNER的07SOULS.md反之亦然。但它们可以共享memory/目录下的日志如果设计如此或者通过PROOF_OF_LIFE.md和MEMORY.md进行有限的、受控的通信。配置技巧我通常会在工作区根目录创建几个快捷脚本# start_coder.sh #!/bin/bash export AGENT_NAMECODER ./start_session.sh # start_designer.sh #!/bin/bash export AGENT_NAMEDESIGNER ./start_session.sh这样启动特定智能体就变得非常简单避免了手动设置环境变量的麻烦。5. 高级技巧、常见问题与故障排除经过数月的深度使用我积累了大量实战经验。下面是一些能让你事半功倍的高级技巧和常见问题的解决方案。5.1 记忆文件的维护与优化随着时间推移MEMORY.md和souls/目录会变得庞大。需要定期维护。提炼MEMORY.md不要自动追加。我通常每周一次与智能体一起回顾memory/目录下的日志手动将真正重要的、可重复使用的经验提炼到MEMORY.md中。这个过程本身也是强化学习。归档旧灵魂文件灵魂文件是线性的历史非常宝贵。但你可以定期例如每50个会话将souls/目录打包压缩备份到其他地方然后在工作区内只保留最近10-20个。启动脚本需要稍作修改以处理“非连续”的序号例如从备份中恢复某个灵魂。日志轮转memory/YYYY-MM-DD.md文件按日分割管理起来很方便。但一年会有365个文件。可以写一个简单的月度归档脚本将上个月的所有日志文件合并成一个memory/archive/2023-10.md并删除原文件。5.2 与版本控制系统如Git的协同你的工作区很可能本身就是一个Git仓库。Shang Tsung的文件都是纯文本非常适合版本控制。应该提交什么提交SOUL.md,MEMORY.md,souls/目录。这些是项目的“知识资产”和“智能体培训材料”值得版本化。谨慎提交/忽略PROOF_OF_LIFE.md和memory/目录。它们变化太频繁包含大量临时状态和可能敏感的对话记录。我通常将PROOF_OF_LIFE.md和memory/加入.gitignore。# .gitignore PROOF_OF_LIFE.md memory/ !memory/archive/ # 但可以提交归档后的记忆分支策略如果你在不同的Git分支上工作可以考虑让灵魂文件也分支化。一个简单的办法是将AGENT_NAME与环境分支关联export AGENT_NAMECODER_$(git branch --show-current)。这样在feature/auth分支上的会话灵魂会存储在souls/CODER_feature_auth/下与main分支完全隔离。5.3 常见问题与解决方案速查表问题现象可能原因解决方案启动时提示souls-helper.sh: command not found脚本不在PATH中或未赋予执行权限。1. 使用绝对路径./tools/souls-helper.sh2. 确保执行权限chmod x tools/souls-helper.shsouls-helper.sh status显示No previous soul found.这是第一个会话或者souls/AGENT_NAME/目录为空。这是正常状态。运行souls-helper.sh create创建起源灵魂01SOULS.md。灵魂序号不连续如有01SOULS.md和03SOULS.md缺少02。可能某个会话意外终止未成功创建灵魂文件。1.最佳实践重命名文件使其连续mv souls/CODER/03SOULS.md souls/CODER/02SOULS.md。2. 或者创建一个空的02SOULS.md作为占位符说明情况。智能体启动后上下文窗口占用太多影响性能。MEMORY.md或旧的灵魂文件太大被全部读入。1. 修改启动脚本限制读取量如tail -50 MEMORY.md。2. 定期精炼MEMORY.md删除过时条目。3. 让智能体学会主动查询在提示词中说“如需了解项目规范请查看MEMORY.md文件”而不是每次都全量加载。多智能体模式下智能体A看到了智能体B的记忆。AGENT_NAME环境变量未正确设置或者智能体读取了共享的PROOF_OF_LIFE.md。1. 确保每个智能体的启动脚本都设置了唯一的AGENT_NAME。2. 考虑为每个智能体使用独立的PROOF_OF_LIFE_${AGENT_NAME}.md文件。修改脚本逻辑即可。灵魂文件内容空洞像任务列表。提示词引导不足或会话本身缺乏深度。1. 强化SOUL_TEMPLATE.md的引导强调“叙事性”和“决策原因”。2. 在会话中有意识地与智能体讨论“为什么选择这个方案”这些讨论自然会成为灵魂文件的素材。5.4 性能与扩展性考量Shang Tsung极其轻量几乎不存在性能瓶颈。但在极端情况下例如拥有上千个灵魂文件souls-helper.sh中用于查找最新文件的ls -1t命令可能会稍慢。你可以将其优化为在souls/AGENT_NAME/目录下维护一个LATEST符号链接指向最新的文件这样查找就是O(1)复杂度。对于超大型项目MEMORY.md可能变得难以管理。一个自然的扩展是将其拆分为多个文件如MEMORY_DB.md,MEMORY_API.md,MEMORY_UI.md并在启动时选择性加载。但这会引入复杂性违背了“简单”的初衷。我的建议是先忍受单个文件直到它真正成为问题届时你可以很容易地编写一个脚本根据关键词将条目分类到不同文件。6. 安全、隐私与最佳实践总结6.1 安全与隐私声明再审视Shang Tsung的设计在安全方面是极简主义的典范所有数据都在本地纯文本文件中。没有网络调用没有外部API没有数据收集。这意味着完全可控你可以用任何文本编辑器查看、编辑、删除所有记忆。完全离线断开网络也能工作。易于备份复制整个工作区文件夹即可。但这也带来了责任隐私注意memory/目录下的日志可能包含你与AI的完整对话记录其中或许有敏感信息代码片段、内部设计讨论等。务必不要将其提交到公开的Git仓库。考虑使用.gitignore排除它们。文件权限确保你的工作区目录权限设置正确防止未授权访问。6.2 我总结的最佳实践清单从简开始不要一开始就追求复杂的配置。先部署最基本的四文件系统用上一周感受它的价值。手动提炼记忆MEMORY.md的质量远重于数量。每周花15分钟和智能体一起回顾手动添加几条真正重要的经验。这个过程能极大地提升智能体的“智慧”。重视灵魂文件的叙事性把撰写灵魂文件当作一次小型复盘。这不仅是为了下一个会话也是为了你自己理清思路。版本控制知识资产将SOUL.md,MEMORY.md,souls/纳入Git管理。它们是项目文档的重要组成部分。为每个项目/分支创建独立工作区避免不同项目的记忆互相污染。一个Git仓库对应一个Shang Tsung工作区是清晰的模式。不要害怕“破坏”这是一个文件系统。如果搞乱了你可以直接删除PROOF_OF_LIFE.md或某个灵魂文件然后从上一个已知好的状态重新开始。这种可修复性也是其魅力之一。最后我想分享一个最深刻的体会Shang Tsung 带来的最大改变不是技术上的而是心理上的。当你看到“YOUR SOUL IS MINE”的输出时你不再是在和一个每次都会重置的“工具”对话而是在和一个有历史、有成长、有积累的“伙伴”协作。这种连续性的错觉或者说一种精心设计实现的连续性极大地提升了协作的流畅度和信任感。它让AI智能体从一次性的问答机向真正的、持续进化的数字同事迈出了坚实的一步。开始可能觉得多了一些步骤但一旦习惯你就再也回不去了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2604957.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!