惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
The Cloudflare Blog
I
InfoQ
美团技术团队
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
L
LangChain Blog
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - quadracollision/llmisp: JSON AST > Clojure
vegnus · 2026-05-20 · via Hacker News: Show HN

JSON AST Agent Harness

This project is a local code-generation harness for turning text specs into Clojure programs. The validated local setup was tested with Gemma 4 E2B GGUF served by llama.cpp. Other models may work, but they are untested.

The core idea is to stop asking a small local model to write full source code directly. Instead, the model emits constrained JSON AST fragments. The harness validates those fragments, assembles larger structures programmatically, lowers the accepted AST to Clojure, and records every generation/repair artifact in SQLite.

What It Does

  • Runs a local Gemma 4 E2B GGUF model through llama-server.
  • Can target another OpenAI-compatible chat endpoint experimentally.
  • Uses a planner pass to derive a sanitized contract from a text spec.
  • Builds deterministic skeleton ASTs before asking the model for detailed logic.
  • Uses micro-stepped passes for query filters, derived columns, and GUI components.
  • Validates generated JSON AST with Malli, JSON Schema/GBNF-compatible constraints, field provenance checks, type-flow checks, and semantic structure guards.
  • Compiles accepted JSON AST into Clojure source.
  • Logs prompts, raw model output, accepted ASTs, rejected attempts, and execution traces into a per-run SQLite DB.

Business Logic Path

The business-rule plugin generates Clojure data-transformation functions.

bb json-run \
  --self-plan \
  --skeleton-first \
  --where-pass \
  --column-pass \
  --gguf /path/to/gemma4-e2b.gguf \
  --llama-server-bin /path/to/llama-server \
  --llama-port 18700 \
  --llama-ctx-size 4096 \
  --llama-gpu-layers 24 \
  --task-file specs/blind/dynamic_pricing_matrix_spec.txt \
  --project-dir tmp/dynamic_pricing \
  --repair-attempts 0 \
  --max-tokens 4096 \
  --where-max-tokens 2048 \
  --column-max-tokens 2048

Outputs are written under the project directory:

  • candidate.ast.json
  • candidate.clj
  • report.json
  • session.sqlite3
  • llama-server.log

Native Swing GUI Path

The :gui-page plugin generates simple native Java Swing programs. The model emits a sanitized GUI contract and component subtrees; the harness owns Swing lowering, safe event wiring, and jar packaging.

bb gui-run \
  --self-plan \
  --component-pass \
  --gguf /path/to/gemma4-e2b.gguf \
  --llama-server-bin /path/to/llama-server \
  --task-file specs/gui/inventory_dashboard_spec.txt \
  --project-dir tmp/gui_inventory

Build the generated Swing program into a runnable jar:

bb gui-jar tmp/gui_inventory/candidate.clj tmp/gui_inventory/app.jar

Run it manually when you want to open the desktop window:

java -jar tmp/gui_inventory/app.jar

GUI actions are intentionally closed and deterministic. Buttons can use safe action maps such as show-message and clear-form; the model cannot emit arbitrary Java, Swing listener code, Clojure forms, file actions, network actions, or shell commands.

Smoke Tests

bb json-smoke tmp/json_smoke
bb gui-smoke tmp/gui_smoke

These validate the local Babashka classpath, JSON AST validation, Clojure codegen path, Swing AST validation, and Swing source load path without calling a model or opening a GUI window.

Benchmark Honesty

By default, json-run is text-only generation. Semantic fixtures are not used for generation unless you explicitly pass --allow-semantic-guidance.

If you use semantic tests, pass them explicitly:

--semantic-test-file path/to/test.edn \
--semantic-oracle-source user|benchmark|assistant|unknown

Clean benchmark evidence should use fixtures that were not generated by the assistant during the run.

Runtime Files

See RUNTIME_FILES.md for the minimal file manifest.

Extension Boundary

The harness has a plugin boundary under bb/harness/plugins/.

  • data_transformation.clj owns business-rule generation.
  • gui_page.clj owns Swing GUI generation.
  • api_router.clj is a blueprint plugin showing how another use case can register lifecycle methods without changing the root pipeline.