NL-364, Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger, ACL 2025

 이 논문은 “LLM이 언제 외부 tool/RAG를 써야 하는가?”를 모델의 내부 hidden representation을 이용해 판단하자는 논문입니다.

논문 제목은 Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger, ACL 2025 Long Paper이고, 제안 방법은 MeCo (Meta-Cognition-oriented trigger)입니다. 핵심은 모델에게 단순히 "도구가 필요합니까? Yes/No"라고 물어본 결과를 그대로 믿지 않고, 그 Yes/No를 생성할 때의 hidden state가 정말 확신에 찬 판단인지 다시 검사해서 tool-use 결정을 수정한다는 것입니다.


1. 문제 설정

기존 tool-use/RAG 시스템에서는 보통 이런 식으로 합니다.

Query
 ↓
LLM: tool 필요한가?
 ↓
Yes → Tool/RAG
No  → 자체 답변

문제는 LLM의 Yes/No 판단 자체가 틀릴 수 있다는 것입니다.

예를 들어 모델이 실제로는 모르는 질문인데

Do I need a search engine?
→ No

라고 할 수도 있습니다.

반대로 모델 내부 지식으로 충분히 풀 수 있는데

→ Yes

라고 해서 쓸데없이 검색할 수도 있습니다.

불필요한 tool call은 latency와 tool/API 오류 가능성을 증가시키기 때문에 저자들은 “모델 자신의 tool-use 판단이 믿을 만한지를 hidden representation에서 알아내자”고 제안합니다.


2. MeCo의 핵심 아이디어

전체 구조는 아래처럼 생각하면 됩니다.

Query
  ↓
LLM
  ↓
"Yes, tool이 필요합니다"
  ↓
Yes token의 hidden state
  ↓
Meta-cognition probe
  ↓
meta-cognition score v
  ↓
이 Yes 판단이 믿을 만한가?
  ↓
Yes 유지 or No로 뒤집기

Tool 필요성 classifier를 새로 학습하는 게 아닙니다.

LLM이 이미 내린

Yes / No

판단에 대해

“너 지금 그 판단 제대로 한 거 맞아?”

를 hidden state를 통해 검사하는 구조입니다. Figure 1이 정확히 이 구조를 보여줍니다.

이 부분이 이 논문의 가장 중요한 포인트입니다.


3. Meta-cognition이 정확히 뭐냐

저자들은 meta-cognition을 다음 의미로 사용합니다.

모델이 자신의 지식과 한계를 평가하여,
스스로 처리할지 외부 resource를 사용할지 결정하는 능력.

예를 들어,

Q: 17,381 × 29,271은?

모델이

Yes, calculator가 필요하다.

라고 했다면,

MeCo는

이 모델이 정말 자기 계산 능력의 한계를 인식하고 Yes라고 한 것인가?

를 hidden state로 평가합니다.

중요한 것은 이것이 우리가 일반적으로 말하는 confidence와 완전히 같은 개념은 아니라는 점입니다.

confidence는 대체로

내 답이 맞다고 얼마나 확신하는가?

이고,

이 논문의 meta-cognition은

내가 이 문제를 스스로 해결할 수 있는가?

쪽에 가깝습니다.


4. 그러면 meta-cognition을 hidden state에서 어떻게 찾나?

여기가 논문의 기술적인 핵심입니다.

Representation Engineering(RepE) 방식을 사용합니다.

먼저 동일한 질문에 대해 두 종류의 prompt를 만듭니다.

개념적으로 보면:

T+ : 강한 meta-cognition을 보이도록 하는 prompt
T- : 약한 meta-cognition을 보이도록 하는 prompt

그리고 같은 (question, response)를 각각 넣고 hidden state를 얻습니다.

각 layer에서

[
A_f^+
]

[
A_f^-
]

를 얻습니다.


5. 두 hidden state의 차이를 본다

각 example마다

[
A_i^+ - A_i^-
]

를 계산합니다.

그러면 이런 벡터들이 많이 생깁니다.

example 1: Δh1
example 2: Δh2
example 3: Δh3
...

저자들의 가정은 이겁니다.

strong meta-cognition과 weak meta-cognition 사이에는
representation space에서 공통적인 방향이 존재할 것이다.

그래서 이 difference vector들에 PCA를 합니다.

[
v_f = PC_1({A_i^+ - A_i^-})
]

첫 번째 principal component를 meta-cognition direction, 즉 probe로 사용합니다.

쉽게 말하면:

                   strong meta-cognition
                           →
---------------------------→-------------
            hidden representation space
                           v

이런 방향 v를 하나 찾아내는 것입니다.


6. 여기서 probe는 학습하는 건가?

엄밀히 말하면 방향을 데이터에서 추출합니다.

하지만 neural network classifier처럼

Linear layer
↓
cross entropy
↓
backprop
↓
gradient descent

하는 게 아닙니다.

그냥

hidden-state difference
        ↓
       PCA
        ↓
first principal component

입니다.

그래서 저자들이 fine-tuning-free라고 부릅니다. Backbone LLM의 parameter를 수정하지 않고, 별도 gradient-based fine-tuning도 하지 않습니다.

다만 완전히 data-free인 것은 아닙니다.

probe를 만들기 위한 contrastive examples가 필요하고, 이후 threshold를 정하기 위한 validation data도 필요합니다.

이 구분은 꽤 중요합니다.


7. inference에서는 뭘 하나?

Query가 들어옵니다.

예:

Identify and compare the top-rated tour guides
in Paris based on customer reviews from the past year.

LLM에게 tool이 필요한지를 물어봅니다.

모델이

Yes, I need external data.

라고 생성했다고 합시다.

저자들은 첫 번째 token인 Yes의 hidden state만 사용합니다.

왜 첫 token인가 하면 prompt가 항상

Yes/No + explanation

형태로 답하도록 되어 있기 때문입니다.

따라서

Yes ...
↑
여기

만 보면 모델의 tool-use decision을 대표할 수 있습니다.


8. meta-cognition score 계산

아까 PCA로 얻은 방향을

[
v_f
]

라고 합시다.

현재 Yes token의 hidden state를

[
h
]

라고 하면, hidden state가 이 방향에 얼마나 align되어 있는지를 계산해서 meta-cognition score를 얻습니다.

개념적으로는

[
s \approx h^\top v_f
]

처럼 생각하면 됩니다.

즉:

hidden state h
      ↓
project onto meta-cognition direction
      ↓
score s

입니다.


9. 모든 layer를 평균하지 않는다

각 Transformer layer마다 probe를 만들 수 있습니다.

예를 들어 Llama-3-8B라면 32개 layer이므로

probe_1
probe_2
...
probe_32

가 생깁니다.

기존 RepE류 연구에서는 여러 layer의 score를 평균하기도 하는데, 저자들은 layer마다 score distribution이 크게 다르다는 것을 발견했습니다.

그래서 마지막 근처 layer 중

layer -5
layer -4
layer -3
layer -2

에서 validation classification accuracy가 가장 좋은 하나의 probe만 선택합니다.


10. 가장 특이한 부분: Dual Threshold

여기가 MeCo의 실질적인 decision rule입니다.

LLM이 처음에

Yes

라고 했다고 합시다.

그 Yes가 정말 믿을 만한 Yes인지 meta-cognition score를 봅니다.

Yes인 경우

[
s > \lambda_{\text{yes}}
]

라면

Yes 판단을 믿음
→ tool 사용

반대로

[
s < \lambda_{\text{yes}}
]

이면

"이 Yes 판단은 신뢰하기 어렵다"
→ No로 뒤집음
→ tool 사용 안 함

입니다.


No일 때도 마찬가지입니다.

[
s < \lambda_{\text{no}}
]

이면

No 판단을 믿음

반대로

[
s > \lambda_{\text{no}}
]

이면

No 판단이 이상하다
→ Yes로 뒤집음
→ tool 사용

입니다.

따라서 전체는:

LLM 판단MeCo score최종 판단
Yes높음Yes 유지
Yes낮음No로 변경
No낮음No 유지
No높음Yes로 변경

입니다.


11. 왜 Yes와 No에 threshold를 따로 쓰나?

이것도 재미있는 observation입니다.

저자들이 score distribution을 보니,

Yes 안에서는

Correct Yes  → score 높음
Wrong Yes    → score 낮음

이라는 경향이 있고,

No 안에서는

Correct No   → score 낮음
Wrong No     → score 높음

이라는 경향이 있었습니다.

그런데 Yes score와 No score 자체는 직접 비교하면 안 됩니다.

왜냐하면 hidden representation에 Yes / No token embedding의 영향도 들어가기 때문입니다.

그래서

[
\lambda_{\text{yes}}
]

[
\lambda_{\text{no}}
]

를 따로 둡니다.


12. 결국 MeCo는 2단계 classifier처럼 볼 수 있다

이 논문을 가장 쉽게 이해하면 이렇습니다.

Stage 1 — LLM 자체 판단

Query
 ↓
Do I need a tool?
 ↓
Yes / No

Stage 2 — hidden-state 검증

Yes/No hidden state
 ↓
MeCo probe
 ↓
"그 판단 신뢰 가능?"
 ↓
필요하면 flip

따라서

[
\boxed{
\text{LLM decision}
+
\text{representation-based verifier}
}
]

구조입니다.


13. baseline: (P_{\text{Yes}})

아주 중요한 baseline도 있습니다.

굳이 hidden representation까지 보지 말고,

LLM의 vocabulary probability에서

[
P(\text{Yes})
]

만 가져다가 threshold를 두는 것입니다.

P(Yes) 높음 → tool
P(Yes) 낮음 → no tool

입니다.

논문에서는 이를 (P_{\text{Yes}}) baseline으로 둡니다.

MeCo가 이보다 대체로 높은 decision accuracy를 보입니다.

그래서 저자들의 주장은

단순히 Yes token probability를 보는 것보다 hidden representation 안의 meta-cognitive signal을 보는 게 낫다.

입니다.


14. 실험은 두 가지

크게 두 분야를 봅니다.

Adaptive Tool Use

이 질문에 tool이 필요한가?

Adaptive RAG

이 질문에 retrieval이 필요한가?

저자들은 RAG를 넓은 의미의 tool-use special case로 봅니다.


15. MeCa benchmark도 새로 만듦

기존에는 MetaTool이라는 benchmark가 있었습니다.

하지만 저자들은 너무 단순하다고 보고 MeCa (Meta-Cognitive Tool Assessment)를 만듭니다.

MeCa-Tool에서는 다음을 평가합니다.

1. Tool 자체가 필요한가?

2. 제공된 tool 중 쓸 만한 tool이 있는가?

3. 필요한 tool이 제공되지 않았으면 어떻게 할 것인가?

4. multi-turn 상황에서는?

5. context가 제공되면 판단이 달라지는가?

즉 단순한

tool yes / no

보다 실제 assistant 환경을 흉내 내려고 했습니다.


16. 결과

MetaTool에서 예를 들어 Llama-3-8B, pre-finetuning, context 없음의 경우:

방법Decision Accuracy
Naive58.3
(P_\text{Yes})62.7
MeCo74.0

context가 있는 경우도

방법Accuracy
Naive61.9
(P_\text{Yes})63.5
MeCo65.0

입니다.

fine-tuned Llama-3-8B에서도 context 없는 상황에서

Naive   80.8
PYes    80.8
MeCo    82.3

로 개선됩니다.


MeCa-Tool에서도 대부분의 설정에서 MeCo가 가장 좋거나 경쟁력 있는 성능을 보입니다. 특히 여러 task/context/model 조합에서 Naive와 (P_\text{Yes})보다 안정적으로 높은 decision accuracy를 보였다는 것이 저자들의 주요 결과입니다.

Adaptive RAG에서도:

ModelNaive(P_\text{Yes})MeCo
Llama-3-8B637576
Mistral-7B848486

이고 GPT-4-Turbo의 naive decision은 84%였습니다.


17. 이 논문의 진짜 novelty

겉으로 보면

hidden state → classifier → tool/no-tool

라서 단순해 보일 수 있습니다.

그런데 이 논문의 포인트는 query의 answerability를 직접 probe하는 것이 아니라, 모델의 decision reliability를 probe한다는 것입니다.

Question
 ↓
"이거 내가 알아?"

를 바로 예측하는 게 아니라

Question
 ↓
LLM: "Tool 필요 없음"
 ↓
MeCo:
"얘가 '필요 없음'이라고 판단한 게
진짜 자기 능력을 제대로 평가한 결과인가?"

입니다.

그래서 개념적으로는 meta-decision입니다.


18. Query-level uncertainty 연구와 비교하면

당신이 전에 본 Query-Level Uncertainty in LLMs 같은 연구와 상당히 가까운 문제입니다.

둘을 단순화하면:

Query-level uncertainty

[
h(q) \rightarrow \text{know / don't know}
]

이 질문의 답을 모델이 아느냐?

를 hidden representation에서 추정합니다.

MeCo

[
h(q,\text{Yes/No decision})
\rightarrow
\text{decision reliable / unreliable}
]

모델이 내린 tool-use 판단이 맞느냐?

를 추정합니다.

그래서 MeCo가 한 단계 더 tool decision에 특화된 probe라고 보면 됩니다.


19. 중요한 한계

이 논문을 읽으면서 특히 주의할 부분도 있습니다.

첫째, 완전히 학습 없는 시스템은 아닙니다.

Backbone fine-tuning은 없지만,

contrastive examples
→ PCA probe 생성

validation examples
→ λ_yes, λ_no 결정

이 필요합니다.

따라서 정확히는

gradient-based training-free / backbone fine-tuning-free

라고 보는 게 적절합니다.

둘째, 모델이 먼저

Yes/No + explanation

을 생성해야 합니다.

즉 query hidden state만 한 번 보고 바로 tool을 호출하는 구조는 아닙니다.

Query
 → tool-decision generation
 → hidden-state probe
 → tool execution

이라는 별도의 routing inference 단계가 있습니다.

셋째, 가장 흥미로운 약점은 “meta-cognition”이라는 해석이 정말 맞느냐입니다. 실제로는

correct Yes/No decision

과 correlation이 높은 representation direction을 발견한 것일 수 있고, 이것을 철학적인 의미의 self-awareness라고 부르는 것은 다소 강한 framing이라고 볼 수 있습니다.


20. 한 문장으로 논문 정리

이 논문의 방법은 결국:

[
\boxed{
\text{LLM이 tool을 쓸지 먼저 Yes/No로 판단하게 하고}
}
]

[
\boxed{
\text{그 Yes/No token의 hidden state를 PCA probe로 검사해서}
}
]

[
\boxed{
\text{판단이 신뢰하기 어려우면 Yes↔No를 뒤집는다.}
}
]

입니다.

그래서 전체 pipeline은 이렇게 기억하면 됩니다.

                    ┌── Tool / RAG
                    │
Query → LLM → Yes/No
              │
              ↓
       first-token hidden state
              ↓
        MeCo PCA probe
              ↓
       meta-cognition score
              ↓
     ┌────────┴────────┐
 판단 신뢰           판단 불신
     ↓                  ↓
 그대로             Yes ↔ No flip

개인적으로 이 논문에서 가장 중요한 부분은 “confidence score를 하나 만드는 것”보다 LLM의 1차 decision + hidden-state-based verifier라는 2단계 구조입니다. 특히 selective RAG나 IDK-routing 관점에서는 IDK를 직접 생성하도록 학습시키는 방식과 달리, 원래 모델의 내부 representation을 이용해 backend 호출 여부를 후처리로 결정한다는 점에서 비교하기 좋은 논문입니다.

Reference

댓글