# Discourse AI: 구조화된 출력 응답이 유효한 JSON이 아닙니다

**URL:** https://meta.discourse.org/t/discourse-ai-structured-output-response-was-not-valid-json/408821
**Category:** Support
**Tags:** ai
**Created:** [7월 29, 2026, 2:11오후 UTC](https://meta.discourse.org/t/discourse-ai-structured-output-response-was-not-valid-json/408821 "2026-07-29T14:11:05Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![lilydjwg](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilydjwg/32/515838_2.png) [@lilydjwg](https://meta.discourse.org/u/lilydjwg)
#### Post date: [7월 29, 2026, 2:11오후 UTC](https://meta.discourse.org/t/discourse-ai-structured-output-response-was-not-valid-json/408821/1 "2026-07-29T14:11:05Z")

</div>

어제 업데이트를 진행했습니다\[1\] 그 후 로그에 많은 오류가 발생하고 있습니다:

```plaintext
Discourse AI: structured output response was not valid JSON, falling back to best-effort parsing (311 bytes) 

```

HTTP 응답을 검사해 봤는데 문제는 없었습니다. 그러자 `rails console`로 해당 텍스트를 시도해 봤습니다:

```plaintext
...
discourse(prod)> p = JsonCompleter.new
=>
#<JsonCompleter:0x00007f48763b0270
...
discourse(prod)> p.parse text
=>
{"spam" => false,
 "reason" =>
  "..."}
discourse(prod)> p.parse DiscourseAi::Utils::BestEffortJsonParser.escape_control_characters(text)
(discourse):14:in '<main>': unexpected token "\\" (JsonCompleter::ParseError)

```

결국 Discourse가 파싱 전에 줄바꿈 문자를 이스케이프 처리하고 있는 것으로 드러났습니다^[[code](https://github.com/discourse/discourse/blob/e1980faff446c0062b07c7bf03069feb579d2cb5/plugins/discourse-ai/lib/completions/json_streaming_tracker.rb#L28). 이는 [pr#41716](https://github.com/discourse/discourse/pull/41716)에서 도입된 변경 사항으로, 이로 인해 오류가 발생하고 있습니다.

* * *

1. 

> **[Commits · discourse/discourse](https://github.com/discourse/discourse/commits/aa3c347a7478e8a95f060c9b8e6a8dcfbcb52d83)**
>
> A platform for community discussion. Free, open, simple. - Commits · discourse/discourse

---

_[View the full topic](https://meta.discourse.org/t/discourse-ai-structured-output-response-was-not-valid-json/408821)._
