JA EN
体系エージェント
·★ 会員·論文·17分で読めます

論文解説: FACET — 指示・環境・解答・採点を「同じ実行状態」に接地させる課題合成

ターミナル課題は「指示文・環境・模範解答・採点器」の4点セット。FACETは環境を先に建てて動かし、その実現済み状態を全部品の共通の地面にすることで整合を取る。7万件のスキルから6,078課題を作り、1.2Kの成功軌跡だけでQwen3.5を4B/9B/27Bとも底上げした論文を1から解説する。

対象textタスクagents

FACET: Preserving Source Intent and Executable State in Terminal Task Synthesis

一次資料 — この記事の根拠

論文の発表 2026-08-19この解説の公開 2026-08-22同月

FACET: Preserving Source Intent and Executable State in Terminal Task SynthesisKou Shi, Zun Wang, Qisheng Su ほか · 2026-08-19 · v1arXiv:2608.18580論文ページ·PDF
原文の要旨(Abstract)を読む

Training terminal agents requires scalable executable supervision, yet synthesizing high-quality terminal tasks remains challenging. Each task couples an instruction, an initialized environment, a reference solution, and an executable verifier; if these artifacts are generated from inconsistent assumptions, the resulting task may be unsolvable or incorrectly evaluated. Meanwhile, multi-stage synthesis can discard the goals, dependencies, state transitions, and procedural constraints encoded in the original sources. We present FACET (Fine-grained Agentic Construction of Executable Tasks), a framework that addresses both information preservation and cross-artifact consistency. FACET reconstructs related agent skills into coherent, information-rich scenarios, then realizes and repairs the execution environment before generating the final task artifacts. The resulting container state serves as shared grounding for the instruction, solution, and verifier, while execution-based validation and targeted repair correct artifact-specific failures without unnecessarily regenerating valid components. FACET produces complex terminal tasks with dense executable checks, and successful trajectories collected from these tasks provide effective, data-efficient supervision. Fine-tuning models across multiple scales consistently improves performance on Terminal-Bench 2.1, while analyses of alternative generation schemes support the importance of environment-grounded construction for task validity and solution-verifier alignment. These results establish source-intent preservation and shared executable-state grounding as key principles for scalable terminal-task synthesis.


比喩: 教習所のコースを1つ作る

AIエージェントに「ターミナル作業」を仕込むには練習問題が要ります。ところがこの練習問題は、文章を1つ書けば済むものではありません。論文は、1件のターミナル課題が 指示文・初期化された環境・模範解答・実行可能な採点器 という束であり、これらが食い違った前提から生成されると「解けない課題」や「誤って採点される課題」になると述べます(§1)。

自動車教習所のコースに例えると分かりやすいでしょう。「S字を抜けて縦列駐車せよ」という指示、パイロンと白線が引かれたコース(初期環境)、教官が実際に走って見せる模範走行、そして輪留めへの接触を機械で測る採点。この4つはどれか1つがズレただけで破綻します。コースにS字が引かれていなければ指示は実行不能ですし、採点器が存在しない縁石を見ていれば、正しく走っても不合格になる。しかも厄介なことに、コース設営を少し直すと模範走行も採点基準も連動して直さねばならない。

FACET(Fine-grained Agentic Construction of Executable Tasks)は、この4点セットを矛盾なく大量生産するための枠組みです。中国科学技術大学・上海AI Lab・復旦大学らのグループが2026年8月に公開しました。

何が壊れるのか: 情報の目減りと、部品どうしのズレ

論文は、多段生成で起きる問題を2つに切り分けます(§1)。

1つ目は情報の目減りです。元の材料には、必要な能力、依存関係、途中の状態、入出力の契約、手順上の制約が書き込まれている。ところが生成の段を重ねるたびにそれが「短い課題説明」へ圧縮され、合成された課題には元の構造と複雑さの一部しか残らない、と論文は指摘します。

2つ目は部品の乖離です。指示が環境に実在しないファイルを指す、解答が別のスキーマや依存を前提にする、採点器がそもそも到達できない状態を検査する。段階間で「テキストの仕様書」を受け渡せば多少は緩和できますが、それだけでは全部品が同じ実現済みの実行状態に接地している保証にはならない(§1)。この2点が、FACETが解こうとしている的です。

材料: 7万件のスキルから「場面」を復元する

出発点は既存の「エージェントスキル」パッケージです。OpenClaw、ClawHub、GitHubから収集し、危険な指示を含むもの、非公開の情報や資源に依存するもの、読めない・実行できない・重複するものを除いて 71,341件の有効スキルを残します(§2.2、付録A.1)。5つの大分類と34の細分類に整理されており、内訳は「マルチメディア・制作・出版」24.42%、「AI・エージェント・ツール」21.28%、「ソフトウェア・システム・セキュリティ」21.11% などです。

特徴的なのはここからです。1スキルを1課題へ直訳するのではなく、抽出エージェントが各スキルについて「どんな場面で使われうるか、ユーザの目的は何か、初期状態と望ましい最終状態は何か」というシナリオ仮説を立てる。そしてその仮説を埋め込みベクトルにし、他のスキルの仮説から近いものを検索して、組み合わせられそうなスキル群を見つけます(§2.2)。近い仮説を束ねて「1つの場面+関連スキル群」という候補 pc=(c,Xc)p_c=(c, X_c) を作り、モデル審査が「関連しているか・補い合うか・冗長でないか・ターミナルの作業手順として実行可能か」を判定して合格分だけを残す。

FIG 1FACETはシナリオ仮説をベクトルにして近傍検索する。どの尺度を使うかで「近い仮説」の顔ぶれが変わる

仕組み: 先に環境を建て、その状態を共通の地面にする

論文の中心的な主張は、部品を作る順番と接地先にあります。まず記号を整理しましょう。合成したい課題の束は次のように書けます(§2.1)。

T=(I,E,S,V,M)\mathcal{T}=(\mathcal{I},\mathcal{E},\mathcal{S},\mathcal{V},\mathcal{M})
(1)

つまりこの式は「1件の課題とは文章1つではなく、依頼文・舞台・お手本・採点機械・実行時の設定という5点で1セットだ」と宣言しているだけのものです。5つを並べて書くこと自体が、どれか1つを別々に作ってはいけないという主張になっています。

I\mathcal{I} はユーザへの指示文、E\mathcal{E} は環境の仕様、S\mathcal{S} は模範解答、V\mathcal{V} は実行可能な採点器、M\mathcal{M} は実行時メタデータです。環境を初期化した状態を e0e_0、模範解答を走らせ終えた状態を eTe_T(失敗なら \bot)と書くと、課題が採用される条件は次のようになります。

A(T)=B(E)¬νV(e0)(eT)νV(eT)\mathcal{A}(\mathcal{T})=B(\mathcal{E})\land\neg\nu_{\mathcal{V}}(e_{0})\land(e_{T}\neq\bot)\land\nu_{\mathcal{V}}(e_{T})
(2)

要するに、採点器は解く前には落ち、解いた後には通るものでなければならない、と言っています。\land は「かつ」、¬\neg は「〜ではない」の記号なので、読み下すと「①環境がビルドできる、かつ②何もしていない初期状態では採点が落ちる、かつ③模範解答が最後まで走り切る、かつ④走り終えた状態では採点が通る」。この4つが同時に真のときだけ採用します。②が入っているのが要点で、これが無いと「最初から合格している課題」=タダで点が入る不良問題が混ざります。

そのうえでFACETは、課題文より先に環境を建てて動かす(§2.4)。環境エージェントはまず必要なディレクトリ・ファイル・サービス・依存関係を並べた「マニフェスト」を書き、それから中身を実体化します。公開資源を取ってきて整形したり、テキストやバイナリを手続き的に生成したりしてよいが、取得した資源はビルド時にローカルへ取り込む。評価時にネットワークを必要としない自己完結した環境にするためです。さらに、テンプレ然とした薄い題材を避けるため、スキーマと課題の意味を保ったままレコードを増やしたり、メタデータ欄・おとり項目・ファイル間の関連を足したりします。

ビルドと初期化チェックに失敗したら、失敗トレースを環境エージェントへ返して最大3回まで修理します。このとき修理の入力には失敗トレースだけでなく再構成済み仕様も与える。そうしないと、エージェントは「ビルドを通すために要件そのものを削る」という近道を選んでしまうからです(§2.4)。

環境が立ち上がったら、その実現済みの状態を共有の接地面として公開します。指示・解答・採点器はこの順に生成され、それぞれが同じコンテナ状態への読み取りアクセスを持つ。模範解答は生成後に実際に実行され、その結果の最終状態まで観測してから採点器が最後に作られます。採点器はコマンド列の一致ではなく振る舞いと状態を見るように作られ、別解でも通るようにしてある。もし環境の修理でファイル名・パス・ポート・パッケージ版・スキーマが変わっても、下流の生成器は更新後の状態を見るので、部品どうしが違う「暗黙のバージョン」に向けて書かれる事故が減る、というのが論文の理屈です(§2.4)。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. Kou Shi, Zun Wang, Qisheng Su, Shiting Huang et al.. (2026-08-19) FACET: Preserving Source Intent and Executable State in Terminal Task Synthesis. arXiv:2608.18580論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です