Abstrak
Ginagamit ng Naly ang Codex CLI bilang control plane para sa naka-iskedyul na AI work: bawat cron entry ay nagpapatakbo ng isang checked-in script na naglulunsad ng bounded assistant task na may web search at mahigpit na output contract, pagkatapos ay nagsusulat ng na-validate na JSON artifacts para sa downstream publishing, replay, at retries. Ginagawang parang operational pipeline ang gawain ng model—parehong command, malinaw na schema, malinaw na artifacts—sa halip na isang mutable na interactive workflow. Noong 2026-06-25, ito ang kaibahan sa pagiging maaasahan para sa growth-critical na infrastructure sa nilalaman.
Saan ito nakaupo sa Naly
Mayroon nang aktibong GST priorities ang Naly sa discovery, retention, at distribution workflows. Direktang umaangkop ang pattern na ito sa layer ng execution:
- Nagpapagana ang mga Cron job ng isang solong
tsxscript para sa bawat use case kaya't ang bawat run ay nananatili sa versioned code, hindi sa ad hoc na shell snippets. - Ginagawa ng Codex CLI ang reasoning at retrieval work, habang hinahawakan ng Naly ang orchestration control: schedule, retries, locking, at matibay na artifacts.
- Ang structured output ay nagpapakain sa downstream systems na batay sa Next.js, React, Drizzle ORM, at Neon nang walang hulang hulang schema guessing.
- Isinusulat ang external logs at run metadata sa ilalim ng
NALY_LOG_ROOT, kaya nagiging reproducible ang mga post-mortem kahit hindi depende sa process output buffering.
Ang pangunahing tesis ay: para sa production use, kalahati lang ng system ang kalidad ng LLM; ang deterministic boundaries sa paligid ng LLM ang kabilang kalahati.
Teknikal na mekanismo
1) Contract-first na entrypoint ng worker
Nagsisimula ang bawat task sa tatlong hindi mababago na input:
- Isang codified prompt template at task intent.
- Isang response schema na kailangang i-validate.
- Isang run envelope (
run_id,source_query,attempt,env), na iniipon bago ang API call.
Pinapagana ng Naly ang Codex CLI sa batch mode mula sa cron, hindi sa interactive mode. Ang Codex ay idinekripsiyon bilang local coding agent at inilalabas bilang standalone CLI na may open-source na distribusyon at aktibong releases, at maaaring tumakbo sa scripted environment Codex CLI, OpenAI Codex repo.
2) Bakit hindi puwedeng isuko ang structured output
Inilalarawan ng OpenAI structured-output guides ang parser-supported na schema extraction at ang strict mode behavior na kailangan para sa machine pipelines. Sa Naly, ang output ng model ay itinuturing na intermediate artifact, hindi panghuling katotohanan, kaya sa JSON contract isinasakatuparan ang reliability:
- mga required fields (headline, evidence list, confidence, citations, failure reason)
- mga optional fields na may default
- numerong confidence at bounded enums
- mga explicit parser failure na lumalabas bilang run errors, hindi tahimik na auto-corrected na text.
3) Cron-to-agent lifecycle na may concurrency control
Pinapatakbo ng Cron ang mga nakaiskedyul na linya ayon sa standard na 5-field timing fields at nagpapalabas ng command kapag nagtugma ang mga field crontab. Para sa production safety nagdadagdag ang Naly ng:
- lock guard (isang active run lang kada task)
- idempotent run key
- bounded retry policy na may jitter
- external log capture para sa bawat phase
- post-run state update sa mga database table na pinamamahalaan ng Drizzle/Neon.
flock disenyado nang eksakto para sa ganitong guardrail pattern: kunin muna ang lock, isakatuparan ang critical section, at lumabas nang malinaw kapag naka-lock na flock. Dahil sumusunod ang lock state sa file descriptors, hayagang tinatanggihan ang magkakapatong na cron windows kaysa masira ang state.
4) Bakit mahalaga ang MCP sa pattern na ito
Pinapormalize ng Model Context Protocol ang host/client/server tool contracts gamit ang JSON-RPC, capability negotiation, at structured tool calls MCP. Sa Naly, pinapaliit ng MCP-style boundaries ang implicit coupling: ang web search ay maaaring ipakita bilang controlled tool interface na may explicit capabilities sa halip na liblib na shell-level behavior.
Ang sinasabi ng literature
Ipinapakita ng kamakailang pananaliksik na ang reliability ay hindi katumbas ng raw capability. Ang paper na AI Agent Reliability ay nag-uulat ng malalaking agwat sa pagitan ng task accuracy at consistency sa mga pagtakbo, at nagmumungkahi ng mga explicit reliability dimensions (consistency, robustness, predictability, safety) para sa operational evaluation Towards a Science of AI Agent Reliability. Pinatutunayan nito ang run-state-first na disenyo ng Naly: kung magtagumpay ang isang run ngunit hindi ito maulit nang malinaw ang artifacts, hindi iyon antas production.
Para sa structured outputs, ipinapakita ng ToolPRM na ang structured tool-calling behavior ay nangangailangan ng explicit supervision at lalo pang malakas ang pagbuti kapag minomodelo ang internal na function-calling process kaysa sa huling resulta lamang ToolPRM: Fine-Grained Inference Scaling of Structured Outputs for Function Calling. Tugma ito sa schema-first runner loop ng Naly: ang quality gate ay nasa interface boundaries, hindi lang sa content fluency.
Isang ikatlong papel sa parehong frontier, SLOT, ang nagpapakita ng praktikal na alternatibong daan sa pamamagitan ng pagdagdag ng model-agnostic output-shaping layer sa ibabaw ng mga LLM SLOT: Structuring the Output of Large Language Models. Pinagtitibay nito ang parehong prinsipyo: ang reliability ng istruktura ay isang usaping pang-engineering kahit malakas ang base model quality.
Mga trade-off sa disenyo
- Mahigpit na schema laban sa portability ng model: ang mga strict schemas ay nagpapababa ng ambiguity sa downstream ngunit maaari itong magtaas ng minsan na parse churn kapag magkakaiba ang interpretasyon ng mga provider sa constraints.
- Simpleng cron laban sa queue elasticity: simple at nakikita ang cron, pero ang bursty workloads ay nangangailangan ng lock-aware backoff o queue layer upang maiwasan ang magkapatong na runs at nakaligtaan na windows.
- In-task web search laban sa deterministic replay: pinapabuti ng sariwang web search ang freshness ngunit nagdadala ng source volatility; kaya’t iniimbak ng Naly ang query text, source list, at raw references sa run artifacts.
- External logs laban sa DB-only logs: ang filesystem logs ay nakakaligtas sa process restarts at mura para sa ingestion; ang DB logs ay nagpapadali ng query ergonomics pero maaaring mag-fail sa open loops kung hindi maingat na naka-partition.
Mga mode ng pagkabigo
- Schema drift: nilalabag ng provider output ang schema; ang mitigation ay strict validation fail-fast, schema version pinning, at dead-letter runs.
- Magkakapatong na cron executions: double writes o duplicate na external actions; ang mitigation ay advisory lock + process-exit guard.
- Pagkagambala ng search: nagbabago ang tugon ng upstream tool sa bawat pagtatangka; ang mitigation ay retry caps, exponential delay, at naka-persist na upstream references.
- Mga timing surprises: ang DST at host timezone differences ay maaaring makaapekto sa schedule semantics; ang mitigation ay UTC scheduling policy at explicit environment checks.
- Silent partial writes: pumasa ang parse ngunit nabigong magsulat downstream; ang mitigation ay transactional persistence ordering at idempotent upserts.
- Security/context leakageAnumang tool-capable na agent path ay maaaring lumampas sa saklaw, kaya kailangan ang MCP-like least-privilege boundaries at explicit consent/auth assumptions, lalo na kung ang tool execution paths ay humahawak ng network resources Mga tala sa seguridad ng MCP.
Implementation notes
- Magpanatili ng isang worker command kada business task sa
scripts/at hayaang tumawag lang ang cron sa entrypoint na iyon. - Ilagay ang hash ng schema file sa run metadata para ma-audit ang parser expectations matapos ang model upgrade.
- I-set ang
set -euo pipefail-style behavior sa wrapper scripts at lagi mong isama ang run IDs sa mga pangalan ng log. - Magsulat ng tatlong checkpoints sa logs:
started,codex_result_parsed,artifact_persisted. - Gamitin ang
NALY_LOG_ROOTupang ang runtime traces ay hindi makapag-contaminate sa repository state at manatiling buo sa restart contexts. - I-persist ang
attempt,exit_code,retry_reason, atvalidation_errorsupang payagan ang GST at audit dashboards na paghiwalayin ang flaky infra sa totoong model regressions.
Mga Sanggunian
- Codex CLI | OpenAI Developers
- OpenAI Codex repository
- Structured Outputs | OpenAI API
- Model Context Protocol specification
- crontab(5) manual page
- flock(1) manual page
- Towards a Science of AI Agent Reliability
- ToolPRM: Fine-Grained Inference Scaling of Structured Outputs for Function Calling
- SLOT: Structuring the Output of Large Language Models