惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
Arctic Wolf
M
MIT News - Artificial intelligence
博客园_首页
人人都是产品经理
人人都是产品经理
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
SecWiki News
SecWiki News
Help Net Security
Help Net Security
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
H
Heimdal Security Blog
Jina AI
Jina AI
Hacker News: Ask HN
Hacker News: Ask HN
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
T
Threatpost
AWS News Blog
AWS News Blog
H
Help Net Security
L
LINUX DO - 最新话题
有赞技术团队
有赞技术团队
A
About on SuperTechFans
G
GRAHAM CLULEY
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Recorded Future
Recorded Future
L
Lohrmann on Cybersecurity
Webroot Blog
Webroot Blog
O
OpenAI News
Schneier on Security
Schneier on Security
月光博客
月光博客
P
Privacy International News Feed
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
L
LangChain Blog
罗磊的独立博客

LangChain Forum - Latest posts

Proposal: additional docs for implementing custom DB checkpointers or a guide on generic base checkpointer Langsmith Fleet Sandbox Failure Prompt_cache_retention: &#39;24h&#39; supported in langchain agents and where to provide it, inside invoke or while creating client? Could RAG pipelines realistically cause deployment timeouts, is Render suitable for first-time RAG deployments? How do I use langchain_postgres&#39; init_vectorstore_table correctly? Proposal: Graph-wide default error handler for StateGraph (fallback for nodes without error_handler) Support timedelta for CachePolicy.ttl, consistent with TimeoutPolicy The x402 illusion: Is advertising dead in the age of agents? Question about LangSmith Trace Search via API How to cancel a run correct !! Anyone confirms this issue that deepagent ui streaming is disturb by update in deepagent or bug issue Would pre-inference routing help long-context agent workflows? Best Stack for Building AI Applications Question about LangSmith Trace Search Seeking help regarding the connection between Websocket and tool calls Tool invocation error with empty error message when using `InjectedState` + `Command` return in async tool How to use @langchain/react FileSystem middleware Using ChatSnowflake with agents Built llmsessioncontract on AgentMiddleware: runtime enforcement of tool-call protocols — feedback wanted DeltaChannelHistory not found in langgraph-api:3.12 Improving citation accuracy and reducing hallucinations in custom Parent-Child RAG pipeline (Gemma3:4B + FAISS+BM25 + Cross-encoder reranker) Metadata filter not filtering for alerts Connecting the Slack integration fails with invalid_team_for_non_distributed_app Trouble understanding and editing experiment summary evaluators feedbacks SSL certificate error from httpx with LangGraph server WikipediaLoader endup in JSONDecodeError Human-in-the-loop approval dashboard for LangGraph agents — open source, free to deploy How are people handling data governance across agent handoffs in production? Feature Request: @task metadata Research: Friction Points in Agentic Commerce Transactions How should I provide an agent to a LangGraph server? Parallel astream() on the same compiled graph leaks messages between streams How I added claim verification to a LangChain agent in 5 minutes (with code) Interested in contributing a DynamoDB checkpointer for LangGraph.js A set of speculative ideas on treating LLM agents as interpreters with limited working memory, using externalized structures for reliable long-term project maintenance. Where should I define the name and description for subagents? Add Qdrant-backed checkpoint saver and memory store (langgraph-checkpoint-qdrant) The output content has been corrupted Incorrect `reasoning_effort` options in the UI A Minimal Receipt + Validator Pattern for Tool-Calling Agents Feature Request: Simple cryptographic provenance for who authorized what in LangGraph multi-agent graphs Using LangGraph interrupt for multi-step wizards with branching — right tool or wrong abstraction? Portable departure and admission records for LangChain agents Socratic Tools: Intelligent Agent Enhancement for LangChain Built NORNR for spend governance in agent workflows LangGraph + PostgreSQL: Chat history and summarization best practice Using SQLRecordManager multi-agent systems debugging agent-to-agent Proposal: Add save_local and load_local to USearch VectorStore (Feature Parity with FAISS) How are you handling agent security in production? (Identity, permissions, kill switch) RFC: Human delegation provenance for LangGraph multi-agent chains Build UX for Langgraph Tiny LangGraph -> Assay evidence sample from tasks v2 tool isolation between Skills: Bug: Cannot save edited prompt back to Prompt Hub after opening trace run in Playground Add faiss-node-native as async alternative vector store for FAISS Deep Agents: Clarify Multimodal (Image) Context Management and Compression Discussion about why LangGraph JS ToolNode doesn’t inject ToolRuntime.state like Python does, and what the correct workaround or intended design pattern is. xat-langchain: signed Agent-Signature headers on every tool call Help with local RAG pipeline – poor retrieval quality, wrong page numbers Building an AI networking agent (LangChain vs LangGraph vs Deep Agents)? LOGIC.md — declarative reasoning contracts that compile to LangGraph StateGraph Distinguishing internal vs final streamed chunks in Supervisor multi-agent architecture Machine-Readable Permissions for Web-Interacting Agents Are people hitting race conditions in multi-agent LangChain setups? How do ContextEditingMiddleware and SummarizationMiddleware interact when used together?Combining ContextEditingMiddleware + SummarizationMiddleware — execution order and behavior when both trigger? How we add runtime security to LangChain agents in production What does recursionLimit actually count in createAgent? (LangChain JS) LangSmith Playground returns 401 Invalid token for both /stream and /invoke across accounts How to register type in langgraph Are there any frontends for interacting with a LangGraph agent? Langchain.schema is not available while using in python code In-place model update on a compiled create_agent and per-subagent model update for deep agents - is this possible? Physical control surface for AI agents — feedback wanted Feature Request: Native Support for A2A Protocol (Remote Agents as Sub-Graphs) Feature Request: Image Input support for ChatMistralAI Cache disable in Deepagent Multiple response formats when creating agents? Unable to parse docstring from OpenAI schema Hosting an agent server on Heroku Enable OpenTelemetry traces without sending data to LangSmith No cost displayed in LangSmith when using LiteLLM + LangGraph Course certificate I had a few months Experience with across Agent deploys remotegraph calls - old/new dist runtime architecture Runs visiblty problem AI Agent Identity Management Framework How should I deploy a self-hosted multi-agent system? Free Self-hosted LangGraph Agent Server: how to separate API and queue workers using Docker LangSmith signup stuck on activation screen New integration: langchain-w2a — LangChain tools for W2A-enabled websites Custom routes not working self-hosted standalone Trace-to-Fix: how are you actually improving RAG/agents after observability flags issues? `Failed to use model_dump to serialize <class 'langchain_core.tools.structured.StructuredTool'> to JSON: PydanticSerializationError(Unable to serialize unknown type: <class 'pydantic._internal._model_construction.ModelMetaclass'>)` `PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/` BaseSandbox.write() fails if file already exists -- any way to overwrite? What does the security architecture of AI agents actually look like? LangMem support in JS/TS Are dynamic tool lists allowed when using create_agent? How to make an image tool?
Persisting HITL payloads
warrenseine · 2026-02-14 · via LangChain Forum - Latest posts
Hello! I’m trying to persist HITL payloads in the AIMessage additional_kwargs . To do so, I send() a channel update with the updated message to include it in a checkpoint save. It works when I set durability="exit" but I then lose the progressive persistence. With either “async” (default) or “sync”, I get unreliable results, but most of the time, the last message in the checkpoint won’t contain the extra payload when I resume the conversation. From what I can read, “async” will only save when the next node runs. If a user reloads the conversation before approving/rejecting the HITL prompt, the state won’t be saved, right? Is there a way to combine the benefits of “exit” and “async”? Or is my approach to retain pending interrupts fundamentally wrong? Note: I’ve had a look at these related threads, but couldn’t find exactly what I’m looking for: Steaming interrupt, if unresolved on reload bad state How to update graph state while preserving interrupts? I’m attaching a minimal, self-contained test case. Replace durability="exit" with something else to make it fail. from __future__ import annotations from typing import Annotated, TypedDict import pytest from langchain_core.messages import AIMessage, HumanMessage from langchain_core.runnables import RunnableConfig from langgraph._internal._constants import CONFIG_KEY_SEND from langgraph.checkpoint.memory import InMemorySaver from langgraph.config import get_config from langgraph.constants import START from langgraph.graph import StateGraph from langgraph.graph.message import AnyMessage, add_messages from langgraph.types import Command, interrupt class State(TypedDict): messages: Annotated[list[AnyMessage], add_messages] @pytest.mark.anyio async def test_human_hitl_interrupt_checkpoint_behavior(): """Minimal repro: persist AIMessage additional_kwargs before interrupt and after resume.""" checkpointer = InMemorySaver() node_name = "pause_node" persisted_payload = "payload" def node(state: State) -> None: # Persist metadata onto the latest AI message before pausing. latest_ai_message = next( (msg for msg in reversed(state["messages"]) if isinstance(msg, AIMessage)), None, ) assert latest_ai_message is not None latest_ai_message.additional_kwargs["hitl_payload"] = persisted_payload configurable = get_config().get("configurable", {}) send = configurable.get(CONFIG_KEY_SEND) assert callable(send) send([("messages", [latest_ai_message])]) interrupt("pause") return None graph = ( StateGraph(State) .add_node(node_name, node) .add_edge(START, node_name) .compile(checkpointer=checkpointer) ) config = RunnableConfig( configurable={"thread_id": "test-thread-interrupt-repro", "checkpoint_ns": ""} ) result = graph.invoke( { "messages": [ HumanMessage(content="Do something"), AIMessage(content="Request approval", id="assistant-1"), ] }, config, durability="exit", ) assert "__interrupt__" in result latest_before_resume = await anext(checkpointer.alist(config=config, limit=1), None) assert latest_before_resume is not None channel_values_before_resume = latest_before_resume.checkpoint.get( "channel_values", {} ) messages_before_resume = channel_values_before_resume.get("messages", []) persisted_ai_before_resume = next( (msg for msg in reversed(messages_before_resume) if isinstance(msg, AIMessage)), None, ) assert persisted_ai_before_resume is not None assert persisted_ai_before_resume.id == "assistant-1" assert ( persisted_ai_before_resume.additional_kwargs.get("hitl_payload") == persisted_payload ) graph.invoke(Command(resume="approved"), config, durability="exit") latest_after_resume = await anext(checkpointer.alist(config=config, limit=1), None) assert latest_after_resume is not None channel_values_after_resume = latest_after_resume.checkpoint.get( "channel_values", {} ) messages_after_resume = channel_values_after_resume.get("messages", []) persisted_ai_after_resume = next( (msg for msg in reversed(messages_after_resume) if isinstance(msg, AIMessage)), None, ) assert persisted_ai_after_resume is not None assert persisted_ai_after_resume.id == "assistant-1" assert ( persisted_ai_after_resume.additional_kwargs.get("hitl_payload") == persisted_payload ) 8 posts - 4 participants Read full topic