What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

1
1
0
0
0
0
0
0
0
8
0
1

洪 民憙 (Hong Minhee) shared the below article:

Claude Code가 모델이 하지도 않은 말을 했다고 하는 이유.

자손킴 @jasonkim@hackers.pub

Claude Code에서 첫 번째 요청을 입력하면 가장 먼저 다음과 같은 JSON을 API로 보낸다. 이 요청은 실제 작업에 앞서 대화 주제를 파악하고 제목을 생성하기 위한 보조 요청이다.

{
  "model": "claude-haiku-4-5-20251001",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Request Body의 구조를 분석하고 분류별로 묶어서 표현한다. ultrathink"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "{"
        }
      ]
    }
  ],
  "system": [
    {
      "type": "text",
      "text": "You are Claude Code, Anthropic's official CLI for Claude."
    },
    {
      "type": "text",
      "text": "Analyze if this message indicates a new conversation topic. If it does, extract a 2-3 word title that captures the new topic. Format your response as a JSON object with two fields: 'isNewTopic' (boolean) and 'title' (string, or null if isNewTopic is false). Only include these fields, no other text. ONLY generate the JSON object, no other text (eg. no markdown)."
    }
  ],
  "tools": [],
  "metadata": {
    "user_id": "user-id"
  },
  "max_tokens": 32000,
  "stream": true
}

시스템 프롬프트를 보면 이 요청이 신규 대화인지 판단하고, 신규 대화라면 2-3 단어의 제목을 추출하여 isNewTopictitle 필드로 구성된 JSON만 반환하라고 지시하고 있다.

여기서 내 눈에 띈 것은 첫 번째 요청임에도 불구하고 마치 멀티턴 대화가 진행된 것처럼 messages의 마지막 roleassistant라는 점이었다. 게다가 Claude가 { 한 글자만 응답한 것처럼 구성되어 있다.

이 요청에 대한 응답은 다음과 같다.

{
  "id": "msg_id",
  "type": "message",
  "role": "assistant",
  "model": "claude-haiku-4-5-20251001",
  "content": [
    {
      "type": "text",
      "text": "\n  \"isNewTopic\": true,\n  \"title\": \"Request Body Formatting\"\n}"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 187,
    "output_tokens": 26,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

content.text를 보기좋게 정리해서 적으면 다음과 같다.

  "isNewTopic": true,
  "title": "Request Body Formatting"
}

완전한 JSON에서 맨 앞의 {가 빠진 형태다. 알고 보니 이것은 prefill 기법이라 불리는 것으로, 모델이 응답의 앞부분을 이미 출력한 것처럼 설정하여 이어지는 응답을 원하는 형식으로 유도하는 방법이다.

Claude Code는 이 기법을 활용해 모델이 JSON 형식으로 응답하도록 강제하고 있다. 단순히 "JSON으로 응답해줘"라고 요청하는 것보다 훨씬 확실한 방법이다. 모델 입장에서는 이미 {로 시작했으니 자연스럽게 JSON을 완성할 수밖에 없기 때문이다.

Prefill은 JSON 외에도 다양하게 활용할 수 있다. 예를 들어 ```python으로 시작하면 모델이 파이썬 코드 블록을 완성하게 되고, <analysis>로 시작하면 XML 형식의 응답을 유도할 수 있다.

Read more →
4
0
0
0
1
0
0
1

Did you know I have a Patreon? If you were suscribed to it you would be reading my needlessly thorough deep-dive on the coding I did this week on Pomodouroboros and Fritter, and you'd also be helping that app and library (and other similar ones) actually exist and be usable by encouraging me to work on them. patreon.com/posts/patreon-upda

0

SQLite JSON을 전체 인덱스 속도로 활용하는 방법: 생성된 컬럼을 이용한 고속 쿼리
------------------------------
- *SQLite의 JSON 기능* 을 활용해 원본 JSON 문서를 그대로 저장하고, 필요한 필드를 *가상 생성 컬럼(virtual generated columns)* 으로 추출해 인덱싱하는 방식 소개
-
json_extract 함수를 이용해 JSON 내부 데이터를 컬럼처럼 다루며, *B-tree 인덱스 속도* 로 쿼리 수행 가능
- 새로운 쿼리 패턴이 필요할…
------------------------------
https://news.hada.io/topic?id=25041&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
0
0
0

Alt-Frequencies

정진명의 굳이 써서 남기는 생각 @jm@guji.jjme.me

서지정보

게임명: Alt-Frequencies
개발사: Accidental Queens, ARTE France
배급사: PID Games, Dear Villagers
출시일: 2019년 5월 17일
장르: 추리, 퍼즐

생각

『Alt-Frequencies』는 송신 기능이 있는 라디오를 활용해 여러 라디오 채널과 메세지를 주고 받는 추리 퍼즐 게임입니다. 대사 단위가 게임을 플레이하는 단위가 되어 단서가 되는 문장을 발견해야 한다는 점에서 러프하게 『역전재판』 시리즈에서 이어지는 점이 있지요.

여러 라디오 채널을 활용하며, 지금 우리 사회에 일어나고 어떤 일이 일어나고 있는지를 파악하고, 정보를 전달하여 사람들을 움직이고 어떤 일이 일어나는지를 보는 게임입니다. 진실을 추구한다는 수상한 사람의 메세지로부터 시작하여, 기성 뉴스 캐스터, 유명 DJ와 삐딱한 전 뮤지션, 소시민과 음모론자들, 정치인과 과학자들… 여러 사람들을 비추며 그들이 주어진 상황을 어떻게 생각하는지에 대해 생각하게 만듭니다.

플레이가 종반으로 이어지면서는 2024년 12월 3일 생각을 많이 했습니다. 우리 다수는 불법계엄 이후로, 자신의 생업과 일상을 지속하면서 그것에 반대했습니다. 이 게임에서는 우리의 삶을 근본적으로 바꾸는 일이 명백하게 그렇게 진행되어서는 안 되는 방식으로 진행되고 있지만, 그것에 기본적으로 동의하지 않는 사람마저도 자신의 자리를 지키는 모습을 볼 수 있습니다. 물론 이것은 게임플레이 매체를 라디오 하나로 두면서 흐지부지되지 않는 이야기를 보여주기 위한 하나의 선택이기도 하지만, 현대 사회의 복잡하게 나뉜 책임과 계약, 한 사람에게 부여되는 사회의 규약을 생각해보면, 우리 모두에게 현재 상태(Status Quo)를 유지하게 만드는 어떤 힘이 항상 우리 곁에 있다고 생각하게 되지요. 이런 상태의 우리가 시민을 잘 수행하기 위해서는 무엇을 해야 할까요? 고민이 남습니다.

『Another Lost Phone: Laura's Story』에서도 언급했지만, 스튜디오의 첫 게임인 『A Normal Lost Phone』과 함께 스팀에서 내려가기로 예정되어 있어 부랴부랴 플레이해보게 되었습니다. 12월 19일까지 1,000원도 안 되는 가격으로 세일하고 있으니, 해 보고 싶으시다면 지금이 구입할 기회입니다.

Read more →
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1

초유 사태에도 ‘어차피 쓸 테니’···쿠팡이 우리를 ‘탈팡’ 못 하게 만드는 방법 www.khan.co.kr/article/2025... "기자가 취재한 쿠팡 입점 판매자(셀러)들은 쿠팡이 기업 이익은 극대화하는 반면 그 안에서 일하는 사람들은 쥐어짜고 몰아붙인다고 말했다. 한 판매자는 “말을 안 해서 그렇지, 쿠팡이 이렇게 커진 배경은 판매자의 모든 것을 갈아넣었기 때문”이라고 했다. 다른 판매자는 “쿠팡은 건설업체가 하도급 업체들 이윤을 착취하는 것이나 다름없다”고 했다."

초유 사태에도 ‘어차피 쓸 테니’···쿠팡이 우리를 ‘...

0
0

Gitmal - Git 저장소를 위한 정적 페이지 생성기
------------------------------
- *Git 저장소* 를 *웹에서 탐색 가능하게 시각화* 하기 위해 개발된 도구, 파일·커밋·코드 하이라이팅을 포함한 *정적 HTML 페이지 생성 기능* 제공
- *Go 언어 기반* 으로 구현되어 빠른 빌드 속도와 간단한 실행 구조 지원
- 저장소 디렉터리에서
gitmal . 명령만으로 *_./output_ 폴더에 정적 사이트 자…
------------------------------
https://news.hada.io/topic?id=25056&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
0
0
1
2
0
0
0
0