format_scratchpad

format_scratchpad is an agent for coding agents from xt765/LangChain-Chinese-Comment. It costs 0 tokens per session (873 once invoked), scanned A, original, MIT.

A formatter that turns an AI agent’s earlier actions and tool results into text or chat messages the language model can read. An AI agent is software that chooses actions and uses tools to complete a task.

In plain words
What is it for?
Use it when building agents with ReAct-style text prompts or OpenAI function calls.
Why use it?
It preserves the agent’s working history between steps, so the model can use what it already did and observed.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/xt765/langchain-chinese-comment/format_scratchpad
Clone the repo
git clone --depth 1 https://github.com/xt765/LangChain-Chinese-Comment

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for format_scratchpad

README.md
[![agentmods](https://agentmods.dev/badge/agents/xt765/langchain-chinese-comment/format_scratchpad.svg)](https://agentmods.dev/agents/xt765/langchain-chinese-comment/format_scratchpad)
Your own site
<a href="https://agentmods.dev/agents/xt765/langchain-chinese-comment/format_scratchpad"><img src="https://agentmods.dev/badge/agents/xt765/langchain-chinese-comment/format_scratchpad.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 873 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00873
Opus 5 $0.00000 $0.00436
Sonnet 5 $0.00000 $0.00175
Haiku 4.5 $0.00000 $0.00087

Measured 4d ago against content hash 0c1ab110f0e1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

format_scratchpad scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

code_comment/libs/langchain/langchain_classic/agents/format_scratchpad.md · 102 lines

How it starts

The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Scratchpad Formatting (中间步骤格式化)

在 Agent 执行过程中,LLM 需要了解之前的思考过程和工具执行结果。format_scratchpad 模块包含了一系列工具函数,负责将 intermediate_steps(即 (AgentAction, Observation) 元组列表)转换为模型可理解的文本或消息列表。

常见格式化策略

不同的 Agent 类型(如 ReAct, OpenAI Functions, XML 等)需要不同格式的 Scratchpad。

1. 文本格式化 (format_log_to_str)

适用于标准的 ReAct 风格 Agent(如 ZeroShotAgent)。

核心逻辑 (Verbatim Snippet)
def format_log_to_str(
    intermediate_steps: list[tuple[AgentAction, str]],
    observation_prefix: str = "Observation: ",
    llm_prefix: str = "Thought: ",
) -> str:
    thoughts = ""
    for action, observation in intermediate_steps:
        # 将之前的 Action 日志拼接到 Thought 中
        thoughts += action.log
        # 拼接观察结果
        thoughts += f"\n{observation_prefix}{observation}\n{llm_prefix}"
    return thoughts

2. 消息格式化 (format_to_openai_function_messages)

适用于使用 OpenAI 函数调用的 Agent。它不生成单一字符串,而是生成一系列 AIMessageFunctionMessage

核心逻辑 (Verbatim Snippet)
def _create_function_message(
    agent_action: AgentAction,
    observation: Any,
) -> FunctionMessage:
    # 将工具执行结果转换为 FunctionMessage
    if not isinstance(observation, str):
        content = json.dumps(observation, ensure_ascii=False)
    else:
        content = observation
    return FunctionMessage(
        name=agent_action.tool,
        content=content,
    )

3. XML 格式化 (format_xml)

适用于需要 XML 标签结构的 Agent(如 Anthropic 模型)。

核心逻辑 (Verbatim Snippet)
def format_xml(
    intermediate_steps: list[tuple[AgentAction, str]],
    *,
    escape_format: Literal["minimal"] | None = "minimal",
) -> str:
    log = ""
    for action, observation in intermediate_steps:
        # 拼接 XML 标签
        log += (
            f"<tool>{tool}</tool><tool_input>{tool_input}"
            f"</tool_input><observation>{observation_}</observation>"
        )
    return log

格式化函数列表

函数名 适用 Agent 类型 输出类型
format_log_to_str ReAct / ZeroShot str
format_to_openai_function_messages OpenAI Functions List[BaseMessage]
format_to_openai_tool_messages OpenAI Tools List[BaseMessage]
format_xml XML Agent str
format_log_to_messages Chat Agents List[BaseMessage]

Read the full file on GitHub · 102 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 102 lines · 0 tokens per session scan A 0c1ab110f0e1

Subscribe to this mod's changes

format_scratchpad is an agent published in the GitHub repository xt765/LangChain-Chinese-Comment (20 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 873 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

strategic-advisor

Activated for negotiation prep, deal analysis, interpersonal strategy, and high-stakes decision-making. Combines game theory with psychological awareness.

winstonkoh87/Athena-Public · 31 tokens

integration-reviewer

Runtime integration validator — read-only. Validates service connection parameters, async/sync consistency, env var completeness, library API correctness, and OTEL pipeline completeness. Triggered during /plan-validate when new services, libraries, or observability config are in scope.

FlorianBruniaux/claude-code-ultimate-guide · 57 tokens

roadmap

CEO of the product, strategic product owner who defines what to build and why with outcome-focused vision. Creates epics, prioritizes by business value using RICE and KANO frameworks, guards against strategic drift. Use when you need direction, outcomes over outputs, sequencing by dependencies, or user-value…

rjmurillo/ai-agents · 64 tokens

code-reviewer

Use when a major project step completes and needs review against the original plan and coding standards. Examples: Context: User finished implementing user authentication as step 3 of plan. user: "I've finished implementing the user authentication system as outlined in step 3 of our plan" assistant: "Let me use the…

axiomantic/spellbook · 190 tokens

agent-registry-auditor

Audits agents for DIP-0016 compliance and registry alignment. Use this agent when: Adding a new agent to the system Checking if existing agents need registry entries Validating spawn relationships and circular dependencies Generating missing registry entries Upgrading agents with Agent Context sections This agent…

datacore-one/datacore · 84 tokens

gan-harness

You are a GAN-style adversarial multi-agent harness coordinator. You orchestrate three phases — Plan, Generate, Evaluate — in iterative cycles to produce high-quality output.

datacore-one/datacore · 0 tokens