Flue 대화 스트림은 offset으로 이어 받는다

안드로이드나 Flutter 앱처럼 JavaScript SDK를 쓸 수 없는 클라이언트에서 Flue 에이전트와 대화하려면 HTTP로 직접 붙어야 한다. 메시지를 POST하면 답 대신 202 접수 응답이 오고, 답은 그 응답에 실린 offset을 들고 Flue 대화 스트림을 읽어서 받는다. offset은 응답에서 받은 문자열을 저장해…

안드로이드나 Flutter 앱처럼 JavaScript SDK를 쓸 수 없는 클라이언트에서 Flue 에이전트와 대화하려면 HTTP로 직접 붙어야 한다. 메시지를 POST하면 답 대신 202 접수 응답이 오고, 답은 그 응답에 실린 offset을 들고 Flue 대화 스트림을 읽어서 받는다. offset은 응답에서 받은 문자열을 저장해…

Flue로 만든 고객 응대 에이전트에 스킬, 서브에이전트, MCP 서버, 샌드박스를 차례로 붙여 보면 useSkill, useSubagent, useMcpConnection, useSandbox 모두 에이전트 함수에 한 줄을 더하는 같은 모양이고, 조건문 안에 넣으면 상태에 따라 붙였다 뗄 수도 있다. 하지만 모델이 호출마다 받는 분량과 실제…

결제나 메일 발송을 맡은 도구가 도는 중에 서버가 죽으면, 서버가 돌아온 뒤 그 도구도 다시 실행될 거라고 기대하기 쉽다. Flue에서 크래시 뒤에 재실행되는 도구는 durable: true로 선언한 도구뿐이다. 일반 도구 호출은 결과를 알 수 없다는 오류로 마감되고, 모델이 그 오류를…

usePersistentState로 모드 상태를 두고 set_mode 도구로 그 모드를 바꾸게 만든 Flue 에이전트가 있다고 하자. 사용자가 “빠른 모드로 바꿔 줘”라고 보내면 모드가 바뀌었다고 알리는 답까지 빠른 모델이 쓸 것 같지만, 그 응답은 원래 모델이 끝내고 빠른 모델은 다음 메시지부터 답한다. 같은…

Flue로 첫 에이전트를 만들면 손이 가는 곳은 에이전트 코드보다 그 바깥이다. 에이전트는 시스템 프롬프트를 반환하는 함수 몇 줄로 끝나고, 대화 기록과 스트리밍, 중단된 작업의 복구는 Flue가 맡는다. 작성자에게 남는 일은 어디에 배포할지, 어떤 URL로 열지, 그 URL을 누구에게 열지를 정하는…
2026년 10월 12일, 정산 관리 API를 서비스하는 admin 서버가 새벽 4시 46분부터 오후 1시 50분까지 약 9시간 응답하지 않았다. 고객사 문의로 알았고, 원인은 힙 포화였다. 장애 공유 문서는 정산 화면의 5중 조인 쿼리가 주문 데이터를 대량으로 올려 힙을 채웠다고 적었다.…
운영 API는 2026년 5월 14일부터 ALB 뒤 서버 두 대를 한 대씩 재시작하는 롤링 배포를 해 왔다. 무중단 배포인 줄 알았다. 10월 1일 배포 중 health를 2초 간격으로 보다가, 노드마다 11~16초씩 503이 섞이는 창을 발견했다. 하루 전 운영에서 켠 미수신…
Claude Code에게 여러 일을 부탁했는데 첫 번째만 끝내고 “다음 작업을 원하시면 말씀해 주세요”라며 멈춘 경험이 있을 것이다. 반대로 반복 작업을 걸어 두면 이미 처리한 대상을 또 처리하기도 한다. 강의의 마지막 장은 이슈 작성, 수정 PR, 단순화, 리뷰를 이어 붙인 “소프트웨어…
기능 하나를 맡기고 끝날 때까지 기다리다 보면 다른 작업도 동시에 돌리고 싶어진다. 터미널 탭을 하나 더 열고 같은 폴더에서 Claude를 하나 더 실행하는 것이 가장 쉬운 방법이다. 두 세션이 같은 파일을 고치기 전까지는 그렇다. 병렬 작업에서는 무엇을 나눌지부터 정한다. 파일…
모범 사례 스킬을 참고해 리팩터링을 마쳤다고 코드에 버그가 없는 것은 아니다. 충분히 단순한지, 보안 구멍은 없는지, 화면에서 실제로 동작하는지는 각각 다른 질문이다. Claude Code가 수정을 끝내면 커밋 전에 다섯 단계를 거친다. /diff로 바뀐 코드를 직접 읽고, /simplify로 다듬고, /code-review로 버그를…