Commit 3b252783 by wangchenglong

update.

parent 11dc306e
No preview for this file type
...@@ -22,6 +22,8 @@ widebox/.style={ ...@@ -22,6 +22,8 @@ widebox/.style={
font=\small, font=\small,
align=center align=center
}, },
rolloutbox/.style={widebox, fill=violet!10},
learnbox/.style={widebox, fill=red!8},
arrow/.style={ arrow/.style={
->, ->,
thick thick
...@@ -54,7 +56,7 @@ User tasks\\ ...@@ -54,7 +56,7 @@ User tasks\\
Difficulty control Difficulty control
}; };
\node[widebox, right=0.55cm of scenario] (rollout) { \node[rolloutbox, right=0.55cm of scenario] (rollout) {
\textbf{\textit{Agent--Environment Interaction}}\\[0.08cm] \textbf{\textit{Agent--Environment Interaction}}\\[0.08cm]
$u_1 \rightarrow o_1 \rightarrow \cdots$\\ $u_1 \rightarrow o_1 \rightarrow \cdots$\\
$\rightarrow u_T \rightarrow o_T$ $\rightarrow u_T \rightarrow o_T$
...@@ -67,7 +69,7 @@ Execution success\\ ...@@ -67,7 +69,7 @@ Execution success\\
Task completion Task completion
}; };
\node[widebox, below=1.05cm of rollout,minimum height=1.8cm] (learning) { \node[learnbox, below=1.05cm of rollout,minimum height=1.8cm] (learning) {
\textbf{\textit{Agent Learning}}\\[0.08cm] \textbf{\textit{Agent Learning}}\\[0.08cm]
Trajectory collection\\ Trajectory collection\\
SFT or RL update SFT or RL update
......
...@@ -34,10 +34,11 @@ An agent's autonomy refers to its ability to independently determine the steps r ...@@ -34,10 +34,11 @@ An agent's autonomy refers to its ability to independently determine the steps r
\begin{tabularx}{\dimexpr\linewidth-2em\relax}{>{\raggedleft\arraybackslash}p{0.08\linewidth} X} \begin{tabularx}{\dimexpr\linewidth-2em\relax}{>{\raggedleft\arraybackslash}p{0.08\linewidth} X}
\textcolor{gray}{Input} & \textit{Environment}: Calculator, Database API \newline \textcolor{gray}{Input} & \textit{Environment}: Calculator, Database API \newline
\textit{Task}: Weng earns \$12 per hour for babysitting. Yesterday, she babysat for 50 minutes. How much did she earn? Please save the result into the database. \\ \textit{Task}: Weng earns \$12 per hour for babysitting. Yesterday, she babysat for 50 minutes. How much did she earn? Please save the result into the database. \\
\textcolor{gray}{Output} & 1. Extract the relevant numerical values and identify the required computation. \newline \textcolor{gray}{Output} &
2. Call the \texttt{calculator} tool to evaluate the expression $12 \times (50 / 60)$. \newline \uline{1. Extract the relevant numerical values and identify the required computation.} \newline
3. Format the computed result into a valid JSON schema. \newline \uline{2. Call the \texttt{calculator} tool to evaluate the expression $12 \times (50 / 60)$.} \newline
4. Invoke the \texttt{update\_record} API to save the final earnings into the database. \newline \uline{3. Format the computed result into a valid JSON schema.} \newline
\uline{4. Invoke the \texttt{update\_record} API to save the final earnings into the database.}\newline
Next, I will execute the plan step by step. \newline Next, I will execute the plan step by step. \newline
$\cdots \cdots$ $\cdots \cdots$
\end{tabularx} \end{tabularx}
...@@ -161,7 +162,7 @@ Prompt-based tool is a simple approach to enable LLM-based agents to interact wi ...@@ -161,7 +162,7 @@ Prompt-based tool is a simple approach to enable LLM-based agents to interact wi
\textcolor{gray}{Demonstration} & \textcolor{gray}{Demonstration} &
\textit{Task}: Tom earns \$15 per hour. He worked for 2 hours. How much did he earn? Please save the result into the database. \newline \textit{Task}: Tom earns \$15 per hour. He worked for 2 hours. How much did he earn? Please save the result into the database. \newline
\textbf{Thought}: I need to compute the total payment. \newline \textbf{Thought}: I need to compute the total payment. \newline
\textbf{Action}: \texttt{calculator}($15 \times 2$) \newline \colorbox{green!35}{\strut\textbf{Action}: \texttt{calculator}($15 \times 2$)} \newline
\textbf{Observation}: 30 \newline \textbf{Observation}: 30 \newline
\textbf{Thought}: The payment is 30 dollars. I need to save it into the database. \newline \textbf{Thought}: The payment is 30 dollars. I need to save it into the database. \newline
\textbf{Action}: \texttt{update\_record}(\{"earning": 30\}) \newline \textbf{Action}: \texttt{update\_record}(\{"earning": 30\}) \newline
...@@ -173,7 +174,7 @@ Weng earns \$12 per hour for babysitting. Yesterday, she babysat for 50 minutes. ...@@ -173,7 +174,7 @@ Weng earns \$12 per hour for babysitting. Yesterday, she babysat for 50 minutes.
\textcolor{gray}{Output} & \textcolor{gray}{Output} &
\textbf{Thought}: I need to compute the payment based on the hourly wage and working time. \newline \textbf{Thought}: I need to compute the payment based on the hourly wage and working time. \newline
\textbf{Action}: \texttt{calculator}($12 \times 50 / 60$) \newline \colorbox{green!35}{\strut\textbf{Action}: \texttt{calculator}($12 \times 50 / 60$)} \newline
\textbf{Observation}: 10 \newline \textbf{Observation}: 10 \newline
\textbf{Thought}: The payment is 10 dollars. I need to save it into the database. \newline \textbf{Thought}: The payment is 10 dollars. I need to save it into the database. \newline
\textbf{Action}: \texttt{update\_record}(\{"earning": 10\}) \newline \textbf{Action}: \texttt{update\_record}(\{"earning": 10\}) \newline
...@@ -271,7 +272,7 @@ However, constructing high-quality environments manually is expensive and diffic ...@@ -271,7 +272,7 @@ However, constructing high-quality environments manually is expensive and diffic
\centering \centering
\resizebox{\linewidth}{!}{ \resizebox{\linewidth}{!}{
\input{section6/Figures/environment-design}} \input{section6/Figures/environment-design}}
\caption{Overview of environment synthesis and interaction for agentic reinforcement learning.} \caption{Overview of environment synthesis and interaction for agentic RL.}
\label{fig:agent-environment-scaling} \label{fig:agent-environment-scaling}
\end{figure} \end{figure}
...@@ -369,41 +370,39 @@ Beyond optimizing memory update operations, another important question is how to ...@@ -369,41 +370,39 @@ Beyond optimizing memory update operations, another important question is how to
\subsubsection{Skill Optimization} \subsubsection{Skill Optimization}
Skill optimization compresses repeated experience into reusable behavioral modules. A skill can be represented as a structured instruction package that tells the agent when the skill should be invoked, what workflow it should follow, which tools are appropriate, and how the final answer should be verified. For example, a reasoning-oriented skill may be written as follows: Skill represents a higher-level abstraction of agentic experience. Different from memory, which focuses on storing useful information extracted from previous interactions, skill aims to summarize recurring patterns across multiple experiences and transform them into reusable capabilities. Specifically, a skill can be viewed as a structured instruction package that describes when the skill should be invoked, what workflow it should follow, which tools are required, and how the final outcome should be verified. For example, a reasoning-oriented skill may be represented as follows:
\begin{tcolorbox}[frame empty] \begin{tcolorbox}[frame empty]
\begingroup \begingroup
\setlength{\parindent}{0pt} \setlength{\parindent}{0pt}
\setlength{\leftskip}{2.5em} \setlength{\leftskip}{1.0em}
\setlength{\rightskip}{2.5em} \setlength{\rightskip}{1.0em}
\uline{Name: Math-Logic-Reasoning}\par \textbf{Name: Math-Logic-Reasoning}\par
\textit{Description}: Solve complex mathematical, logical, tabular, and constraint reasoning tasks. Use when a task requires multi-step arithmetic, symbolic reasoning, calculator-backed verification, table analysis, optimization, scheduling or allocation constraints, Pareto trade-offs, proof checking, or translating word problems into equations, code, formulas, or executable checks.\par \textit{Description}: Solve complex mathematical, logical, tabular, and constraint reasoning tasks. Use when a task requires multi-step arithmetic, symbolic reasoning, calculator-backed verification, table analysis, optimization, scheduling or allocation constraints, Pareto trade-offs, proof checking, or translating word problems into equations, code, formulas, or executable checks.\par
\vspace{2mm} \vspace{2mm}
\uline{Math Logic Reasoning}\par \uline{Math Logic Reasoning}\par
\vspace{0.2em} \vspace{0.2em}
Use this skill for reasoning tasks where a wrong intermediate assumption can silently break the final answer. Prefer a compact formal model plus executable verification over unsupported mental arithmetic.\par Use this skill for reasoning tasks where a wrong intermediate assumption can silently break the final answer. Prefer a compact formal model plus executable verification over unsupported mental arithmetic.\par
\vspace{0.4em} \vspace{2mm}
\uline{Workflow}\par \uline{Workflow}\par
1. Restate the target quantity, decision, or claim.\par 1. Restate the target quantity, decision, or claim.\par
2. Extract givens, units, constraints, and hidden assumptions.\par 2. Extract givens, units, constraints, and hidden assumptions.\par
3. Convert the problem into equations, inequalities, tables, spreadsheet formulas, graphs, search spaces, constraint satisfaction problems, or short verification scripts.\par 3. Convert the problem into equations, inequalities, tables, spreadsheet formulas, graphs, search spaces, constraint satisfaction problems, or short verification scripts.\par
4. Solve with the simplest reliable tool.\par $\cdots$ \par
5. Independently verify the result by recomputing, checking edge cases, or testing constraints.\par \vspace{2mm}
6. Explain the final answer with only the necessary derivation.\par
\vspace{0.4em}
\uline{Tool Choices}\par \uline{Tool Choices}\par
1. Use Python as a calculator for multi-step arithmetic, combinatorics, simulations, optimization search, or exact rational checks.\par 1. Use Python as a calculator for multi-step arithmetic, combinatorics, simulations, optimization search, or exact rational checks.\par
2. Use Fraction, Decimal, or sympy when exactness matters.\par 2. Use Fraction, Decimal, or sympy when exactness matters.\par
3. Use pandas for complex tables, joins, grouped summaries, rankings, or data-cleaning logic.\par 3. Use pandas for complex tables, joins, grouped summaries, rankings, or data-cleaning logic.\par
4. Use brute force, dynamic programming, or linear/integer programming when choices are constrained.\par $\cdots$ \par
\vspace{0.4em} \vspace{2mm}
\uline{Verification Checklist}\par \uline{Verification Checklist}\par
1. Recalculate the final numeric answer using a second method when feasible.\par 1. Recalculate the final numeric answer using a second method when feasible.\par
2. Test boundary cases: zero, negative values, equality limits, duplicate entries, and empty sets.\par 2. Test boundary cases: zero, negative values, equality limits, duplicate entries, and empty sets.\par
3. Confirm units after every transformation.\par 3. Confirm units after every transformation.\par
$\cdots \cdots$\par $\cdots$\par
\vspace{0.4em} \vspace{2mm}
\uline{Output Style}\par \uline{Output Style}\par
Give the answer first when possible. Then include a concise derivation, the checked constraints, and any caveats. Give the answer first when possible. Then include a concise derivation, the checked constraints, and any caveats.
...@@ -411,11 +410,27 @@ Give the answer first when possible. Then include a concise derivation, the chec ...@@ -411,11 +410,27 @@ Give the answer first when possible. Then include a concise derivation, the chec
\end{tcolorbox} \end{tcolorbox}
Given such a skill, the agent does not need to store every previous reasoning trajectory in full. Instead, successful experience can be distilled into reusable procedures and verification rules. During later interactions, the agent can retrieve the skill, instantiate it for the current task, and update it when repeated failures reveal missing assumptions or insufficient checks. In practice, the agent is provided with descriptions of all available skills in the prompt and learns to select appropriate skills based on the current task. These selected skills serve as high-level behavioral templates that guide the agent's planning and execution process. For example,
\begin{tcolorbox}[frame empty]
\begingroup
\setlength{\parindent}{0pt}
\setlength{\leftskip}{1.0em}
\setlength{\rightskip}{1.0em}
\textbf{Available Skills:} \par
\uline{Skill 1: Web Search} \par
This skill enables the agent to retrieve and synthesize external information when the task requires up-to-date or domain-specific knowledge $\cdots$ \par
\uline{Skill 2: Math-Logic-Reasoning} \par
Solve complex mathematical, logical, tabular, and constraint reasoning tasks. Use when a task requires multi-step arithmetic, symbolic reasoning $\cdots$ \par
\{More skill descriptions\} \par
\textbf{User Query:} Solve the equation $2x+5=13$. \par
\par
\colorbox{green!35}{\strut\textbf{Selected Skill:} \uline{Math-Logic-Reasoning}} \par
\endgroup
\end{tcolorbox}
Dynamic Skill Lifecycle Management for Agentic Reinforcement Learning
Reinforcement Learning for Self-Improving Agent with Skill Library
\subsubsection{Trajectory Refinement} \subsubsection{Trajectory Refinement}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论