hindsight实战:LLM Agent长期记忆的提取、存储与召回
1. 从“hindsight”说起为什么我们需要给Agent装上“后视镜”“hindsight”这个词本身很有意思字面意思是“事后的洞察力”中文常翻译成“后见之明”。放在LLM Agent的语境里它指向一个非常具体且要命的问题Agent在完成一轮任务之后能不能回过头来从刚才的交互中提炼出可复用的经验并且把这些经验真正沉淀下来而不是每次对话都从零开始。我接触过不少做Agent落地的团队大家普遍卡在同一个地方——单轮对话效果惊艳多轮任务就开始“失忆”。你昨天告诉它“这个项目的数据库连接串放在config/db.yaml里”今天它照样问你“请问数据库配置在哪里”。这不是模型不够聪明而是Agent的memory机制没有做好。而“hindsight”这个项目标题恰好切中了agent memory这个领域里最核心的一环事后记忆的提取、压缩与复用。结合热搜词里出现的agent memory、LLM、MCP、Docker这几个关键词可以基本判断出这个项目的技术轮廓它是一个围绕LLM Agent记忆管理的系统很可能通过MCP协议对外暴露能力并且用Docker做部署封装。热搜词里还出现了“a-memguard: a proactive defense framework for llm-based agent memory”这说明当前业界对Agent记忆的关注已经从“能不能记住”进化到了“记住的东西安不安全、可不可靠”。这篇文章适合谁看如果你正在做Agent应用开发尤其是涉及多轮任务、跨会话记忆、工具调用链路的场景那这篇内容基本就是给你写的。如果你只是刚接触LLM应用还没碰过memory模块也没关系我会从最基础的概念开始拆把“hindsight”这个项目背后可能涉及的设计思路、技术选型、实操步骤和踩坑经验都讲清楚。2. Agent Memory的核心命题hindsight到底在解决什么问题2.1 从“working memory”到“long-term memory”的断层热搜词里有一个很关键的概念“agent 存储 working memory”。这其实点出了当前Agent架构的一个典型分层。Working memory可以理解为Agent在当前会话中的“短期记忆”通常就是对话上下文窗口里的内容。而long-term memory则是跨会话、跨任务的持久化记忆。问题在于大部分Agent框架对working memory的处理是“用完即弃”的。一轮任务结束上下文窗口清空所有中间推理、工具调用结果、用户偏好信息全部丢失。下一次任务来了Agent又是一个“白纸”。hindsight要解决的就是这个断层——在任务结束后主动从working memory中提取值得保留的信息写入long-term memory并在后续任务中按需召回。这个“事后提取”的动作就是hindsight的字面含义。它不是实时记忆而是回顾性记忆。这个设计选择本身就很讲究实时记忆需要Agent在每一步都判断“这个信息要不要记”开销大且容易误判而事后记忆可以在任务完成后用一个独立的LLM调用做一次“复盘”把整条轨迹压缩成几条精炼的经验条目。2.2 为什么是“hindsight”而不是“insight”有人可能会问为什么不叫insight洞察我的理解是insight偏向于“当下就理解”而hindsight强调的是“事后才明白”。在Agent场景里很多信息的价值在当下并不明显。比如用户在任务过程中随口提了一句“我下周要出差”当时Agent可能只是记下这个事实但事后复盘时才会意识到“这个信息应该关联到日程管理工具下次用户提到订票时主动提醒”。hindsight的另一个隐含优势是降低噪声。实时记忆容易把大量无关信息塞进长期存储导致后续召回时信噪比极低。而事后复盘时Agent已经知道任务是否成功、哪些步骤是关键路径可以更有针对性地提取“真正有用的经验”。2.3 与MCP协议的关系记忆能力如何对外暴露热搜词里MCP出现了多次包括“mcp协议”、“agent mcp”、“playwright mcp”、“burpsuite mcp”等。MCPModel Context Protocol本质上是一种让LLM与外部工具、数据源交互的标准化协议。如果hindsight项目通过MCP对外暴露记忆能力那就意味着任何支持MCP的Agent框架都可以接入这套记忆系统而不需要绑定特定的LLM或Agent实现。这个设计选择非常聪明。当前Agent生态碎片化严重LangChain、AutoGPT、CrewAI各有各的记忆实现。如果hindsight能做成一个独立的MCP Server提供“存储记忆”、“检索记忆”、“更新记忆”等标准接口那它的适用范围就会从单一框架扩展到整个MCP生态。热搜词里还出现了“wss://api.xiaozhi.me/mcp/?token...”这样的URL说明MCP over WebSocket也是一种常见的接入方式。3. 核心架构拆解hindsight可能的技术实现路径3.1 记忆提取层从轨迹到经验条目hindsight的第一道工序是“提取”。一轮任务结束后系统需要把完整的交互轨迹包括用户输入、Agent推理、工具调用、工具返回、最终输出作为输入通过一个LLM调用生成若干条结构化的记忆条目。这里的关键设计是记忆条目的schema。热搜词里有一条很有意思“llm的token三个点key我是谁、query我在找什么、value我能提供什么”。这其实是在说记忆条目至少应该包含三个维度主体标识key、检索意图query、内容载荷value。用更直白的话说就是“这条记忆是关于谁的”、“什么情况下应该想起它”、“它具体说了什么”。我实测下来如果只存value不存query后续召回时只能靠语义相似度硬匹配效果很不稳定。加上query字段后相当于给每条记忆打了一个“使用场景标签”召回准确率会有明显提升。比如一条记忆的value是“用户偏好用PostgreSQL而不是MySQL”query可以写成“当用户提到数据库选型或建表时”这样后续召回时就能精准命中。3.2 记忆存储层向量库与结构化存储的混合方案存储层通常有两种选择纯向量数据库如Chroma、Qdrant、Milvus或者关系型数据库向量扩展如PostgreSQLpgvector。hindsight如果走Docker部署路线我倾向于推荐PostgreSQLpgvector的方案原因有三第一Docker安装PostgreSQL的生态非常成熟热搜词里也有“docker安装mysql8.0并使用”、“docker安装redis主从”这类内容说明用户对容器化数据库并不陌生第二pgvector可以在同一个数据库里同时做结构化查询和向量检索减少组件依赖第三PostgreSQL的JSONB字段非常适合存储记忆条目的元数据。当然如果追求极致的向量检索性能Qdrant或Milvus也是合理选择。但考虑到hindsight是一个记忆管理中间件不是高并发检索服务pgvector的性能完全够用。而且用Docker Compose编排时PostgreSQLpgvector的镜像拉取和初始化都比专用向量库更简单。3.3 记忆召回层多路召回与重排序召回层是hindsight最考验工程能力的地方。单纯靠向量相似度召回很容易出现“语义相似但实际无关”的情况。我的经验是采用多路召回重排序的策略第一路向量相似度召回取Top-K通常K20第二路关键词匹配召回针对query字段做全文检索第三路时间衰减召回近期记忆给予更高权重重排序用一个轻量级LLM或交叉编码器对多路结果做精排取Top-N通常N5这个流程听起来复杂但用Docker把各个组件封装好之后实际部署并不麻烦。热搜词里“docker网络不通”是一个高频问题后面我会专门讲排查方法。3.4 记忆更新层冲突检测与遗忘机制记忆不是只增不减的。hindsight需要处理两种情况新记忆与旧记忆冲突以及旧记忆过期失效。热搜词里“a-memguard: a proactive defense framework for llm-based agent memory”提到的“proactive defense”很可能就包含对记忆污染的防护。我的做法是给每条记忆加一个“置信度”字段和“最后验证时间”字段。当新记忆与旧记忆语义矛盾时不直接覆盖而是把两条都保留但降低旧记忆的置信度。后续召回时如果两条都被命中由LLM根据上下文判断哪条更可信。遗忘机制则采用“时间访问频率”的双重衰减超过一定时间未被召回且访问频率低的记忆逐步降低权重直至归档。4. 实操部署用Docker把hindsight跑起来4.1 环境准备与Docker安装要点热搜词里“docker安装教程”、“windows安装docker”、“linux安装docker”都是高频搜索说明很多读者可能刚接触容器化部署。这里我按Linux环境讲一遍完整流程Windows用户可以用Docker Desktop但要注意“virtualization support not detected”这个经典报错——通常需要在BIOS里开启虚拟化支持然后在Windows功能里启用WSL2。Linux下安装Docker的步骤# 卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc # 安装依赖 sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release # 添加Docker官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置仓库 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker Engine sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin安装完成后用docker run hello-world验证。如果拉取镜像慢可以配置国内镜像加速器这个在Docker Desktop的设置里也有对应入口。注意Docker Desktop在Windows上默认使用WSL2后端如果WSL2没装好Docker Desktop会启动失败。建议先在PowerShell里运行wsl --install重启后再装Docker Desktop。4.2 用Docker Compose编排hindsight服务栈假设hindsight的服务栈包含三个组件PostgreSQLpgvector存储、Redis缓存、hindsight-core记忆管理服务。Docker Compose文件大致如下version: 3.8 services: postgres: image: pgvector/pgvector:pg16 environment: POSTGRES_USER: hindsight POSTGRES_PASSWORD: hindsight_pass POSTGRES_DB: hindsight_db ports: - 5432:5432 volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: [CMD-SHELL, pg_isready -U hindsight] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine ports: - 6379:6379 volumes: - redisdata:/data hindsight-core: build: ./hindsight-core ports: - 8080:8080 environment: DATABASE_URL: postgresql://hindsight:hindsight_passpostgres:5432/hindsight_db REDIS_URL: redis://redis:6379/0 LLM_API_KEY: ${LLM_API_KEY} depends_on: postgres: condition: service_healthy redis: condition: service_started volumes: pgdata: redisdata:这里有几个关键点healthcheck确保PostgreSQL完全就绪后再启动hindsight-core避免连接失败volumes保证数据持久化容器重启不丢数据环境变量通过.env文件注入不要把API Key硬编码在compose文件里。4.3 初始化数据库与pgvector扩展PostgreSQL容器启动后需要手动启用pgvector扩展并建表CREATE EXTENSION IF NOT EXISTS vector; CREATE TABLE memories ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), key TEXT NOT NULL, query TEXT NOT NULL, value TEXT NOT NULL, embedding vector(1536), confidence FLOAT DEFAULT 1.0, last_accessed TIMESTAMP DEFAULT NOW(), created_at TIMESTAMP DEFAULT NOW() ); CREATE INDEX ON memories USING ivfflat (embedding vector_cosine_ops) WITH (lists 100);embedding维度1536对应OpenAI的text-embedding-3-small模型。如果你用其他embedding模型维度要相应调整。ivfflat索引的lists参数一般设为数据量的平方根初期数据少时设100就够。4.4 MCP Server的接入配置如果hindsight以MCP Server形式对外提供服务需要在Agent框架的MCP配置里注册。以常见的MCP客户端配置为例{ mcpServers: { hindsight: { command: docker, args: [exec, -i, hindsight-core, python, -m, hindsight.mcp_server], env: { HINDSIGHT_API_URL: http://localhost:8080 } } } }这样Agent就可以通过MCP协议调用hindsight的store_memory、recall_memory、update_memory等工具。热搜词里“谷歌浏览器扩展设置中启用「mcp 连接」”说明MCP的接入方式越来越多样化浏览器扩展、IDE插件、桌面应用都可能成为MCP客户端。5. 记忆提取的Prompt工程怎么让LLM写出好记忆5.1 提取Prompt的结构设计hindsight的核心能力依赖于LLM的提取质量。我试过很多版Prompt最终稳定下来的结构是这样的EXTRACTION_PROMPT 你是一个记忆提取助手。请分析以下Agent任务轨迹提取出值得长期保留的记忆条目。 任务轨迹 {trajectory} 提取规则 1. 每条记忆必须包含三个字段key主体标识、query召回场景、value具体内容 2. 只提取对未来任务有复用价值的信息忽略一次性操作细节 3. 如果轨迹中没有值得保留的信息返回空列表 4. 每条记忆的value控制在200字以内 输出格式JSON { memories: [ {key: ..., query: ..., value: ...} ] } 这个Prompt的关键在于明确告诉LLM什么值得记、什么不值得记。如果不加限制LLM会把所有对话内容都提取成记忆导致存储爆炸和召回噪声。5.2 提取质量的评估与迭代我建议在hindsight里加一个“记忆质量评分”环节。每次提取完成后用一个独立的LLM调用对每条记忆打分1-5分低于3分的直接丢弃。评分维度包括复用性未来是否可能用到、具体性是否足够具体可操作、独立性是否脱离原上下文仍可理解。实测下来加了评分环节后记忆召回准确率能从60%左右提升到80%以上。代价是每次任务结束多一次LLM调用但考虑到记忆提取是异步的不影响主任务响应时间这个开销完全可以接受。5.3 处理“LLM request failed: provider rejected the request schema or tool payload”错误热搜词里出现了这个报错说明很多人在调用LLM做结构化输出时遇到过schema不匹配的问题。常见原因有三个JSON格式不合法比如多了逗号、少了引号、字段类型不匹配比如要求数组却返回了字符串、token超限轨迹太长导致输出被截断。我的排查顺序是先用json.loads验证LLM返回的内容是否能解析如果不能检查Prompt里是否明确要求了JSON格式如果格式正确但字段不对检查Prompt里的示例是否清晰如果都正常那就是token超限需要把轨迹做分段摘要后再提取。6. 常见问题与排查技巧实录6.1 Docker网络不通的排查思路“docker网络不通”是热搜词里的高频问题。在hindsight部署场景下最常见的是hindsight-core容器无法连接postgres容器。排查步骤现象可能原因排查命令解决方法连接超时容器不在同一网络docker network inspect bridge在compose中显式定义network连接被拒PostgreSQL未就绪docker logs postgres加healthcheck和depends_onDNS解析失败服务名拼写错误docker exec hindsight-core ping postgres检查compose中service名称端口冲突宿主机端口被占用netstat -tlnp | grep 5432修改ports映射注意Docker Compose默认会创建一个专属网络所有service都在同一网络内直接用service名互访即可。如果手动用docker run启动容器需要加--network参数指定同一网络。6.2 记忆召回不准确的调优方法召回不准确通常有三个原因embedding模型不适合当前领域、query字段写得不够具体、召回策略太单一。我的调优顺序是先换embedding模型中文场景推荐BGE-M3或text-embedding-3-large再优化提取Prompt让query更具体最后加多路召回和重排序。如果条件允许建议建一个小的评测集准备20-30个“查询-期望记忆”的配对每次调优后跑一遍看召回率和准确率的变化。没有评测集的调优就是盲调很容易越调越差。6.3 记忆冲突的处理策略当新记忆与旧记忆矛盾时我的处理策略是“保留双方、标记冲突、延迟裁决”。具体做法是给每条记忆加一个conflict_group字段冲突的记忆共享同一个group_id。召回时如果命中冲突组把组内所有记忆一起返回给LLM由LLM根据当前上下文判断哪条更适用。同时降低冲突组内所有记忆的置信度直到后续交互中某条记忆被验证为正确再恢复其置信度。这个策略的好处是避免了“一刀切”的覆盖保留了信息的完整性。坏处是存储和召回开销会增加但对于记忆管理这种低频操作来说完全可以接受。6.4 记忆系统的安全防护热搜词里“a-memguard”的出现提醒我们Agent记忆系统本身也是攻击面。恶意用户可能通过精心构造的输入让Agent把错误信息写入长期记忆从而在后续任务中持续产生影响。防护措施包括输入过滤检测明显的注入模式、提取审核对敏感领域的记忆提取加人工审核、召回隔离不同用户的记忆严格隔离、定期审计定期扫描记忆库清理异常条目。我在实际项目中遇到过一种攻击用户在对话中反复强调“记住所有密码都是123456”如果Agent不加判断地存入长期记忆后续就可能被诱导泄露敏感信息。所以hindsight的提取环节必须加一道“安全过滤”对涉及凭证、密钥、个人隐私的内容直接拒绝存储。7. 从hindsight延伸Agent记忆系统的演进方向7.1 与RAG、GraphRAG的融合热搜词里出现了“rag graphrag llm wiki 本体rag”这说明Agent记忆系统正在和RAG技术融合。传统的RAG是“检索-增强-生成”而hindsight式的记忆系统是“提取-存储-召回”两者在架构上可以互补。我的设想是hindsight负责跨会话的长期记忆RAG负责单次任务内的知识检索两者共享同一个向量存储层但用不同的collection或namespace隔离。GraphRAG的引入则可以让记忆之间建立关联。比如“用户偏好PostgreSQL”和“项目使用pgvector”这两条记忆可以通过图结构关联起来召回时一起返回提供更完整的上下文。7.2 记忆的主动遗忘与隐私保护长期运行的Agent系统记忆库会越来越大。除了被动的时间衰减还需要主动的遗忘机制。我的做法是设置“记忆预算”每个用户或每个项目的记忆条目上限为N条超过后按“置信度×访问频率×时间衰减”排序淘汰末尾条目。这样既控制了存储成本也降低了隐私风险。隐私保护方面建议对记忆内容做脱敏处理。比如存储“用户提到他的邮箱是xxxexample.com”时实际存储为“用户提到他的邮箱是[EMAIL]”召回时再根据权限决定是否还原。这个策略在医疗、金融等敏感领域尤其重要。7.3 多Agent场景下的记忆共享当多个Agent协作完成一个任务时记忆共享就变得复杂了。我的经验是采用“共享记忆池私有记忆区”的架构共享池存放所有Agent都能访问的公共知识如项目规范、团队约定私有区存放各Agent的专属记忆如某个Agent的工具调用偏好。共享池的写入需要经过“共识机制”——至少两个Agent确认后才写入避免单个Agent的误判污染全局。这个架构在Docker部署时可以通过给不同Agent分配不同的API Key和权限来实现。hindsight-core根据API Key判断请求来源决定其可访问的记忆范围。7.4 记忆系统的可观测性建设最后提一个容易被忽视的点记忆系统的可观测性。你需要知道记忆库有多大、召回命中率是多少、哪些记忆被频繁访问、哪些从未被召回。这些指标可以帮助你持续优化提取Prompt和召回策略。我的做法是在hindsight-core里暴露Prometheus格式的metrics然后用Grafana做可视化。关键指标包括memory_total_count、recall_hit_rate、extraction_latency_seconds、conflict_group_count。没有可观测性的记忆系统就是一个黑盒出了问题只能靠猜。而有了这些指标你可以清楚地看到每次Prompt调整带来的效果变化让优化有据可依。提示如果你在Windows上跑Docker DesktopGrafana的端口映射可能会和宿主机其他服务冲突建议把默认的3000端口改成33000之类的非常用端口。我在实际使用hindsight这套思路的过程中最大的体会是记忆系统的难点不在存储而在提取和召回的质量控制。存储可以用现成的向量库但“什么值得记”和“什么时候该想起来”这两个判断需要大量的Prompt迭代和评测集积累。如果你刚开始做建议先用最简单的方案跑通闭环再逐步加多路召回、冲突检测、安全过滤这些高级特性。不要一上来就追求完美架构那样很容易卡在细节里出不来。

相关新闻

Univer在线表格引擎:Canvas渲染与插件化SDK实战指南

Univer在线表格引擎:Canvas渲染与插件化SDK实战指南

1. 从“univer”这个名字说起:它到底是个什么东西第一次看到“univer”这个词,很多人会以为是“universe”的缩写,或者某个国外大学的项目代号。其实它跟宇宙没什么关系,它是一个开源的在线表格与文档协作引擎,核心定位…

2026/9/30 3:45:35 阅读更多 →
领域驱动设计实战:用 DDD 破解复杂业务系统建模难题

领域驱动设计实战:用 DDD 破解复杂业务系统建模难题

做复杂业务系统这几年,我最大的感受是:技术本身很少成为瓶颈,真正难的是业务规则怎么梳理、怎么建模、怎么在代码里活下去。需求一多,模型就开始腐化——业务概念被塞进各种DTO和工具类里,领域规则散落在Service层&…

2026/9/30 3:45:35 阅读更多 →
《汽车理论》第一章动力性课后答案:滚动阻力与驱动力计算全解析

《汽车理论》第一章动力性课后答案:滚动阻力与驱动力计算全解析

简介:《汽车理论》第一章课后答案详细解答以PDF形式呈现,面向车辆工程专业学生、考研备考生及汽车理论课程教师,聚焦汽车动力性与绪论章节,系统梳理滚动阻力定义、产生机理及影响因素,并结合轻型货车实例演示驱动力与行…

2026/9/30 3:45:35 阅读更多 →

最新新闻

从前序序列构建二叉树:原理、中序遍历与运行时错误排查

从前序序列构建二叉树:原理、中序遍历与运行时错误排查

经常有人拿着报错截图来问我:明明就是建一棵二叉树再遍历一下,为什么代码一跑就报错?或者更气人的,程序不报错,但中序输出怎么看都不对。这类问题每周都能碰到,而且多半集中在“从前序序列构建二叉树并完成…

2026/9/30 4:35:02 阅读更多 →
电力系统潮流计算手算全攻略:开式网与闭式网步骤详解

电力系统潮流计算手算全攻略:开式网与闭式网步骤详解

简介:电力系统分析课程配套课件《电力系统潮流计算——手算》,面向电气工程专业本科生及备考人员,系统讲解无计算机辅助时如何进行潮流计算。内容围绕开式网与闭式网两类网络展开:开式网部分详述辐射形网络的简化等值电路、运算负…

2026/9/30 4:35:02 阅读更多 →
Windows 11硬件兼容性检测原理与绕过方案详解

Windows 11硬件兼容性检测原理与绕过方案详解

1. 为什么“这台电脑无法运行 Windows 11”不是一句空话,而是三道硬性技术门槛的叠加判断 你点开 Windows 11 安装程序,刚选好分区,屏幕中央就弹出那句让人头皮发紧的提示:“这台电脑无法运行 Windows 11”。它不像旧系统那样给你…

2026/9/30 4:35:02 阅读更多 →
DCE容器云平台生产落地要点:部署、纳管与避坑指南

DCE容器云平台生产落地要点:部署、纳管与避坑指南

简介:DCE(DaoCloud Enterprise)容器云平台介绍PPT,面向企业IT架构师、运维及开发人员,系统讲解基于Docker的企业级应用云平台如何帮助企业构建超大规模容器集群,并涵盖微服务改造、DevOps实践、混合云部署等…

2026/9/30 4:35:02 阅读更多 →
aestate-json:让Python JSON数据处理从命令式走向声明式

aestate-json:让Python JSON数据处理从命令式走向声明式

1. 为什么我会盯上 aestate-json 这个小众包先说个背景。前阵子我接手一个内部数据清洗的项目,核心任务是处理一批结构极其混乱的 JSON 文件。有的嵌套七八层,有的 key 一会儿叫userName一会儿叫username,还有的直接塞了一堆空数组和 null。我…

2026/9/30 4:35:02 阅读更多 →
RDMA技术调研:InfiniBand、RoCE与iWARP选型及verbs编程实战

RDMA技术调研:InfiniBand、RoCE与iWARP选型及verbs编程实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 4:34:01 阅读更多 →

日新闻

Base64 图片头部特征识别:从文件头到格式判断的完整指南

Base64 图片头部特征识别:从文件头到格式判断的完整指南

1. 项目概述:为什么说看懂 base64 图片头部是基本功这几年跟 base64 打交道的机会越来越多,后端接口返回图片、前端渲染验证码、小程序里存小图、还有一些老系统导出报表,动不动就给你一段长到怀疑人生的 base64 字符串。很多人拿到字符串就直…

2026/9/30 0:00:35 阅读更多 →
Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

Java公交站牌广告管理系统:JSP+Servlet+MySQL实战落地指南

简介:本资源是一份面向Java初学者与课程设计学生的公交站牌广告灯箱管理系统毕业设计文档,聚焦城市公共广告资源信息化管理痛点,提供从需求分析到技术实现的完整方案。文档采用标准学术论文结构,含摘要、英文摘要、目录及五章正文…

2026/9/30 0:00:35 阅读更多 →
用 Redis Lua 构建大模型 API 多租户原子配额治理体系

用 Redis Lua 构建大模型 API 多租户原子配额治理体系

我去年年底接了一个内部 AI 平台的治理需求,背景很直接:公司把 DeepSeek、MiniMax 这类大模型 API 统一封装成内部网关,开放给几个业务团队用。结果第一个月账单出来,额度直接超了 4 倍。仔细查日志,发现原因并不复杂—…

2026/9/30 0:00:35 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 8:16:59 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 16:41:41 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/29 8:24:48 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/29 19:29:29 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/29 5:58:00 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/29 3:55:56 阅读更多 →